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

Операция присваивания

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

var     A, B: real;     N : integer;     . . .     N := 100;     B := -3.7;     N := N+1;     A := 2*B/0.5;

В качестве символа присваивания используют “:=”. Оператор выполняется в соответствии с базовой операцией присваивания: вычисляется значение выражения, стоящего справа от символа присваивания, после чего переменная, указанная в левой части оператора, получает вычисленное значение.

Приоритет операций

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

  • унарная операция not, унарный минус -, взятие адреса @

  • операции типа умножения:  *  /  div  mod  and

  • операции типа сложения:  +  -  or  xor

  • операции отношения:  =  <>  <  >  <=  >=  in

Порядок выполнения операций переопределить можно с помощью скобок. Например 2*5+10 равно 20, но 2*(5+10) равно 30.

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

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

var     A, B: real;     N : integer;     . . .     N := 100;     B := -3.7;     N := N+1;     A := 2*B/0.5;

В качестве символа присваивания используют “:=”. Оператор выполняется в соответствии с базовой операцией присваивания: вычисляется значение выражения, стоящего справа от символа присваивания, после чего переменная, указанная в левой части оператора, получает вычисленное значение. При этом надо соблюдать совместимость типов (см. 2.5.2.). Подчеркнем, что в операторе присваивания слева всегда стоит переменная, а справа - выражение. Выражение представляет собой константы, переменные, функции, объединенные знаками операций. Частным случаем выражения является просто константа, переменная или вызов функции. Тип такого выражения совпадает с типом операнда. В более общем случае, если выражение состоит из нескольких операндов, его тип определяется типом операндов и видом операций. Примеры выражений:

175 I Sin(X) + 2.5 / Y

Поясним смысл некоторых операций на примере:

var     X: real;     Y: integer;     . . .     X := 1/2;     X= 0.5;     Y := 1 Div 2;     Y= 0;     Y := 1 Mod 2;     Y= 1;     ! Y := 1/X; {Запрещенная операция, т.к. тип выражения real, а тип переменной – integer}

В Паскале отсутствует операция возведения в степень, однако это ограничение преодолевается использованием известного соотношения:

Приведем примеры правильных выражений в операторах присваивания:

var     X, Y: real;     I, J, A, B: integer;     F : boolean;     . . .     A := Trunc(8.87) Div 3;     { A= 2}     F := Succ( Odd(19));     { F= FALSE}     X := +7.69;     Y := -3.4;     I := Trunc(X); { I = 7 }     J := Trunc(Y); { J = -3}     I := Round(5.75); { I = 6}     J := Round(-7.5); { J = -8}     Y := Exp(1.0/3.0 * Ln(X));