Similar presentations:
Алгоритмы и элементы программирования. Алгоритмы исследования элементарных функций
1.
Раздел 3 Алгоритмы и элементы программированияГлава 3.1 Алгоритмы и структуры данных
Тема 3.1.1 Алгоритмы исследования элементарных функций
2.
Алгоритм — конечная совокупностьточно
заданных
правил
решения
произвольного класса задач или набор
инструкций, описывающих порядок действий
исполнителя для решения некоторой задачи.
3.
Свойства алгоритмовДискретность — алгоритм должен
представлять процесс решения задачи как
последовательное выполнение некоторых
простых шагов. При этом для выполнения
каждого шага алгоритма требуется конечный
отрезок времени, то есть преобразование
исходных данных в результат осуществляется
во времени дискретно.
4.
Свойства алгоритмовПонятность — алгоритм должен
включать только те команды,
которые доступны исполнителю и
входят в его систему команд.
5.
Свойства алгоритмовМассовость (универсальность).
Алгоритм должен быть применим к
разным наборам начальных данных.
Результативность — завершение
алгоритма определёнными
результатами.
6.
Свойства алгоритмовДетерминированность (определённость).
В каждый момент времени следующий шаг работы
однозначно определяется состоянием системы.
Таким образом, алгоритм выдаёт один и тот же
результат (ответ) для одних и тех же исходных
данных.
7.
Свойства алгоритмовЗавершаемость (конечность) — в более узком
понимании алгоритма как математической функции,
при правильно заданных начальных данных
алгоритм должен завершать работу и выдавать
результат за определённое число шагов.
8.
Способы задания алгоритмовСловесный (запись на естественном языке)
Графический (изображения из графических символов)
Псевдокод
(полуформализованное описание алгоритмов на
условном алгоритмическом языке, включающее в себя как элементы
языка программирования, так и фразы естественного языка,
общепринятые математические обозначения и др.)
Программный (тексты на языках программирования)
9.
Пример словесного способа задания алгоритмаАлгоритм Евклида (нахождения (НОД) двух натуральных
чисел)
1) Задать два числа.
2) Если числа равны, то взять любое из них в качестве
ответа и остановиться, в противном случае продолжить
выполнение алгоритма.
3) Определить большее из чисел.
4) Заменить большее из чисел разностью большего и
меньшего из чисел.
5) Повторить алгоритм с шага 2.
10.
Графический способВиды блоков в блок-схеме
Пуск-останов (начало/конец
алгоритма/подпрограммы
Вычислительное действие или
последовательность действий
Проверка условия
Ввод/вывод переменных
11.
Следование— алгоритмическая конструкция, отображающая
естественный, последовательный порядок действий. Алгоритмы, в
которых используется только структура «следование», называются
линейными алгоритмами.
12.
ПримерДан фрагмент линейного алгоритма:
х=2
у=х*х
У=У*У
х=у*х
s=x+y
Выясним, какое значение получит
переменная s после выполнения этого фрагмента
алгоритма. Для этого составим таблицу значений
переменных, задействованных в алгоритме:
13.
Ветвление — алгоритмическая конструкция, в которой в зависимости отрезультата проверки условия («да» или «нет») предусмотрен выбор
одной из двух последовательностей действий (ветвей). Алгоритмы, в
основе
которых
лежит
структура
«ветвление»,
называют
разветвляющимися.
14.
ПримерАлгоритм определения принадлежности точки х отрезку [а, b]. Если точка х принадлежит
данному отрезку, то выводится ответ ДА, в противном случае — НЕТ.
15.
ПримерАлгоритм, в котором переменной У присваивается значение большей из трёх величин А, В
и С.
Пусть А = 10, В = 30 и С = 20.
Тогда процесс выполнения алгоритма можно представить в следующей
таблице:
16.
Пример.Алгоритм Евклида (нахождения (НОД) двух натуральных чисел)
Начало
Ввод
АиВ
нет
нет
Вместо
В: В-А
А>В
да
Вместо
А: А-В
А=В
да
Вывод
А=В
Конец
17.
ПримерАлгоритм решения линейного уравнения ax + b = 0.
18.
ПримерАлгоритм решения квадратного уравнения