Примеры: a:=2; a:=2+3; a:=b*2+1;
Неправильные примеры: a+1:=a; 2:=b+3;
Очень часто используется оператор вида a:=a+1; Он не содержит ошибки. Вначале берется старое значение переменной, к нему прибавляется единица, и результат записывается в опять в переменную a. Таким образом, этот оператор увеличивает значение переменной a на единицу.
Важно следить, чтобы все переменные, используемые в правой части оператора присваивания были определены к моменту вычисления оператора. В противном случае результат будет непредсказуем.
Существует два способа задать переменной значение: оператор присваивания и оператор ввода (read или readln).
Согласование типов в операторе присваивания. Общее правило таково: тип выражения в правой части оператора присваивания должен совпадать с типом переменной в левой части оператора присваивания. Т.е. если переменная имеет тип integer, то справа должно быть выражение, значение которого есть также целое число.
Арифметическое выражение– целочисленное арифметическое выражение состоит из переменных, констант, знаков операций, скобок и вызовов функций. Правила построения выражения очень похожи те, которые употребляются в математике, за исключением деления, для которого существуют две операции, обозначаемые ключевыми словами div и mod. Надо запомнить, что знак операции умножения * никогда не опускается в отличие от алгебры. Операции имеют обычный приоритет: умножение и деление выполняется раньше, чем сложение и вычитание. Вычисление функций (см. далее) выполняется еще раньше. В остальном операции выполняются слева направо. Для изменения порядка операций используются круглые скобки. Уровень вложенности скобок не ограничен.
Бинарные [1] Бинарные операции – имеющие два операнда, располагающиеся слева и справа от оператора
арифметические операции над типом integer
Операция
|
Обозначение
|
Пример
|
сложение
|
+
|
a+3
|
вычитание
|
–
|
c–d
|
умножение
|
*
|
2*3
|
деление нацело
|
div
|
a div 2
|
остаток от деления
|
mod
|
a mod 2
|
Деление на цело: 5 div 2 = 2, остаток от деления нацело: 5 mod 2 = 1
- 5 -
Пример:
Выражение в математической записи:
|
(a + 2b)(a - b)
|
(x + y) / 2
|
Выражение на Паскале (в целых числах):
|
(a+2*b)*(a–b)
|
(x+y) div 2
|
Кроме бинарных операций в Паскале используются унарные [2] Унарная операция – имеющая только один операнд.
операции – и + (в последнем особого смысла нет). Например, в выражении –2*(–a–b) минус перед переменной a является унарной операцией, а минус перед двойкой может рассматриваться и как унарная операция и как запись отрицательной константы.
Целочисленные типы языка ABC Pascal
Тип
|
Размер в байтах
|
Диапазон
|
integer
|
4
|
-2147483648 … 2147483647
|
byte
|
1
|
0 .. 255
|
word
|
2
|
0 .. 65 535
|
При выполнении оператора присваивания следует следить за тем, чтобы значение целочисленного выражения не вышло за допустимый диапазон целого числа. Например, если переменная a имеет тип word, то в операторе a:=512*128; произойдет ошибка, так как значение выражения является 65536, а это число больше верхней границы типа word. Отметим, что если бы переменная a описана как integer, то оператор a:=512*128; является допустимым. Без особой необходимости не следует использовать типы byte и word.
Консольный ввод/вывод – исторически самый «древний» способ диалога с компьютером. У первых ЭВМ консоль – это электрическая пишущая машинка, подключенная к компьютеру, печатающая на рулонной бумаге (как факс). Оператор мог вводить информацию в компьютер, завершая команду нажатием клавиши перевода строки (Enter). Компьютер отвечал, заставляя консоль печатать цифры и символы. Несмотря на простоту такого интерфейса [3] Интерфейс – в данном случае способ общения человека с компьютером.
, он весьма эффективен и до сих пор используется в самых современных операционных системах. В Windows-системах консоль обычно представляет текстовое окно шириной 80 символов, а высотой 25 символов [4] В системе ABC Pascal отдельное окно консоли появляется только при использовании модуля CRT.
. При достижении ввода или вывода последней строки все строки скроллируются на одну позицию вверх, а первая строка исчезает.
Операторы вывода – write и writeln выводят заданную информацию на консоль.
Читать дальше