Структурные схемы алгоритмов
Структурные схемы представляют алгоритм в наглядной графической форме. Действия алгоритма помещаются внутрь блоков, соединенных стрелками, показывающими очередность выполнения действий алгоритма. Приняты определенные стандарты графических изображений функциональных блоков:
q действия ввода – вывода данных помещают в блоках, имеющих вид параллелограмма,
q действия обработки информации помещают в блоках, имеющих вид прямоугольников,
q команды проверки условий — в блоках, имеющих вид ромбов,
q начало и конец алгоритма обозначают овалом.
Структуры алгоритмов
Алгоритмы строятся из некоторых основных структур, состоящих из отдельных базовых элементов. Можно выделить три структуры (конструкции): линейная (последовательная), разветвляющаяся и циклическая.
Действие 1 |
Действие 2 |
Действие 3 |
Рисунок. 7.1. Линейная структура алгоритма
Структура, обеспечивающая выбор между двумя альтернативами в зависимости от исходных данных, называется разветвляющейся или условной. Различают полное (см. рисунок 7.2) и неполное (см. рисунок 7.3) ветвления. В этой структуре присутствует блок условия, который имеет один вход и два выхода (истина и ложь). После проверки условия на каждой ветви располагается линейная структура.
Рисунок 7.2. Полная форма ветвления Рисунок 7.3. Неполная форма ветвления
Структура, обеспечивающая повторение линейных и условных структур в зависимости от входных данных и условия задачи, называется циклической (или циклом). Различают циклы с предусловием (проверка условия стоит перед началом действий рисунок 7.4) и циклы с постусловием (проверка условия стоит после выполнения действий рисунок 7.5).
Рисунок 7.4. Цикл с предусловием Рисунок 7.5. Цикл с постусловием
Кроме перечисленных структур существуют подчиненные команды или процедуры, предназначенные для выполнения повторяющихся действий с разными входными данными. Пример структурной схемы приведен на рисунке 7.6.
Рисунок 7.6. Пример структурной схемы алгоритма Евклида
Для записи внутри блоков действий используется естественный язык с элементами математической символики. В результате проверки условия возникают два возможных пути для продолжения алгоритма. Эти пути изображаются стрелками со знаками «+» и «-» (иногда пишут также «Да» и «Нет»).
Переход по стрелке со знаком «+» происходит, если условие истинно, а переход по стрелке «-», если условие ложно.
Схемы алгоритмов обладают большей наглядностью, чем словесная запись алгоритма. Однако эта наглядность быстро теряется при изображении большого алгоритма - в этом случае схема получается плохо обозримой.
При составлении алгоритмов следует учитывать начальные значения переменных, в которых будут накапливаться сумма или произведение, а также изменение переменной-индекса, т.е. порядкового номера значений последовательности чисел.
Задания:
Используя рассмотренные ранее структуры, создать следующие алгоритмы:
· Нахождение суммы последовательности чисел.
· Нахождение произведения последовательности чисел.
· Нахождение среднего значения последовательности чисел.
· Нахождение факториалов: n!, 2n!!, (2n+1)!! (раздельные алгоритмы и один – общий)
· Нахождение суммы всех положительных (отрицательных) чисел
· Нахождение максимального (минимального) значения последовательности чисел.
· Нахождение корней квадратного уравнения.