Операторы языка Turbo Pascal

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

1. Оператор присваивания: переменная (функция):=выражение.

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

2. Операторы ввода-вывода. Для работы с процедурами ввода-вывода предназначены два стандартных текстовых файла Input (для ввода) и Output (для вывода). Источником информации для файла Input является клавиатура, а приемником из файла Output - экран монитора. Для ввода информации предназначены процедуры READ(имя, переменная) и READLN (имя, переменная). Первым параметром является имя файловой переменной, которое должно быть связано с источником информации, если это имя не указано, то ввод данных осуществляется с клавиатуры. Процедура Readln после исчерпания списка ввода переходит к следующей строке, а процедура Read при исчерпании списка ввода свою работу заканчивает.

Для ввода информации используются процедуры Writeln (имя, выражение1: выражение2: выражение3) и Write(имя, выражение1: выражение2: выражение3). Первым параметром является имя файловой переменной, которое до обращения информации должно быть связано приемником информации, если это имя не указано, то вывод данных осуществляется на экран монитора. Выражение1 определяет само выводимое значение. Выражение2 определяет общее количество позиций, в которые выводится значение Выражения1. Выражение3 может присутствовать только, если значением Выражения1 является вещественное число. В этом случае выводимое значение преобразуется к естественной форме, и значение Выражения3 определяет количество позиций для изображения дробной части выводимого числа. Если Выражения2 и 3 не указываются, то для вывода выделяется минимально необходимое количество позиций, причем вещественные числа выводятся в форме с плавающей точкой, и количество позиций, отводимое под изображение мантиссы и порядка зависит от настройки компилятора.

3. Простой оператор. Простой оператор состоит из одной команды. По завершении оператора ставится символ «;»  Синтаксис простого оператора:

Оператор;

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

Общая схема составного оператора выглядит следующим образом:

Begin

Оператор1;

Оператор2;

…,

ОператорN;

End;

5. Оператор безусловного перехода. Оператор безусловного перехода предназначен для безусловной передачи управления оператору, которому предшествует метка. Синтаксическая диаграмма данного оператора выглядит следующим образом:

GOTO Метка;

Метка - идентификатор или целое число без знака от 0 до 9999. Все используемые метки перечисляются в разделе Label. Применение оператора безусловного перехода в языке Turbo Pascal является нежелательным, так как его присутствие нарушает структурную целостность и наглядность программы. Такую программу трудно читать отлаживать и модифицировать

6. Условный оператор. Предназначен для выбора одного из возможных вариантов обработки данных в зависимости от выполнения некоторого условия. Для организации условия в ТП используются две конструкции.

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

Допускается существование неполного (без ветви else) оператора.

Пример использования условного оператора (программа нахождения максимума из двух чисел):

Program Maximum;

Var a,b,max:integer;

Begin

         Readln(a,b);

         If a>b then max:=a else m:=b;

         Writeln(‘Максимум=’, max);

         Readln;

End.

2) Конструкция оператора варианта используется на случай произвольного числа альтернатив:

CASE Выражение of

Значение1: Оператор1;

Значение2: Оператор2;

ЗначениеN: Оператор N

ELSE Оператор M;

End;

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

7. Операторы цикла. Предназначены для организации многократного повторения действий, заданных оператором тела цикла. По способу организации таких повторений различают операторы цикла с заданным числом повторений (с параметром) и операторы цикла, управляемые условиями. В языке ТП определены один оператор цикла с параметром и два оператора цикла, управляемые условиями.

Оператор цикла с параметром используется в тех случаях, когда число повторений оператора тела цикла известно заранее. Данная конструкция оформляется следующим образом:

For Имя переменной:= Начальное значение To (Downto) Конечное значение Do Оператор тела цикла.

Имя переменной является параметром цикла, в качестве которой может использоваться простая переменная любого скалярного типа, описанная в текущем блоке. Диапазон изменения значений параметра цикла задается начальным и конечным значением, тип этих значений должен быть совместим с типом управляющей переменной. В случае использования служебного слова TO параметр меняется таким образом, чтобы порядковый номер каждого последующего значения был на единицу больше порядкового номера предыдущего. При использовании служебного слова DOWNTO порядковый номер каждого последующего значения меньше порядкового номера предыдущего. Оператор, записанный после служебного слова DO, является оператором тела цикла и выполняется один раз для каждого значения параметра в диапазоне между его начальным и конечным значением.

Рассмотрим пример реализации в программе циклической конструкции с параметром. Программа вычисляет количеств точек с целочисленными координатами внутри круга с заданным радиусом.

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

Оператор цикла с предусловием:

While Условие Do

Begin

Операторы тела цикла

End;

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

Оператор цикла с постусловием:

Repeat Оператор тела цикла Until  Условие.

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

8. Пустой оператор. Пустой оператор предназначен и используется для устранения противоречий между требованиями синтаксиса некоторых конструкций и семантикой реализуемых этими конструкциями фрагментов алгоритма. Пустой оператор не выполняет никаких действий и никак не обозначается. Его присутствие подразумевается в тех местах, где синтаксис требует присутствия оператора, а никаких действий выполнятся не должно. Например:

1) Для передачи управления на конец составного оператора можно использовать следующую конструкцию:

 begin

goto 3;

  3:

  …

end;

Здесь пустой оператор используется, потому что перед словом end метку поставить нельзя, так как по определению метка может стоять только перед оператором.

2) Конструкция Repeat until KeyPressed используется, когда нужно задержать выполнения программы до нажатия какой-либо клавиши. Эта запись была бы синтаксически неверной, если бы между служебными словами repeat и until не подразумевался пустой оператор.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: