Типовые структуры алгоритмов.ppt
- Количество слайдов: 22
ОСНОВЫ АЛГОРИТМИЗАЦИИ Определение алгоритма. Способы описания алгоритмов
• Алгоритмом называется некоторая конечная последовательность предписаний (правил), определяющая процесс преобразования исходных и промежуточных данных в результат решения задачи. Разрабатываемый алгоритм должен обладать следующими свойствами: массовостью, результативностью и детерминированностью (определенностью).
• Существуют различные способы записи алгоритмов, отличающиеся друг от друга наглядностью, компактностью, степенью формализации и другими показателями. Следует выделить следующие из них: словесный (записи на естественном языке), структурно-стилизованный (записи на алгоритмическом языке псевдокода), графический (изображение схем из графических символов). Наибольшее распространение получил графический способ записи алгоритмов. Графическая запись алгоритма должна выполняться в соответствии с государственным стандартом
ОСНОВНЫЕ СИМВОЛЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ ПОСТРОЕНИЯ БЛОК-СХЕМ Конфигурация и размер блоков, а также порядок построения блок-схем определяется ГОСТ 19. 701 -90.
Процесс Предопре деленный процесс Отображает функцию обработки данных любого вида (например, вычисление по формуле) Подпрограмма или функция пользователя
Решение (проверка выполнения условия) нет да Стрелка с ответом «да» определяет действия в случае истинности условия, вторая стрелка – в случае невыполнения условия
Граница цикла ZI i =1, 40 ZI i > 40 Данные (ввод-вывод) Состоит из двух частей. Отображает начало и конец цикла.
Начало алгоритма НАЧАЛО Конец алгоритма Конец
Типовые структуры алгоритмов По используемой структуре управления вычислительным процессом алгоритмы классифицируют следующим образом: - линейной структуры; - разветвляющейся структуры; - циклической структуры; - со структурой вложенных циклов; - смешанной структуры.
Алгоритм линейной структуры - это алгоритм, в котором все действия выполняются последовательно, друг за другом. Такой порядок действия называется естественным.
Алгоритм линейной структуры • Пример (Рисунок 1 ). Вычислить поверхность усеченного конуса: S = [(R+r) L + R 2 + r 2] и его объем V = (R 2 + r 2 + R r) h/3.
начало ввод R, r, H, L S = [(R+r)L + R 2 + r 2] V = (R 2 + r 2 + Rr)H/3 вывод S, V конец
Алгоритм разветвляющейся структуры – это алгоритм, в котором в зависимости от выполнения некоторого логического условия вычислительный процесс должен идти по одной из двух или нескольких ветвей.
Пример 2. Вычислить значение функции • Данная задача может быть решена в случае, если х не равен 0, у не равен нулю. Поэтому в алгоритме необходимо предусмотреть вывод информации для случая, когда вычисление невозможно. Такой вычислительный процесс можно описать следующим выражением : • вычислить Z = 1 / (x y), если x y <> 0 (ветвь1); • вывести "xy = 0", если x y = 0 (ветвь 2).
Пример 3 Вычислить значение функции z при заданном значении x по формуле:
начало ввод x, y ввод x нет да xy=0 нет z=1/(xy) x<=-1 да z=e-x да z=1 z=ln x вывод z вывод “xy=0” конец x<1
Алгоритм циклической структуры это алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий, называемых циклом. Использование циклов позволяет существенно сократить схему алгоритма. Различают циклы с заданным и неизвестным числом повторений, характеризующихся последовательным приближением к исходному значению с заданной точностью.
Пример 4 Вычислить значение функции при x, принимающем значения от xn = 0, 1 до xk = 1 с шагом h = 0, 1.
Алгоритм решения этой задачи требует десять раз вычислять и выводить значения y = Cos(2 x)/x при различных значениях аргумента х. Этот цикл с заданным числом повторений, которое определяется как n = [(xk - xn) / h]+1 (прямоугольные скобки означают целую часть от деления).
начало ввод xn, xk, h x=xn х = xn; xk; h y=cos(2 x)/x вывод x, y x=x+h да x<=xk нет конец x > xk конец
Пример 5 Определить значение k, при котором , где k=1, 2, . …
начало ввод x, k=1 да xk/k <= нет k=k+1 вывод k конец
Типовые структуры алгоритмов.ppt