Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VT_PAS1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
202.24 Кб
Скачать

Составной оператор

Понятие составного оператора в Паскале имеет очень важное значение. Это станет нам понятным совсем скоро. А пока ограничимся только его определением. СОСТАВНОЙ ОПЕРАТОР - это последовательность произвольных операторов программы, заключенная

в так называемые ОПЕРАТОРНЫЕ СКОБКИ

begin ... end

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

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

Условный оператор Паскаля очень похож на аналогичный оператор Бейсика. Его формат

IF <условие> THEN <оператор 1> ELSE <оператор 2>;

Здесь <условие> - любое логическое выражение; <оператор 1> выполняется, если оно истинно, а <оператор 2>, если оно ложно. Как и в Бейсике слово ELSE и <оператор 2> могут отсутствовать. Точка с запятой ставится один раз в конце оператора. Применение оператора иллюстрирует следующий фрагмент.

Var

x, y, max: real;

...

BEGIN

...

IF x>max

THEN y:=max

ELSE y:=x;

...

END.

Очень важно обратить внимание на то, что после слов THEN и ELSE допускается наличие ТОЛЬКО ОДНОГО оператора. Вот именно в таких случаях нам и потребуются составные операторы.

Рассмотрим пример. Требуется составить программу, которая вводит с клавиатуры целое число в диапазоне от нуля до 15 и преобразует его к шестнадцатиричной системе счисления. В шестнадцатиричной системе цифры от нуля до 9 обозначаются как и в десятичной, цифра 10 обозначается буквой А, 11 - В и т. д. При составлении программы для того, чтобы не использовать слишком много вложенных условных операторов учтем, что коды цифр и букв упорядочены следующим образом:

Десятичная система

0

1

2

9

10

11

15

Шестнадцатиричная система

0

1

2

9

A

B

F

Kод

48

49

50

57

65

66

70

Для преобразования данных типа CHAR в целое число предназначена функция Паскаля ORD, обратное преобразование целого числа в символ осуществляет функция СНR. Программа может выглядеть, например, так:

Program No3;

VAR

N, C : integer;

BEGIN

write('Введите целое число '); readln(N);

IF (N>=0) and (N<=15)

THEN begin

IF N<10

THEN C:=ORD('0')+N

ELSE C:=ORD('A')+N-10;

writeln('N=',CHR(C));

end

ELSE writeln('Ошибка!');

END.

Оператор выбора

Этот оператор имеет то же назначение, что и известный нам оператор языка Quick Basic - SELECT CASE. Его формат:

CASE <ключ> OF <список выбора> ELSE <оператор> END;

где <ключ> - имя какой-либо переменной, по значению которой будет осуществляться далее выбор одного из нескольких вариантов;

<список выбора> - одна или более конструкций вида <список констант>:<оператор>.

Следующий пример иллюстрирует действие этого оператора. В программе осуществляется ввод с клавиатуры произвольного символа; в том случае, если введены символы 'n', 'N' выводится слово 'Нет'. Если введены символы 'y', 'Y', то выводится слово 'Да'.

Program No4;

Var ch: Char;

BEGIN

Readln(ch);

CASE ch OF

'n’, ‘N': writeln('Нет');

'y’, ‘Y': writeln('Да');

ELSE

writeln('следовало ввести n, N, y или Y');

END;

END.

Заметим, что слово ELSE и следующий за ним оператор могут отсутствовать. Кроме того, еще раз обратим внимание, что в <списке выбора> каждому <списку констант> соответствует только ОДИН оператор. Если же необходимо выполнить несколько операторов, то их нужно объединять в СОСТАВНОЙ оператор.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]