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

  • 31.10.2019

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

1. Составной и пустой операторы

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

Турбо-Паскаль допускает произвольную глубину вложенности:
Begin
...
Begin
...
Begin
...
End;
End;
End;
Наличие; перед End - пустой оператор.

2. Операторы ветвлений

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

Условие – значение типа BOOLEAN или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за THEN, в противном случае выполняется блок операторов после ELSE, если он есть.

Условия могут быть вложенными и в таком случае, любая встретившаяся часть ELSE соответствует ближайшей к ней "сверху" части THEN.

Пример:
Var
A, B, C, D: Integer;
begin
A:=1;
B:=2;
C:=3;
D:=4;
If A > B Then
If C < D Then
If C < 0 Then
C:=0
{обратите внимание, что перед Else}
{пустой оператор ";"не ставится}
Else
A:=B;
end.
а могло быть и так:
If A > B Then
If C < D Then
If C < 0 Then
C:=0
Else
Else
Else A:=B

Рассмотрим программу, которая вводит произвольное целое число от 0 до 15 и выводит его в шестнадцатеричной системе:

Program Hex;
Var
Ch: Char;
N: Integer;
Begin
Write ("N = ");
Readln(N);
If (N >= 0) And (N <= 15) Then
Begin
If N < 10 Then
Ch:= Chr(Ord("0")+N)
Else
Ch:=Chr(Ord("A")+N-10);
End
Else
Writeln("Ошибка");
End.

3. Операторы повторений

For <переменная цикла>:=<начальное значение> To(DownTo) <конечное значение> Do <блок операторов>

Переменная должна быть целого или перечислимого типа. При исполнении цикла переменная цикла изменяется от начального до конечного значения с шагом 1. Если стоит to , то переменная увеличивается, если downto – уменьшается.

Условия выполнения цикла проверяются перед выполнением блока операторов. Если условие не выполнено, цикл For не выполняется. Следующая программа подсчитывает сумму чисел от 1 до введенного:

Program Summa;
Var
I, N, S: Integer;
Begin
Write("N = ");
Readln(N);
S:=0;
For I:=1 To N Do
S:=S + I;
Writeln ("Cумма = ", S)
End.

While <условие> Do <блок операторов>

Блок операторов будет исполняться, пока условие имеет значение true. Необходимо, чтобы значение условия имело возможность изменения при исполнении блока операторов, иначе исполнение цикла не закончится никогда (в DOS это приведет к зависанию компыютера). Если условие зарание ложно, блок операторов не исполнится ни разу.

Найдем машинное "эпсилон" для переменной типа Real:
Program Epsilondetect;
Var
Epsilon: Real;
Begin
Epsilon:=1;
While Epsilon + 1 > 1 Do
Epsilon: = Epsilon/2;
Writeln ("Эпсилон = ", Epsilon);
End.

Repeat <тело цикла> Until <условие>

Блок операторов независимо от значения условия будет выполнен хотябы один раз. Цикл заканчивается, если после очередного исполнения блока операторов условие имеет значение true.

Пример: программа запрашивает ввод одного символа и выводит его ASCII - код, пока не будет введен пустой символ:

Program Code;
Const
Cr = 13;
Var
Ch:Char;
Begin
Repeat
Readln (Ch);
Writeln (Ch," = ", Ord (Ch));
Until Ord (Ch) = Cr
End.

Case <ключ выбора> Of <список выбора> Else <оператор> End;

<ключ выбора> - выражение любого перечислимого типа,
<список выбора> - одна или более конструкций вида <значение ключа>:<блок операторов>.

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

2 2
*
Признаком конца работы служит ввод любого символа, отличного от +, -, /, *.

Программа:
Program Calc;
Var
Operation: Char; {Знак Операции}
X, Y, Z: Real;
Stop: Boolean;
Begin
Stop:= False;
repeat
Writeln; {Пустая Строка - Разделитель}
Write ("X, Y = ");
Readln (X,Y);
Write ("Операция: ");
Readln (Operation);
Case Operation Of
"+": Z: = X+Y;
"-": Z: = X-Y;
"*": Z: = X*Y;
"/": Z: = X/Y;
Else
Stop:= True;
End;
If Not Stop Then
Writeln("Z = ",Z);
Until Stop;
End.

Любому из блоков операторов списка может предшествовать не одно, а несколько значений выбора, разделенных запятыми.

Goto <метка>

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

Цели урока:

  • Образовательная : повторить с учащимися операторы языка программирования Паскаль. Развить навыки творческого подхода к решению разнообразных задач, умения выделять главное.
  • Развивающая : развивать способности учащихся анализировать, логически рассуждать; формировать мотивацию постановкой познавательных задач; способствовать формированию умений самостоятельно приобретать и осмысливать знания.
  • Воспитательная : проконтролировать усвоение знаний; сформировать навыки общения между учащимися; стимулировать работу учащихся; создать позитивное отношение к изучаемому материалу. Привить интерес к предмету.

Задачи: Увлечь учащихся созданием программ на языке программирования. Закрепить понятие об операторах.

Тип урока: закрепление пройденного материала.

Класс: 8 “Б”.

Дидактические материалы:

  • Тестирование;
  • Карточки с заданием;
  • Презентация;
  • План работы учащихся.

Оборудование урока: Интерактивная доска.

Наглядное пособие: слайд-шоу.

План урока:

1. Постановка цели урока. Организационный момент – 3 мин

2. Актуализация знаний (тестирование, - 10 мин; графический диктант 10 мин) - 20 мин

3. Решение заданий:

  • Задание 2, задание 3, задание 4, задание 5-10 мин
  • Задание – отдых (отгадывание ребуса) – 5 мин

4. Домашнее задание – 2 мин

Самостоятельная работа (инструктаж).

5. Подведение итогов урока. Выставление оценок – 5 мин

Ход урока

1. Организационный момент – 3 мин.

Ученикам раздаются карточки с заданием для отгадывания темы урока.

Вопросы к мини-игре “Отгадай тему”

1. Алгоритмом называется:

  1. последовательность точных команд приводящих к достижению поставленной цели (О)
  2. любая последовательность команд (А)

2. Алгоритмы, написанные на специальных языках, предназначенные для ввода в ЭВМ, называются...

  1. блок-схемами (Б)
  2. программами (П)

3. Блок-схемы – это...

  1. инструкции на языках программирования (И)
  2. специальные структуры в виде связанных линями блоков с командами (Е)

4. Блок со словом “НАЧАЛО” используется для обозначения

  1. начала программы (Р)
  2. связи блоков между собой (А)

5. Блок со словом “КОНЕЦ” используется для обозначения

  1. проверки условия (Е)
  2. конца программы (А)

6. Прямоугольник используется для обозначения

  1. выполняемых действий (Т)
  2. конца программы (З)

7. Ромб используется для обозначения

  1. проверки условия (О)
  2. выполняемых действий (А)

8. Линии используются для обозначения

  1. связи блоков (Р)
  2. конца программы (К)

9. Укажите знак присваивания

  1. : = (Ы)
  2. = (Я)

10. Для ввода и вывода в блок-схемах применяется..

  1. Параллелограмм (Я)
  2. Эллипс (И)

11. Укажите недопустимую операцию

  1. (10+7)/2 (С)
  2. 6 / 0 (З)

12. Извлечь квадратный корень нельзя из...

  1. положительного числа (И)
  2. отрицательного числа (Ы)

13. Недопустимо деление на...

  1. ноль (К)
  2. положительное число (Г)

14.Укажите выражение с присваиванием

  1. у=х+2 (О)
  2. у:=10+х (А)

15. Помощь вызывается нажатием...

  1. F1 (П)
  2. Esc (Б)

16. Быстрый запуск программы производится нажатием...

  1. CTRL+F10 (О))
  2. CTRL+F9 (А)

17.Создание нового файла программы с помощью меню осуществляется последовательным выполнением команд...

  1. F10 – File – Open (Р)
  2. F10 – File – New (С)

18. Выход из оболочки Паскаля с помощью меню осуществляется последовательным выполнением команд...

  1. F10 – File – New (И)
  2. F10 – File – Exit (К)

19. Отдельные команды отделяются друг от друга символом

  1. ; точка с запятой (А)
  2. " апостроф (Е)

20.Заголовок программы начинается служебным словом

  1. Program (Л)
  2. Write (М)

21.Раздел описания переменных начинается служебным словом

  1. Begin (И)
  2. var (Ь)

2. Актуализация знаний - тестирование (10 вопросов), графический диктант - 7 мин.

Задание 1. графический диктант.

Если высказывание истинно, рисуете прямую линию “-”, если ложно – изображаете домик “^”.

1. Алгоритм ветвления – это алгоритм, в котором выполнение команд зависит от выполнения условия.

2. Условие – это некое логическое выражение, принимающее только значение “Ложь”.

3. Функция Sqrt (x) – квадратный корень из x;

4. Ветка “минус” в Паскале обозначается оператором Then.

5. Оператором ветвления – является оператор Writeln.

6. Оператор читается, как “Если”.

7. integer – это вещественный тип данных?

8. Read – процедура ввода.

9. Логический оператор “and” читается как “или”.

10. Оператором называется простое предложение языка, которое определяет действие в процессе выполнения алгоритма в программе.

Ученики обмениваются тетрадями друг с другом. Проверяют тетради своих товарищей - ответы на доске.

Ответ: _ ^ _^ ^ _^ _ ^ _

Задание 2. Вычисли:

  1. Как обозначается раздел описания переменных?
  2. Назовите переменные? Какого они типа?
  3. Начало программы? Конец программы?
  4. Что означает оператор mod?

Задание 3. Вычислить значения выражений:

Задание 4. Перед вами таблица, соедините линиями зарезервированные слова и их обозначения (ответы)

Program <вещественный тип данных> <заголовок программы>;
Label <конец>; < раздел объявления меток>
Const <заголовок программы>; < раздел объявления констант>
Var <Остаток от целочисленного деления > <раздел объявления переменных>;
Begin < раздел объявления меток> <начало>;
End < раздел объявления меток> <конец>;
Sqr(x) <квадратный корень из аргумента> <возведение аргумента в квадрат>
Sqrt(x) <Целочисленное деление> <квадратный корень из аргумента>
A div B <возведение аргумента в квадрат> <Целочисленное деление>
A mod B <округляет значение вещественного типа до целого> <Остаток от целочисленного деления >
Round(x) <начало>; <округляет значение вещественного типа до целого>
Real < раздел объявления констант> <вещественный тип данных>

Задание 5. Запустить приложение Тест .

Отдохнём с пользой:

(отгадывание ребуса). Условие: составить из букв известный вам раздел информатики.

Ответ: программирование

Ответы: Начало, конец, вывод, Условие.

а) Результативность (грей - зуб - утка - тигр - в - н - о - с - т - ь);

(Самостоятельная работа учащихся – решение задач). Класс делится на два варианта:

Решение задач:

1 вариант

1. Program Funk;

Writeln (‘введите числа x’);

If x>0 then y:=sqr(x)+56х-1

Writeln (‘y=’, y);

2. Program primer2;

Var v, p,m: integer;

Writeln (‘введите v, m ’);

writeln (" Р ");

Writeln (‘введите числа x’);

Writeln (‘y=’, y);

2 вариант

1. program funct;

writeln(‘Введите x’);

if x >0 then y:= O x+56х else

writeln (‘у=’, у);

2 . Program primer2;

Var pi, r,S: integer;

Writeln (‘введите r’);

writeln (" S ");

Writeln (‘введите числа a);

Writeln (‘x’, x);

Закрепление урока.

Вопрос 1. Оператор в Паскале.
Ответы: (человек, работающий в должности оператора ЭВМ)

Вопрос 2. "Операнды" в Паскале.
Ответы: (данные, необходимые для выполнения оператора в Паскале)

Вопрос 3. Символ-разделитель операторов в Паскале.
Ответы: (точка с запятой)

Вопрос 4. Простые операторы в Паскале.
Ответы: (операторы, не содержащие никаких других операторов, называются простыми)

Вопрос 5. Группы операторов языка Паскаль:
Ответы: (простые и структурные)

Вопрос 6. К простым операторам относятся:
Ответы: (операторы присваивания, безусловный оператор, оператор вызова процедуры, пустой оператор)

Вопрос 7. Структурные операторы это:
Ответы: (конструкции, построенные из других операторов по строго определенным правилам)

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

Рефлексия (конверты со смайликами)

Вопросы:

  • Что вам запомнилось?
  • Довольны ли вы результатами?
  • Что вам удалось сделать на уроке?
  • Какие у вас были трудности при выполнении задания?
  • Как вы с ними справлялись?
  • Были ли вы успешны во время урока?

Подведение итогов урока. Выставление оценок

Инструктаж по домашнему заданию.

Спасибо всем участникам и гостям!

Желаю творческих успехов!

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

Глава 2. Операторы языка Паскаль Структурные операторы

Структурные операторы представляют собой конструкции, построенные из других операторов по строгим правилам. Их можно разделить на три группы: составные, условные и повтора. Применение структурных операторов в вашей программе очень часто просто незаменимо, потому что они позволяют программисту сделать его программу зависимой от каких-либо условий, например введенных пользователем. К тому же применяя операторы повтора вы получаете возможность обрабатывать большие объемы данных за сравнительно малый отрезок времени (это конечно же зависит и от процессора:)

Глава 2. Операторы языка Паскаль Составной оператор

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

Глава 2. Операторы языка Паскаль Условные операторы

Условные операторы предназначены для выбора к исполнению одного из возможных действий, в зависимости от некоторого условия (при этом одно из действий может отсутствовать). Для программирования ветвящихся алгоритмов в Турбо Паскале есть специальные операторы. Одним из них является условный оператор If. Это одно из самых популярных средств, изменяющих порядок выполнения операторов программы.

Он может принимать одну из форм:

If<условие>then<оператор1>

else<оператор2>;

If<условие>then<оператор>;

Оператор выполняется следующим образом. Сначала вычисляется выражение, записанное в условии. В результате его вычисление получается значение логического (булевского) типа. Если это значение – «истина», то выполняется оператор1, указанный после слова then. Если же в результате имеем «ложь», то выполняется оператор2. В случае, если вместо оператора1 или оператора2 следует серия операторов, то эту серию операторов необходимо заключить в операторные скобкиbegin…end.

Обратить внимание, что перед словом elseточка с запятой не ставится.

Пример 1. Составить программу, которая запрашивает возраст ребенка и затем выдает решение о приеме ребенка в школу (возраст³7лет).

If v>=7 then writeln(‘Принимаем в школу’)

Задание. Модифицировать данную программу, чтобы ограничить верхнюю границу приема в школу 16 годами.

Write(‘Введите возраст ребенка’);

If (v>=7) and (v<=16) then writeln(‘Принимаем в школу’)

else writeln (‘Не принимаем в школу’);

Пример 2. Даны два числа. Меньшее из этих чисел заменить суммой данных чисел, большее - произведением.

Var x, y,s,p: integer;

Write(‘Введите 2 числа’);

then begin y:=s; x:=p; end

else begin x:=s; y:=p; end;

writeln(‘x=’, x);

writeln(‘y=’, y);

Если оператор If обеспечивает выбор из двух альтернатив, то существует оператор, который позволяет сделать выбор из произвольного числа вариантов. Это оператор выбора Case. Он организует переход на один из нескольких вариантов действий в зависимости от значения выражения, называемого селектором.

Общий вид: Case k of

: <оператор1>;

: <оператор2>;

: <операторN>

else<операторN+1>

Здесь k– выражение-селектор, которое может иметь только простой порядковый тип (целый, символьный, логический). , … - константы того же типа, что и селектор.

Оператор Caseработает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна значению селектора, то выполняется оператор, стоящий за словомelse. Если же это слово отсутствует, то активизируется оператор, находящийся за границейCase, т.е. после словаend.

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

1. Выражение-селектор может иметь только простой порядковый тип (целый, символьный, логический).

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

3. Все константы в альтернативах должны быть уникальны в пределах оператора выбора.

Формы записи оператора:

Селектор интервального типа:

1..10: writeln(‘число в диапазоне 1-10’);

11.. 20: writeln(‘число в диапазоне 11-20’);

elsewriteln(‘число вне пределов нужных диапазонов’)

Селектор целого типа:

Пример 1. Составить программу, которая по введенному номеру дня недели выводит на экран его название.

Write(‘Введите номер дня недели’);

1: writeln(‘Понедельник’);

2: writeln(‘Вторник’);

3: writeln(‘Среда’);

4: writeln(‘Четверг’);

5: writeln(‘Пятница’);

6: writeln(‘Суббота’);

7: writeln(‘Воскресенье’)

elsewriteln(‘Такого дня нет’);

Пример 2. Составить программу, которая по введенному номеру месяца выводит на экран название времени года.

Write(‘Введите номер месяца’);

1, 2, 12: writeln(‘Зима’);

3, 4, 5: writeln(‘Весна’);

6, 7, 8: writeln(‘Лето’);

9, 10, 11: writeln(‘Осень’)

elsewriteln(‘Такого месяца нет’);

С помощью этого оператора переменные в Турбо Паскале могут получать свои значения программным путем (то есть не с клавиатуры). Формат:

<идентификатор (имя) переменной>:= <выражение>

Система сначала вычисляет значение выражения, затем присваивает его переменной.

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

Составной оператор – это последовательность любых операторов Турбо Паскаля, заключенная в операторные скобки begin и end. Например:

begin a:=5; write (‘a=’,a); end;

Среди операторов составного оператора могут быть другие составные операторы, то есть допускается любая глубина их вложения. Например:

    Операторы условного перехода.

Они существуют для организации ветвлений в зависимости от истинности или ложности некоторого условия. Таких операторов два: полный условный оператор и неполный условный оператор.

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

Реализует алгоритмическую конструкцию «полная развилка»:

Его формат:

if <логическое выражение> then <оператор 1> else <оператор 2>

If, then, else – служебные слова «если», «тогда», «иначе». Перед словом else точка с запятой не ставится. Оператор 1 и оператор 2 могут быть как простыми операторами, так и составными. Составной оператор следует заключать в операторные скобки begin и end.

Действия условного оператора: если логическое выражение имеет значение true, то выполняется оператор 1, если логическое выражение имеет значение false, то выполняется оператор 2.

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

Реализует алгоритмическую конструкцию «неполная развилка»

Его формат:

if <логическое выражение> then <оператор >

If, then – служебные слова «если», «тогда». Оператор может быть как простыми оператором, так и составным.

Действия условного оператора: если логическое выражение имеет значение true, то выполняется оператор, если логическое выражение имеет значение false, то условный оператор пропускается и выполняется оператор, следующий за ним.

Условные операторы (полный и неполный) могут иметь вложенную конструкцию, то есть после слов THEN или ELSE опять используется условный оператор. Служебное слово ELSE всегда относится к ближайшему слева слову THEN.

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

Замечание: после слова THEN не может сразу записываться новый условный оператор, а после ELSE – может. Например:

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

if ((x>3) and (y>3) and (z>3)) then ...

    Операторы организации цикла.

Цикл – это многократно повторяемый участок программы. Для организации цикла в Паскале используются три оператора: оператор с предусловием, оператор с постусловием и оператор с параметром.

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

Этот оператор реализует блок-схему цикла с предусловием:

Его формат:

While <логическое выражение> Do <тело цикла>

While («пока»), Do («делать») - служебные слова.

Действия оператора: пока логическое выражение имеет значение true, выполняется тело цикла; как только логическое выражение принимает значение false, действие оператора заканчивается и выполняется оператор, следующий за ним. Значение логического выражения проверяется перед телом цикла. Если логическое выражение ложно с самого начала, то тело цикла сразу опускается.

Если тело цикла содержит последовательность операторов, то говорят, что оно образует составной оператор, в начале и в конце которого надо писать операторные скобки Begin и End.

Если же тело цикла - один оператор (не составной), то операторных скобок не требуется. Тогда транслятор считает, что тело цикла заканчивается на ближайшем знаке «;». В Паскале нет специальных слов для обозначения начала цикла и конца цикла. На все случаи есть универсальные слова Begin и End.

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

Этот оператор реализует блок-схему цикла с постусловием:

Его формат:

Repeat <тело цикла> Until <логическое выражение>

Repeat («повторять»), Until («до тех пор») - служебные слова.

Тело цикла может быть как одиночным, так и составным оператором, однако употребления Begin и End не требуется, поскольку сами слова Repeat и Until выполняют роль операторных скобок.

Действия оператора: выполняется тело цикла, затем проверяется значение логического выражения. Если логическое выражение имеет значение false, то опять выполняется тело цикла. Так продолжается до тех пор, пока логическое выражение не примет значение true. То есть тело цикла повторяет свое выполнение, если условие ложно. Повторение кончается, когда условие станет истинным. Действие оператора заканчивается и выполняется оператор, следующий за ним. Значение логического выражения проверяется после тела цикла.

Замечания:

    Перед каждым выполнением тела цикла логическое выражение должно иметь конкретное значение.

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

    В конце концов логическое выражение должно принять значение, заканчивающее цикл.

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

Этот оператор реализует блок-схему цикла со счетчиком. Его формат:

for <параметр цикла>:= <арифметическое выражение 1> to <арифметическое выражение 2> do <тело цикла>

for < параметр цикла >:= < арифметическое выражение 1> downto < арифметическое выражение 2> do <тело цикла>

Параметр цикла – это переменная любого типа, кроме real.

Арифметические выражения 1 и 2 должны иметь тот же тип, что и параметр цикла. Тело цикла – любой оператор Паскаля (простой, сложный, составной).

Действия оператора: параметру цикла присваивается значение арифметического выражения 1. Если оно меньше (для for - to - do ) или больше (для for - downto - do ) значения арифметического выражения 2, то выполняется тело цикла. Затем параметр цикла увеличивается (уменьшается) на величину, указанную в теле цикла. Потом он снова сравнивается с арифметическим выражением 2. И так до тех пор, пока параметр цикла не станет больше (меньше) значения арифметического выражения 2. Далее оператор цикла заканчивает работу и выполняется следующий за ним оператор.

Если параметр цикла имеет тип integer, то при слове to шаг изменения параметра равен единице (при downto шаг равен -1).

Этот оператор имеет ограниченное применение, то есть его можно использовать только в тех случаях, когда известно число повторений тела цикла

Под операторами в языке Паскаль подразумевают только описание действий. Операторы отделяются друг от друга только точкой с запятой. Если оператор стоит перед end, until или else, то в этом случае точка с запятой не ставится.

Оператор присваивания

Общий вид:

v : = a;

здесь v – переменная, a – выражение, := - операция присваивания. Выражение a может содержать константы, переменные, названия функций, знаки операций и скобки.

Пример . f:= 3 * C + 2 * sin(x);

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

  1. *, /, div, mod, and;
  2. +, -, or;
  3. =, <, >, <>, <=, >=, in.

Любое выражение в скобках вычисляется раньше, чем выполняется операция, предшествующая скобкам.

Присваивание допускается для переменных всех типов, за исключением типа файл.

В операции v:= a переменная v и выражение a должны иметь один и тот же тип, а для интервального типа – одно и то же подмножество значений.

Примечания. Разрешается присваивать переменной типа real выражение типа integer. Нельзя присваивать переменной типа integer выражение типа real.

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

Если при некотором условии надо выполнить определенную последовательность операторов, то их объединяют в один составной оператор.

Составной оператор начинается ключевым словом begin и заканчивается словом end. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После end ставится точка с запятой, а после begin – только пробелы (либо комментарий).

Пример .

begin i : = 2 ; k : = i / 5 end ;

Слова begin и end играют роль операторных скобок. Тело самой программы также имеет вид составного оператора. После последнего end программы ставится точка. Нельзя извне составного оператора передавать управление внутрь него.