Оператор if

Begin

Составной оператор

Составные операторы задают последовательный порядок выполнения операторов, являющихся их элементами (как и в разделе операторов: слева-направо, сверху-вниз). Составные операторы обрабатываются, как один оператор, что имеет решающее значение там, где синтаксис языка Pascal допускает использование только одного оператора.

Синтаксис составного оператора:

Опер1;Опер2;...

...

ОперN;

End;

Оператор позволяет организовать ветвление в программе.

Синтаксис оператора if:

if лог_выражение then оператор1 [else оператор2];

Если результатом выражения является значение False и присутствует ключевое слово else, то выполнятся оператор, следующий за ключевым словом else (оператор2). Если ключевое слово else отсутствует, то управление передаётся на следующий оператор, минуя оператор, следующий за ключевым словом then (оператор1).

Замечания:

§ Результат вычисления лог_выражение должен, иметь логический тип (boolean). Если результатом выражения является истинное значение (Тrue), то выполняется оператор, следующий за ключевым словом then (оператор1).

§ Следует обратить особое внимание на то, что после ключевых слов then и else согласно синтаксису может находиться только один оператор.

Рисунок 2 – Блок-схема оператора ветвления:
a) полная форма (с ветвью else); b) сокращённая форма (без ветви else)

В качестве примера использования оператора if приведём решение следующей задачи: Даны три числа. Найти и вывести максимальное из них и среднеарифметическое двух оставшихся.

Для трёх различных входных значений количество разветвлений алгоритма также равно трём. После ввода данных (рис. 3, блок 2) в блоке 3 проверяется условие максимальности значения в переменной а. Если условие верно, т. е. из трёх значений а является максимальным, то управление передаётся блокам 5 и 6. В противном случае остаётся два варианта: либо максимальным является значение в переменной b, либо – в переменной c. Блок 4 выполняет такую проверку и, в зависимости от результата, передаёт управление либо на блок 9 и далее на блок 10, либо на блоки 7 и 8.

В каждой из веток алгоритма вычисляется среднеарифметическое значение, которое и выводиться перед окончанием алгоритма в блоке 11.

Рисунок 3 – Блок-схема разветвлённого алгоритма

Реализация алгоритма в программе на языке Pascal:

program vetv;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: