Операции и выражения в языке Раscаl
Конструкция языка, задающая порядок выполнения действий над элементами данных, называется выражением. Выражение состоит из операндов (operand- элемент данных, участвующий в операции), - величин и выражений, над которыми производится операция: круглых скобок и знаков операций. Операции определяют действия, которые надо выполнить над операндами.
Операции в языке Раscаl подразделяются на арифметические, отношения, логические, строковые и др. Выражения соответственно называются арифметические, отношения, логические и т.д.
Основные арифметические операции, применяемые в Тuгbо Раscаl приведены в таблице 3.
Арифметические операции
Таблица 3
Операция | Действие | Тип операндов | Тип результата |
+ - * / Div Mod | Сложение Вычитание Умножение Деление Деление нацело Остаток от деления | Integer, real Integer, real Integer, real Integer, real Integer Integer | Integer, real Integer, real Integer, real Integer, real Integer Integer |
Пример: 9/4 =2.25; 9 div4 = 2; 9 mod 4=1.
Операции отношения выполняют сравнение двух операндов и определяют истинно выражение или ложно. Их результат - логический. Операции отношения приведены в таблице 4.
Операции отношения Таблица 4
Операция | Название | Выражение | Результат |
= <> > < >= <= in | Равно Не равно Больше Меньше Больше или равно Меньше или равно Принадлежность | А=В А<>В А >В А< В А>=В А <= В А in М | True, если А равно В True, если А не равно В True, если А больше В True, если А меньше В True, если А больше или равно В True, если А меньше или равно В True, если А находится в списке В |
Логические операции выполняются над логическими данными. Определены следующие логические операции (табл. 5).
Таблица 5
Логические операции
Операция | Действие | Выражение | А | В | Результат |
Not And Or Xor | Логическое отрицание Логическое И Логическое ИЛИ Исключающее ИЛИ | Not A A and B A or B A xor B | True False True True False False True True False False True True False False | True False True False True False True False True False True False | False True True False False False True True True False False True True False |
Вычислите выражений производится по следующим правилам:
1, Запись выражения производится в одну строку без каких-либо подстрочных или надстрочных знаков с использованием только круглых скобок.
2. Выполняются операции внутри скобок. Если имеемся несколько пар скобок, вычисления начинаются с самых внутренних.
3. Порядок вычислений внутри скобок определяется приоритетом (старшинством) операции:
а) вычисление значений функций;
б) not;
в) возведение в степень;
г) операции типа умножения (*, /, div, mod, and);
д) операции сложения ( + , -, or, хоr);
е) операции отношения.
Операция, имеющая высший приоритет выполняется первой.
4. При наличии нескольких операций одного приоритета, вычисления выполняются слева направо.
В Тuгbо Раscаl определены стандартные функции над арифметическим операндами (таблица 6)
Примеры:
tg(x) = sin(x) / cos(x); round(6.8) = 7;
arсcos(x) = arctan(sqrt(1-sqr(x)) / x); trunс(2.1) = 2;
arcsin(x) =arctan(x / sqrt(1-sqr(x))); trunc(6.8) = 6;
logb a = ln(a) / ln(b); frac(2.1) = 0.1
int(1.3) = 1; frac(6.8) = 0.8;
int(-1.3) = -1; odd(3) = true;
round(2.1) = 2; odd(2) = false;
Стандартные арифметические функции
таблица 6
Действие | Обозначение | Тип аргумента | Тип результата |
Модуль числа | Abs (x) | Integer, real | Integer, real |
Синус | Sin (x) | Integer, real | real |
Косинус | Cos (x) | Integer, real | real |
Арктангенс | Arctan (x) | Integer, real | real |
π | Pi (x) | real | |
ех | Exp (x) | Integer, real | real |
Натуральный логарифм | Ln (x) | Integer, real | real |
Десятичный логарифм | 0.4343*Ln (x) | Integer, real | real |
х2 | Sqr (x) | Integer, real | Integer, real |
Sqrt (x) | Integer, real | real | |
Вычисление целой части числа | Int (x) | real | real |
Дробная часть числа | Frac (x) | real | real |
Округление числа х | Round(x) | real | integer |
Отсекание дробной части х | Trunc(x) | real | integer |
Возвращает значение равное true,если х нечетное, false, если х четное | Odd (x) | integer | boolean |
Генерация случайного числа от 0 до 1 | Random | _ | real |
Генерация случайного числа от 0 до n | Random (n) | integer | integer |
xn , x>0 | Exp(n*ln(x)) | Integer, real | Integer, real |
xn, x<0 | - Exp(n*ln(abs x))) | Integer, real | Integer, real |
ОПЕРАТОРЫ
Оператором называется предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить. Все операторы языка Раscаl можно разделить на две группы: простые и структурные.