Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метадичка по Информатике и Программированию.doc
Скачиваний:
10
Добавлен:
28.03.2015
Размер:
205.82 Кб
Скачать

3 Основные операторы языка паскаль

3.1 Среда turbo pascal

Среда Turbo Pascal объединяет редактор, компилятор, компоновщик и отладчик для создания, отладки и запуска Pascal-программ.

Основные компоненты: меню вверху, рабочий стол и строка состояния.

Команды из меню можно выбирать при помощи клавиатуры или при помощи мыши.

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

3.2 Операторы turbo pascal

Все операторы делятся на простые и структурные.

К простым операторам относят операторы присваивания, операторы процедуры и оператор goto.

Оператор присваивания изменяет текущее значение переменной на значение выражения, стоящего после знака присваивания «:=».

Пример.

X:=Y+Z;

Done:=( I >- 1 ) and ( I < 100 );

К структурным операторам относят составные, условные, операторы цикла, оператор присоединения (см. далее).

Составной оператор – последовательность операторов между словами begin и end. Символ «;» применяется для того, чтобы отделить друг от друга два оператора . Так как этот символ не является частью оператора, а только разделяет операторы, то между последним оператором и словом end он может отсутствовать.

Пример.

begin

Z:=X;

X:=Y;

Y:=Z

end;

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

В языке Pascal условный оператор начинается с ключевого слова if (если) и в общем виде выглядит так:

Выражение должно иметь стандартный тип boolean. Если выражение имеет значение True, то выполняется оператор, следующий за словом then. Если же выражение имеет значение False и часть else присутствует, выполняется оператор, следующий за словом else. Если часть else отсутствует, выполняется оператор, следующий за оператором if.

Пример.

if X<1.5 then

Z:=X+Y

else

Z:=1.5;

Обратите внимание! Перед else нет знака «.

Синтаксическая двусмысленность возникает в конструкции

if e1 then if e2 then s1 else s2 , так как часть else s2 может трактоваться как принадлежащая «внешнему» оператору if e1 или вложенному оператору if e2 then.

Эта двусмысленность разрешается путем следующей интерпретации данной конструкции:

if e1 then

begin

if e2 then

s1

else

s2

end;

Правило: служебное слово else всегда ассоциируется с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else.

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

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

Пример.

case CurColor of

Red: X:=X+2;

Yellow: X:=Y-2;

Green: X:=Y

end;

CurColor – в примере это переменная перечислимого типа. Сначала вычисляется текущее значение переменной CurColor. Затем это значение сопоставляется (сравнивается) с константами, записанными перед операторами. При совпадении значения переменной с одной из констант будет выполнен оператор, помеченный данной константой. На этом выполнение оператора будет завершено. Если значение переменной CurColor не совпадает ни с одной из констант, то данный оператор не выполняет никаких действий. Для того, чтобы задать некоторые действия для случая такого несовпадения, можно использовать альтернативу else:

Пример.

case (K+1)*2 of

2: Add(A,B);

4: Multiply(A,B);

0: Subtract(A,B)

else

writeln(‘ошибка!’)

end;

Кроме одиночных констант в альтернативах оператора варианта могут быть заданы списки и/или диапазоны значений, которые в этом случае разделяются символом «,».

Пример.

case Switch of

1..2: begin Proc1; Proc2; Proc3 end;

3,4,10..20: Proc4;

5,6: Proc5;

else

Proc6;

Proc7;

end;

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

1. Значения выражения-«переключателя», записанного после служебного слова case, должно принадлежать упорядоченному типу и иметь размер 1 байт или 1 слово.

2. Все константы, предшествующие операторам альтернатив, должны иметь тип, совместимый с типом выражения.

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

При необходимости задания нескольких операторов для каких-либо из альтернатив, следует сгруппировать их в составной оператор, в то время как ветвь else допускает последовательность операторов, разделенных символом «;».