Арифметические выражения и правила их записи
Арифметическое выражение представляет собой набор операндов, соединенных знаками арифметических операций, задающими действия над элементами данных и порядок их выполнения, и возвращает целое или действительное значение. Операндами могут являться константы, переменные и обращения к функциям.
Существует пять категорий операций, упорядоченных по убыванию старшинства:
1) – (унарный минус), @ - (взятие адреса объекта);
2) операция NOT;
3) операции типа умножения : *, /, DIV, MOD, AND, SHL, SHR (см. таблицу 4);
4) операции типа сложения: +, OR, XOR (см. таблицу 5);
5) операции сравнения: =, <>, >, <, >=, <=.
Таблица 4 – Операции типа умножения
Обозначение | Наименование | Тип операторов | Тип операндов |
* | умножение | real | real |
integer | integer | ||
real, integer | real | ||
/ | деление | real, integer | real |
DIV | целое деление | integer | integer |
MOD | остаток от деления | integer | integer |
AND | арифметическое И | integer | integer |
логическое И | boolean | boolean | |
SHL | сдвиг побитовый влево | integer | integer |
SHR | сдвиг побитовый вправо | integer | integer |
Таблица 5 – Операции типа сложения
Обозначение | Наименование | Тип операторов | Тип операндов |
+ | сложение | real | real |
integer | integer | ||
real, integer | real | ||
- | вычитание | real | real |
real, integer | real | ||
integer | integer | ||
or | арифметическое ИЛИ | integer | integer |
логическое ИЛИ | boolean | boolean | |
xor | арифметическое побитовое сложение по модулю 2 | integer | integer |
логическое исключающее ИЛИ | boolean | boolean |
Функция DIV возвращает целую часть от деления числа нацело, а функция MOD – остаток от деления.
Например,
56 DIV 5 = 11 – выделяет целую часть полученного частного;
56 MOD 5 = 1 – выделяет остаток от деления нацело. В арифметических выражениях могут использоваться стандартные функции, представленные в таблице 6.
Таблица 6 – Стандартные функции языка Паскаль
Математическая запись | Запись на Паскале | Примечание |
Sin x | Sin(X) | |
Cos x | Cos(X) | |
Ln x | Ln(X) | x>0 |
Sqrt(X) | ||
Exp(X) | ||
Sqr(X) | ||
Arctg x | Arctan(X) | |
Abs(X) |
tg(x) = sin(x)/cos(x)
ctg(x) = cos(x)/sin(x)
Аргументами этих функций могут быть данные любых числовых типов. Кроме них, при решении задач можно использовать следующие функции [3]:
получение целой части:
§ Trunc(X) – результат имеет целочисленный тип;
§ Int(X) – результат имеет вещественный тип;
получение дробной части: Frac(X) – результат вещественного типа;
округление до целого: Round(X) – результат имеет вещественный тип;
Pred(X)–возвращает элемент, предшествующий X в списке значений типа. Тип результата совпадает с типом параметра;
Succ(X)–возвращает значение, следующее за X в списке значений типа. Тип результата совпадает с типом параметра.
получение значения случайного числа:
§ Random– генерирует случайное значение из диапазона 0..0.99, результатимеет вещественный тип;
§ Random(X) – генерирует случайное значение из диапазона от 0 до х, результатимеет целочисленный тип.
§ Randomize -- процедура используется для обновления базы генерации.
Для определения четности/нечетности числа используется функция ODD. Ее аргументом может быть переменная только целого типа.
ODD(X) – возвращает значение булевского типа, равное True, если X – нечетное и False, если X – четное.
Например, ODD(3) – возвращает значение True, так как аргумент нечетный, ODD(4) – вернет значение False, ODD(2+7-1) – также вернет значение False.
Если в выражениях имеются нестандартные функции, они должны быть выражены через стандартные, используя правила математики.
Þ Þ
Þ Þ
Þ Þ
Þ Þ
Пример
Þ Þ Þ Þ
Лекция 3
Дата добавления: 2019-02-07; просмотров: 713;