Лекция7Алгоритм(2006).ppt
- Количество слайдов: 9
Алгоритм - последовательность действий, которые необходимо совершить над исходными данными с целью получения конечного результата. Исполнителем алгоритма может быть человек или ЭВМ. Алгоритм состоит из указаний, предписывающих исполнителю выполнять некоторые действия. Каждое такое указание называется командой. Способы описания алгоритмов: а) Словесный. б) Формульный. в) В виде блок-схемы. Алгоритм, составленный в виде блок-схемы, может быть понят любым программистом независимо от того, каким алгоритмическим языком программирования он владеет. г) В виде команд алгоритмического языка программирования.
Описание алгоритмов в виде блок-схемы Символы, используемые при построении алгоритма решения задачи Наименование 1 Символ начала или конца выполнения алгоритма 2 Символ ввода или вывода данных 3 Символ выполнения операции 4 Символ выбора направления выполнения алгоритма 5 Символ цикла Обозначение
Виды алгоритмов Существует три основных вида алгоритмов - линейные, разветвляющиеся циклические. Линейные алгоритмы Линейными являются алгоритмы, состоящие из серии простых команд. В линейных алгоритмах нет команд ветвления и повторения (цикла). Пример: Вычислить скорость, с которой спортсмен преодолел дистанцию. V=(d/1000)/((m*60+c)/3600) где V –скорость (км/ч), d –длина дистанция (м), m (мин) C (сек) } время прохождения дистанции.
Исполнение линейного алгоритма Решение: входные данные: d, m, c; выходные данные: V. Началo Введенные с клавиатуры числовые значения, запоминаются в ячейках d, m, c оперативной памяти Ввод d, m, c V=(d/1000)/((m*60+c)/3600) Выво д V Экран 23, 5 Микропроцессор производит арифметические операции с числами, взятыми из ячеек d, m, c. Полученный результат запоминается в ячейке V (присваивается V). Число из ячейки V выводится на экран. Конец Оперативная память d 10000 m c 25 V 30 23, 5
Разветвляющиеся алгоритмы • В разветвляющихся алгоритмах используются команды ветвления. • В команду ветвления входит условие, в зависимости от которого выполняется одна из двух серий команд. • Условие представляет собой вопрос, на который можно ответить «да» или «нет» . Нет Условие Да Команды 1 Команды 2
Решение: входные данные: a, b; выходные данные: Х. Область допустимых значений: a>=5; b<>10 Пример: Вычислить: Началo Экран Ввод a, b а<5 нет Деление на нуль 1, 5 Нет решени я да нет b=10 Делени е на нуль да Ввод a, b Конец Оперативная память a 14 b 10 12 X 1, 5
Циклические алгоритмы Циклом называется многократное повторение одних и тех же действий. В тело цикла входят блоки, выполняемые многократно j – счетчик ; m - начальное значение счетчика j; n - конечное значение счетчика j; k - шаг изменения счетчика j. j > n - условие выхода из цикла. j= m, n, k ТЕЛО ЦИКЛА Выход из цикла При каждом повторении к счетчику прибавляется шаг, а также происходит сравнение счетчика с его конечным значением. При j <= n еще раз выполняются команды, входящие в тело цикла. При j > n происходит выход из цикла
Исполнение циклического алгоритма Пример: Протабулировать функцию y=2/3*х*х , если аргумент х задан на отрезке [m, n] с шагом изменения k. Решение: Входные данные: m –начальное значение х, n –конечное значение х, k –шаг изменения х; выходные данные: x, y. Начало Экран Ввод m, n, k х=m, n, k x=12 y=96 x=13 y=1112, 7 x=14 y=130, 7 Конец x=15 y=150 y=2/3*x*x Выво д x, y Оперативная память m 12 n 15 k 1 x 15 14 13 12 y 130. 7 112, 7 150 96
Пример: Протабулировать функцию y=2/3*х*х , если аргумент х задан на отрезке [m, n] с шагом изменения k. Пояснение: Протабулировать функцию это значит - для каждого значения аргумента, заданного на определенном интервале с определенным шагом изменения, вычислить соответствующее значение функции. Решение: Входные данные: m, n, k; выходные данные: x, y. При m: =12; n: =15; k: =1 команды входящие в тело цикла будут выполняться 4 раза. 1) 2) 3) 4) y: =2/3*12*12 y: =2/3*13*13 y: =2/3*14*14 y: =2/3*15*15 (y: =96); (y: =112, 7); (y: =130, 7); (y: = 150); x: =12+1 x: =13+1 x: =14+1 x: =15+1 (x: =13); (x: =14); (x: =15); (x: =16). К параметру цикла х прибавляется шаг 1. При x<=15, выполняются команды, входящая в тело цикла. При x>15, происходит выход из цикла,
Лекция7Алгоритм(2006).ppt