Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория информатика.doc
Скачиваний:
89
Добавлен:
24.09.2019
Размер:
5.2 Mб
Скачать

12.4. Базовые алгоритмические конструкции

 

12.4.1. Базовая структура «следование» (линейная структура)

 

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

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

Базовая структура «следование» образуется последовательностью действий, следующих одно за другим. Это самый простой вид алгоритмов, его структура изображена на рисунке 12.4.1.

 

Рисунок 12.4.1. – Линейная базовая структура.

 

Пример 12.4.1. Составить алгоритм вычисления функции вида y=x+3z, для заданных значений x и z.

Схема алгоритма показана на рисунке 12.4.2.

В этом алгоритме вводятся значения x и z. Вычисляется значение функции по формуле y =x+3z и производится вывод полученного результата (значение y). В алгоритме нет разветвлений и повторений, все действия производятся в естественном порядке, следовательно, алгоритм имеет линейную структуру.

 

 

Рисунок 12.4.2. – Блок-схема алгоритма

вычисления функции вида y=x+3z.

12.4.2. Базовая структура «ветвление»

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

Базовая структура  «ветвление» обеспечивает выбор одного из альтернативных путей работы алгоритма в зависимости от результата проверки условия (да или нет).

Структура «ветвление» существует в трёх основных вариантах: если-то-иначе (рисунок 12.4.3.а); если-то (рисунок 12.4.3.б); выбор-иначе (рисунок 12.4.3.в).

При выполнении условия помещенного в символе «решение»,  поток управления направлен по ветви, которая обозначена словом «да» или знаком плюс, при невыполнении условия – по ветви, которая обозначена словом «нет» или знаком минус (рисунок 12.4.3.а и б). Ветвь «нет» может не содержать действий, в этом случае имеем неполное ветвление(рисунок 12.4.3.б).

 

Рисунок 12.4.3. – Базовая структура ветвление:

а) ветвление, б) неполное ветвление, в) многоальтернативный выбор.

 

Применение символа «решение» при разветвлении на число ветвей, большее двух называется – переключателем. От символа  «решение» выходит одна линия (рисунок 12.4.3.в) которая затем разветвляется на соответствующее число линий.

Возможные значения переключателя приводятся в  разрыве  линии  управления  через запятую,  при   этом   определяется   действие   для  данной  ветви (рисунок 12.4.5).

Если значение переключателя не совпадает ни с одним из перечисленных в ветвях значением, выполняется ветвь «иначе».

Ветвь «иначе» может отсутствовать, в этом случае при значении переключателя, не совпадающем с перечисленными в ветвях значениями, не выполняется никакого действия.

В алгоритме каждое значение переключателя может присутствовать только в одной из ветвей.

После выполнения действий в ветвях, линии управления объединяются с переходом к следующему элементу схемы.

Очень часто переключатель используется для организации работы меню.

Пример 12.4.2. Составить алгоритм решения квадратного уравнения ax2+bx+c=0.

Схема алгоритма показана на рисунке 12.4.4.

 

 

Рисунок 12.4.4 –Алгоритм вычисления корней  квадратного уравнения.

 

В этом алгоритме вводятся значения а, b и c. Вычисляется значение дискриминанта по формуле D=b2-4ac. Если дискриминант неотрицателен, уравнение имеет действительные корни (на ветке «да» вычисляются и выводятся значения действительных корней X1 и X2), в противном случае действительных корней нет (на ветке «нет» выводится соответствующее сообщение). Данный алгоритм имеет структуру «ветвление».

Пример 12.4.3. Составить алгоритм, который по номеру месяца n выводит название времени года соответствующего данному месяцу.

Схема алгоритма показана на рисунке 12.4.5.

В алгоритме вводится номер месяца n. В разрыве  линии  управления приводятся возможные значения n, при   этом   определяется   действие   для  данной  ветви,  например, при n=3, 4, 5 (март, апрель, май) требуется вывести слово «Весна».

            Ветвь «иначе» выполняется при значении переключателя n<1  или n>12 и приводит к выводу слова «Ошибка».

 

Рисунок 12.4.5. –Алгоритм задачи с многоальтернативным выбором.