Здавалка
Главная | Обратная связь

Тема: Представление алгоритма в виде блок-схемы

 

 

Любой самый сложный алгоритм можно составить, комбинируя различные алгоритмические конструкции, которые мы знаем.

Рассмотрим различные формы представления алгоритмов.

 

Пример. Процесс покупки хлеба в магазине.

1) взять у мамы деньги

2) пойти в магазин

3) выбрать хлебобулочные изделия

4) оплатить стоимость покупки

5) принести хлеб домой

 

Аналогично, в виде последовательности действий можно описать решения многих задач. Такое описание алгоритма естественным языком является словесной формой представления алгоритмов. Этот способ очень удобен, если требуется приблизительное описание сути алгоритма. Но он не всегда ясно и точно выражает идею.

Чаще всего алгоритм составляют (описывают) словесно, а затем, для его более наглядного представления, используют графическую форму – блок-схему. Блок-схема составляется из стандартных графических объектов:

название фигуры изображение обозначаемый шаг алгоритма
овал начало или конец алгоритма
параллелограмм ввод данных или вывод результата
прямоугольник выполнение действия
ромб проверка условия

 

Последовательность действий указывается с помощью стрелок, соединяющих фигуры, обозначающие шаги алгоритма.

Составим представление в виде блок-схемы различных алгоритмических структур.

 

    1. Линейный алгоритм.

Вопрос: какой алгоритм называется линейным?

Ответ: алгоритм, в котором команды выполняются последовательно друг за другом, называется линейным.

 

Рассмотрим алгоритм посадки дерева:

· выкопать в земле ямку

· опустить в ямку саженец

· засыпать ямку с саженцем землей

· полить саженец водой

 

С помощью блок-схемы данный алгоритм можно изобразить так, как показано на рисунке.

 

    1. Разветвляющийся алгоритм

Ситуация, когда заранее известна последовательность требуемых действий, встречаются крайне редко. В жизни часто приходится принимать решение в зависимости от сложившейся обстановки.

Вопрос: какой алгоритм называется разветвляющимся?

Ответ: форма организации действий, при которой в зависимости от выполнения некоторого условия совершается одна или другая последовательность шагов, называется ветвлением.

 

Разветвляющийся алгоритм имеет две формы представления: полную и неполную.

 

Рассмотрим каждую на примерах:

Пример 1. ЕСЛИ уроки выучены, ТО иди гулять, ИНАЧЕ учи уроки.

 

В виде блок-схемы это будет выглядеть следующим образом:

 

 

Пример 2. ЕСЛИ низко ласточки летают, ТО будет дождь.

В виде блок-схемы это будет выглядеть следующим образом:

В первом случае разветвляющийся алгоритм имеет полную форму, а во втором - неполную.

 

    1. Циклические алгоритмы

На практике часто встречаются задачи, в которых одно или несколько действий бывает необходимо повторить несколько раз, пока соблюдается некоторое заранее установленное условие.

Форма организации действий, при которой выполнение одно и той последовательности команд повторяется, пока выполняется некоторое заранее установленное условие, называется циклом (повторением). Алгоритм, содержащий циклы, называется циклическим алгоритмом или алгоритмом с повторениями.

 

Рассмотрим два варианта: условие поставлено в начале цикла, условие поставлено в конце цикла.

 

Пример 1. Рассмотрим алгоритм

1) смотрю телевизор вечером

2) если время меньше полуночи, то выполнить действие 1

3) если уже полночь, то завершаю просмотр

Блок-схема будет выглядеть следующим образом:

 

В данном случае выполнение условия приводило к продолжению работы цикла. Как только условие перестало выполняться, то работа цикла завершилась. Такой вид цикла называется ЦИКЛ с предусловием.

 

Пример 2. Рассмотрим алгоритм:

1) покрасим доску

2) если доски закончились, то завершаем работу

3) если есть еще доска, то перейти к ней и выполнить действие 1

 

Блок-схема будет выглядеть следующим образом:

В этом случае сначала выполняется действие, а затем проверяется условие и если оно не выполняется, то цикл продолжает работу. В случае выполнения условия, цикл завершает работу. Такой вид цикла называется ЦИКЛ с постусловием.


 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.