Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен 24.docx
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
173.84 Кб
Скачать

Вопрос 49. Операторы условного перехода

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

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

Оператор условия может быть записан и в упрощенной форме:

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

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

if а > 0 then b: = sqrt (a) else b: = a * 2; // Оператор условия if a = 10 then b: = b + 1; // Упрощенная форма

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

В отличие от других языков программирования в Object Pascal приоритет операций отношения меньше, чем у логических» операции, по этому отдельные составные части сложного логического выражения заключаются в скобки. Например, такая запись предыдущего оператора будет неверной: if a>b and b <> 0 then …// Ошибка так как фактически (с учетом приоритета операции) компилятор будет транслировать такую строку: if a> (b and b)<>0 then…

Вопрос 50.Операторы циклов

Pascal. Операторы цикла (WHILE, REPEAT, FOR)

Операторы цикла задают повторное выполнение определенных операторов.

Если число повторений заранее известно, то подходящей конструкцией является оператор for. В противном случае следует использовать операторы while или repeat.

Операторы цикла с последующим условием (REPEAT).

В операторе цикла repeat выражение, которое управляет повторным выполнением последовательности операторов, содержится внутри оператора repeat.

REPEAT

Внутренний оператор;

UNTIL логическое выражение;

Результатом выражения должен быть результат булевского типа.

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

Приведем примеры оператора repeat:

1)

repeat

K:=I mod J;

I:=J;

J:=K;

until J=O;

2)

repeat

Write (‘введите значение (0..9):’);

Readln (I);

until (I >=0) and (I <=9);

Операторы цикла с предварительным условием (WHILE).

Оператор цикла while содержит в себе выражение, которое управляет повторным выполнением оператора (который может быть составным оператором).

WHILE выражение DO

BEGIN

Внутренний оператор;

END;

Выражение, с помощью которого производится управление повторением оператора, должно иметь булевский тип. Вычисление его производится до того, как внутренний оператор будет выполнен. Внутренний оператор выполняется повторно до тех пор, пока выражение принимает значение True. Если выражение с самого начала принимает значение False, то оператор, содержащийся внутри оператора цикла while, не выполняется ни разу.

Примерами оператора цикла while могут служить:

а)

while Data[I] <> X do

I:=I + 1;

б)

while I > 0 do

begin

if Odd(I) then Z:=Z * X;

I:=I div 2;

X:=Sqr(X);

end;

в)

while not Eof(InFile) do

begin

Readln (InFile, Line);

Process (Line);

end;

Операторы цикла с параметром (FOR).

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

FOR управляющая переменная:=исходное значение

TO конечное значение

DO оператор

Если управляющая переменная пробегает значения от большего значения к меньшему, то форма записи имеет вид:

FOR управляющая переменная:=исходное значение

DOWNTO конечное значение

DO оператор