Программирование алгоритмов разветвляющейся структуры

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

Для программной реализации этого типа алгоритмов в языке можно использовать три оператора:

1. условный оператор (оператор условного перехода);

2. Оператор выбора (оператор варианта);

3. Оператор безусловного перехода.

Рассмотрим эти операторы подробнее.

Оператор безусловного перехода имеет вид:

Goto <метка>

Goto – зарезервированное слово (перейти на метку)

Метка в Турбо Паскале – это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него. В качестве меток допускается использовать целые числа без знака.

Метка располагается непосредственно перед помечаемым оператором и отделяется от него двоеточием.

Перед тем как использовать метку в программе она должна быть описана. Описание меток состоит из зарезервированного слова Label (метка), за которым следует список меток:

Label loop,lb1;

Begin

goto lb1;

loop: …

lb1: …

goto loop;

end.

Действие оператора goto состоит в передаче управления соответствующему меченому оператору.

Правила использования меток:

§ метка, на которую ссылается оператор goto, должна быть описана в разделе описаний;

§ метки описанные в процедуре (функции) локализуются в ней.

Условный оператор. Условный оператор позволяет проверить некоторое условие и в зависимости от результата проверки выполнить то или иное действие.

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

If <условие> then <оператор 1> else <оператор 2>;

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

If <условие> then <оператор 1>;

If, then, else – зарезервированные слова (если, то, иначе).

<условие> - выражение логического типа

<оператор 1>, <оператор 2> - операторы языка Турбо Паскаль

Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии. Простые условия записываются в виде равенств и неравенств. Сложные условия составляют из простых с помощью логических операций (and, or). Значением логического выражения является или True или False. В первом случае выполняется <оператор 1>, во втором – <оператор 2>. Допускается запись неполного условного оператора, без ветви Else. В этом случае при значении False никаких действий не производится.

Оператор выбора (оператор варианта). Условный оператор при выполнении программы позволяет выбрать одно из двух возможных действий. Если же необходимо выполнить много взаимоисключающих проверок, то удобнее воспользоваться оператором выбора.

Общий вид оператора:

Case <селектор> of

< список меток варианта >: <оператор1>;

< список меток варианта >: <оператор2>;

< список меток варианта >: <оператор3>;

Else

< операторN >

end;

Селектор представляет собой выражение скалярного типа (но не вещественного). Выполнение оператора варианта начинается с вычисления значения селектора. Затем для исполнения выбирается оператор, одна из меток которого совпадает с полученным значением. После выполнения этого оператора (он может быть простым или составным) управление передается на оператор, следующий за оператором варианта. Если же значение селектора не совпало ни с одной из меток, то выполняется оператор, стоящий после служебного слова Else.


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



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