При таком написании оператора может возникнуть синтаксическая неоднозначность: часть оператора ELSE a3 может быть отнесена как к внешнему оператору IF b1, так и к внутреннему IF b2. Эту двусмысленность можно разре-шить следующим путём:
IF b1 THEN a1 ELSE
BEGIN IF b2 THEN a2 ELSE a3 END;
Этот оператор работает следующим образом:
при истинности условия b1 выполняются операторы a1 и переход к следующему по программе оператору;
если условие b1 ложно, то при истинности условия b2 выполняются операторы a2. Если же условие b2 ложно, то выполняются операторы a3 и осуществляется переход к следующему по программе оператору.
Следует проявлять аккуратность при записи вложенных друг в друга условных операторов.
9.6. Оператор выбора.
С помощьюоператор выбора осуществляется ветвление программы по определённому признаку, то есть выполняется один из операторов ( простых или сложных ) из нескольких возможных.
CASE V OF N1: a1; N2: a2; . . . N10: a10 END; |
где: V – селектор ( выражение );
N1, N2,… N10 – константы перед операторами, к которым переходит выполнение программы;
a1, a2,… a10 – операторы ( простые или составные ), которые будут выполняться.
CASE ( X+Y ) OF
1: C:=B;
2: C:=SIN(X);
3: C:=COS(X+1);
4: C:=10;
5: C:=4
END;
Для выполнения выбирается тот оператор, константа перед которым совпадает со значением селектора ( X+Y ). На этом выполнение оператора выбора заканчивается. Естественно, все параметры ( X, Y, В ), входящие в опера-тор, должны быть определены заранее. Если значение се-лектора не совпадает ни с одной из предложенных конс-тант, то оператор не выполняет никаких действий.
Кроме одиночных констант можно использовать списки и даже диапазоны констант:
CASE ( X+Y ) OF
1,6: a:=B;
2: a:=SIN(X);
3: a:=COS(X+1);
4: a:=10;
5..10: a:=4
END;
Здесь при значении селектора ( X+Y ), равном 1 или 6, выполняется оператор a:=B.
Если значение селектора ( X+Y ) равно величине от 5 до 10 - выполняется оператор a:=4.
9.7. Операторы цикла.
Оператор цикла необходим для многократного повто-рения части программы при различных исходных данных. Повторяющиеся операторы называются телом цикла. Параметр, меняющийся по определённому закону при каж-дом повторении цикла, называется главной управляющей цик-лом.
В языке TURBO PASCAL существует несколько опера-торов цикла.
9.7.1. Цикл с параметром.
Ещё его называют ” жёсткий ” или”строгий цикл ” :
FOR I: =A1 TO A2 DO S; |
где: I - главная управляющая циклом; это параметр, меняющийся при каждом выполнении операто-ров цикла. Шаг изменения этого параметра ра-вен единице ( +1 ); то есть параметр I увеличи-вается;
A1 - начальное значение этого параметра;
A2 - конечное значение этого параметра;
S - тело цикла. Это оператор простой или сос-тавной в операторных скобках.
Все указанные параметры ( I, A1, A2 ) не могут быть действительного типа.
FOR I:=A1 DOWNTO A2 DO S; |
Для этого цикла справедливо всё, выше сказанное, но шаг изменения главной переменной циклом равен -1, то есть параметр I уменьшается.
Все элементы, входящие в оператор цикла ( I, A1, A2 ), должны быть описаны в описательной части программы.
Пример: Составить программу вычисления суммы нату- ральных чисел от 1 до 100.
PROGRAM SUM;
USES CRT, PRINTER;
VAR I, S :INTEGER;
BEGIN
CLRSCR;
S:=0;
FOR I:=1 TO 100 DO
BEGIN
S:=S+I
END;
WRITELN(’ S=’,S );
END.
Результат: S=5050
Пример для самостоятельной работы:
Вычислить функцию Y=X2 при Х , равном 2, 4, 6, 8, 10, 12.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.