- •Федеральное агентство по образованию
- •Государственное образовательное учреждение высшего профессионального образования
- •«Орловский государственный технический
- •Университет»
- •Учебно-научно-исследовательский институт информационных технологий
- •302030, Г. Орел, ул. Московская, 65
- •3 Основные операторы языка паскаль
- •3.1 Среда turbo pascal
- •3.2 Операторы turbo pascal
- •3.2.1 Условный оператор
- •3.2.2 Оператор варианта
- •3.2.3 Операторы цикла
- •3.2.3.1 Оператор цикла с параметром
- •3.2.3.2 Оператор цикла с предусловием
- •3.2.3.3 Оператор цикла с постусловием
- •4 Основные процедуры графического модуля
- •5 Объектно-ориентированная модель turbo pascal
- •5.1 Основные концепции ооп
- •5.1.1 Абстрактные типы данных. Инкапсуляция
- •5.1.2 Классы
- •5.1.3 Наследование
- •5.1.4 Полиморфизм. Раннее и позднее связывание
- •5.2 Динамические объекты
- •6 Задания к лабораторным работам
- •7 Контрольные вопросы
- •8 Содержание отчета
- •9 Список литературы
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 допускает последовательность операторов, разделенных символом «;».