Раздел 3.1.1. Арифметические операции.
К
арифметическим относятся
бинарные (применяемые к двум операндам) операции
+ - * / для вещественных и целых чисел,
бинарные операции
div и
mod для целых чисел и
унарные (применяемые к одному операнду) операции
+
и
- для вещественных и целых чисел.
Выражение, имеющее числовой тип, называется
арифметическим. Тип арифметического выражения определяется по следующему правилу:
если все операнды целые и в выражении отсутствует операция деления /,
то выражение имеет тип integer, в противном случае выражение имеет тип real. Например, если b имеет тип byte, а c имеет тип word, то выражения b+c , b-с или b*c имеют тип integer, а выражение b/c - тип real.
Операции DIV и MOD.
В Pascal есть операции целочисленного деления и нахождения остатка от деления. Применяются они для данных типа integer. При выполнении целочисленного деления (операция DIV) остаток от деления отбрасывается.
Например, 12 div 4 = 3; 19 div 5 = 3; 136 div 10 = 13, 27 div 10 = 2.
С помощью операции MOD можно найти остаток от деления одного целого числа на другое.
Например: 12 mod 3 = 0; 19 mod 5 = 4; 136 mod 10 = 6, 27 mod 10 = 7.
(другие действия над числовыми данными описаны ниже, в разделе
Раздел 3.5.1. Стандартные процедуры и функции.)
Раздел 3.1.2. Логические (булевы) операции.
К
логическим относятся бинарные операции
and,
or и
xor, а также унарная операция
not. Эти операции выполняются с использованием операндов типа boolean и возвращают значение типа boolean. Выражение, имеющее тип boolean, называется
логическим (булевым).
Выражения в программах могут конструироваться с помощью булевых операций. Эти операции используют понятия алгебры логики, разработанной британским математиком Джорджем Булем.
Операция
and – конъюнкция (логическое умножение, пересечение, &, ^,
"и")
. Выражение
a & b дает значение
true только в том случае, если
a и
b имеют значения
true, в остальных случаях –
false:
true and true = true
true & false = false
false ^ false = false
Операция or – дизъюнкция (логическое сложение, объединение, +, v, "или"). Выражение a + b дает значение false в том и только в том случае, если a и b имеют значения false, в остальных случаях – результат true:
true or true = true
true + false = true
false v false = false
Операция not – инверсия (логическое отрицание , ¬,
−, операция
"не"). Выражение not a имеет значение, противоположное значению a
:
not true = false
¬ false = true
Эти операции полезны, если нужно проверить сложное условие.
Раздел 3.1.3. Операции отношения (сравнения).
Операции отношения также являются логическими. Их можно использовать для проверки отношений между переменными: a
=d, x=y и т.д. Над данными типа real, integer, char, string можно выполнять следующие операции отношения (сравнения):
= равно;
<> не равно;
< меньше;
> больше;
<= меньше или равно,
>= больше или равно.
В операциях сравнения должны участвовать операнды одного типа. Исключение сделано только в отношении данных числовых типов real и integer, которые могут сравниваться друг с другом. Результат применения операции отношения к любым операндам имеет тип boolean.
Раздел 3.1.4. Строковые операции.
Основной операцией, применяемой к строковым и символьным операндам, помимо операций отношения <, >, <=, >=, =, <>, является операция конкатенации (“+“, слияния). Ее результат имеет строковый тип. Например, 'a'+'b'='ab' ('пол'+'нота'='полнота'). Поскольку строки могут содержать максимум 255 символов, и если сливаются строки суммарной длины больше 255 символов, то программа завершается сообщением об ошибке:
» Ошибка: произошло переполнение строки при выполнении операции "+".
(другие действия над строковыми данными описаны ниже, в разделе
Раздел 3.5.1. Стандартные процедуры и функции.)
Раздел 3.1.5. Операция @.
Операция @ применяется к переменной и возвращает ее адрес.
Раздел 3.2. Приоритет операций.
При записи программ используются выражения разного типа (логические, строковые, алгебраические).
В алгебраических выражениях используют арифметические операции (сложение, умножение, вычитание, деление), функции Pascal, круглые скобки. Приоритет определяет порядок выполнения операций в выражении. Первыми выполняются операции, имеющие высший приоритет. Операции, имеющие одинаковый приоритет, выполняются слева направо. Изменить порядок операций можно круглыми скобками, тогда в первую очередь выполняются действия в них.
@, not, &
|
1 (наивысший)
|
*, /, div, mod, and, shl, shr
|
2
|
+, -, or, xor
|
3
|
=, <>, <, >, <=, >=, in
|
4 (низший)
|
Порядок действий при вычислении значения выражения:
1) вычисляются значения в скобках;
2) вычисляются значения функций;
3) выполняется унарные операции (унарный минус — смена знака);
4) выполняются операции умножения и деления (в том числе целочисленного деления и нахождения остатка от деления);
5) выполняются операции сложения и вычитания.
Раздел 3.3. Операторы ЯП Pascal АВС.
Раздел 3.3.1. Оператор присваивания.
Как и во всех языках программирования, в
Pascal ABC имеется оператор присваивания. В некоторых языках, символом присваивания является знак равенства, однако для того, чтобы не путаться, оператор присваивания в Паскале выглядит так “ := “. Он служит для определения или переопределения значения переменной. В случае переопределения, новое значение переменной, записывается в ячейки с именем переопределяемой переменной, а прежнее значение стирается. Например:
a:=1000;
b:=5;
a:=a+b
Исходное значение переменной а – 1000, конечное 1005.
<предыдущая страница | следующая страница>