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

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

Формат оператора присвоювання:

  • ім’я_змінної := значення;
  • ім’я_змінної := вираз;
    • або
  • ім’я_константи:= значення;
  • ім’я_константи:= вираз;

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

Приклад:

  • x := 3 * c + 2 * Sqr(i);

Правила обчислення виразів.

Форма запису виразу однозначно визначає правила його обчислення: дії виконуються з ліва на право з дотриманням наступного старшинства операцій (в порядку зменшення пріоритету ):

Пріоритет обчислення у виразі:

  1. Унарні + та , not;
  2. *, /, div, mod, and;
  3. Бінарні + та , or;
  4. =, <>, <, >, <=, >=, in, =>.

У операторів є своя термінологія, яка використовується в усіх мовах програмування. Перш, ніж ми рушимо далі розглянемо кілька термінів, щоб розуміти, про що йдеться.

Операнд – те, до чого застосовується оператор. Наприклад: 5 * 2 – оператор множення з лівим і правим операндами. Інша назва: «аргумент оператора».

Унарний оператор – це оператор, який застосовується до одного операнду. Наприклад: оператор унарний мінус “-” змінює знак числа на протилежний:

Приклад:

  • x := 1;
  • x := -x;
    // -1, застосували унарний мінус

Бінарний оператор – це оператор, який застосовується до двох операндів. Той же мінус існує і в бінарній формі:

Приклад:

  • x := 2; y := 3;
  • z := x – y;
    // -1, застосували бінарний мінус

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

Зауваження:

  • присвоювання допускається для всіх типів змінних, за винятком змінних типу файл;
  • змінна і значення виразу в операторі присвоєння повинні належати до одного типу даних;
  • дозволено привласнювати змінної типу real значення висловлювання на кшталт integer (але не навпаки).