Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сессия2_Информатика_МУ_ЛАБ_теор.doc
Скачиваний:
3
Добавлен:
24.09.2019
Размер:
493.06 Кб
Скачать
  1. Разветвляющиеся вычислительные процессы

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

Организация разветвляющихся вычислительных процессов на языке Pascal осуществляется с помощью условного оператора и оператора варианта.

Условный оператор

В языке Pascal условие — это выражение логического типа (boolean), которое может принимать одно из двух значений: истина (true) или ложь (false).

Условный оператор позволяет проверить заданное условие и в зависимости от результатов выполнить то или иное действие, то есть условный оператор — средство ветвления вычислительного процесса. Формат записи:

if условие then оператор_1 else оператор_2 ;

Выполняется условный оператор следующим образом. Сначала проверяется условие. Если условие истинно (true), то выполняется оператор, следующий за словом then (или несколько операторов находящиеся между словами begin и end). Иначе выполняется оператор, следующий за словом else (или несколько операторов находящиеся между словами begin и end).

Блок-схема этого алгоритма показана на рисунке 1.

Рисунок 1

После инструкций, расположенных перед ключевым словом else, символ точки с запятой не ставится.

Если действие должно быть выполнено только при выполнении определенного условия и пропущено в случае его невыполнения, то оператор if записывается без альтернативной ветки else:

if условие then оператор_1;

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

Рисунок 2

Оператор варианта

Условий, по которым организуются ветвления в программе, может быть не два, а больше. Для множественного выбора служит оператор варианта case. В общем виде он записывается следующим образом:

case выражение of

константа_1 : оператор_1 ;

константа_2 : begin

оператор_2 ;

оператор_3 ;

end;

. . . . . .

константа_N : оператор_N ;

else оператор_K ;

end;

Выражение должно иметь целочисленный или символьный тип, а константы должны быть соответственно целочисленными или символьными.

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

Альтернативная ветка else может отсутствовать.

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

Блок-схема алгоритма, соответствующего оператора варианта case, показана на рисунке 3.

Рисунок 3