Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_Инф_Паскаль_1_2007.doc
Скачиваний:
7
Добавлен:
14.08.2019
Размер:
600.58 Кб
Скачать

6.7. Оператор безусловного перехода и безусловные функции

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

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

Goto(metka_1);

………

metka_1: <оператор>;

Метка, должна быть описана в разделе описаний.

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

6.7.2. Безусловные функции

Функция BREAK позволяет досрочно закончить цикл.

Функция CONTINUE позволяет начать новую итерацию цикла, даже если предыдущая итерация не была завершена.

Функция EXIT позволяет завершить работу текущего программного блока (самой программы или ее подпрограммы).

Функция HALT(n), где n – некоторое целое число, позволяет завершить работу программы с кодом завершения n.

6.8. Условный оператор if (если)

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

Формат записи оператора IF следующее:

IF условие THEN оператор_1

Else оператор_2;

Условие – значение типа BOOLEAN или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за THEN, в противном случае выполняется блок операторов после ELSE, если он есть.

Оператор IF – это один оператор, поэтому ";" после оператора_1, т.е. перед ELSE, не ставится.

Часть со служебным словом ELSE может отсутствовать. В этом случае выполняется или не выполняется только оператор_1.

IF условие THEN оператор_1;

Если с помощью оператора IF необходимо управлять группой операторов, то эта группа заключается в операторные скобки begin end;.

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

Рисунок 6.1 – Структурная схема условного оператора

Допустима вложенность операторов IF друг в друга на любую глубину. При этом важно не запутаться, какой ELSE к какому IF относится. В общем случае служебное слово ELSE связывается с ближайшим словом IF, которое еще не связано со служебным словом ELSE. Для удобства чтения и понимания логики программы записывайте ELSE под соответствующим ему IF.

6.9. Оператор выбора case (вариант из)

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

Для выбора одного из нескольких путей решения используется оператор Case (вариант из) – обобщение условного оператора. В общем случае формат записи оператора следующий:

CASE выражение OF

значения_1 : оператор_1;

значения_2 : оператор_2;

. . . . . . . . . .

значения_N : оператор_N;

ELSE оператор_M;

END;

Выражение записывается относительно специальной переменной выбора (селектора), которая может быть любого перечисляемого типа (как правило, Integer или Char).

Значения_1, . . . , значения_N – значения выражения, при которых выполняются оператор_1, ... , оператор_N соответственно.

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

После Else-части приводится оператор, который выполниться, если селектор принял значение, не принадлежащее ни одному из перечисленных значений.

Если Else-часть отсутствует, то оператор Case пропускается и выполняется следующий за ним оператор.

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

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

Рисунок 6.2 – Структурная схема оператора выбора