14.1 Выражения
Выражение — формальное правило вычисления нового значения. Выражения подразделяют на группы в зависимости от данных (переменных, констант, функций), входящих в эти выражения, например арифметические, логические, строковые и другие. Выражения состоят из операндов и знаков операций. Операндами являются данные. Операции обозначаются с помощью специальных символов, ключевых слов.
Арифметические выражения состоят из числовых переменных, констант и функций, а также знаков арифметических операций и круглых скобок. Правила записи арифметических выражений соответствуют алгебраическим правилам с некоторыми отличиями.
Арифметические операции обозначаются следующим образом:
«+» — сложение,
» -» — вычитание,
«*» — умножение (эти обозначения для целых и вещественных чисел),
«/» — деление целых или вещественных чисел (в результате получается вещественное число),
div – деление целых чисел (получается целая часть частного),
mod — остаток от деления целых чисел.
Порядок выполнения операций такой же, как в арифметике: первыми выполняются умножение и деление, операции с одинаковым приоритетом выполняются слева направо, для изменения приоритета используются круглые скобки.

Примеры арифметических выражений, используемых в операторах присвоения:
S:=Рi * R * R/2.0;
Func:=(а + Ь) * (а — Ь) / 2;
Spec:=Мах1 * Мin1 div (Мах1 + Мin1).
Пример программы:

При составлении арифметических выражений часто приходится использовать стандартные математические функции. Приведем список функций для PASCAL
| Обращение | Тип аргумента | Тип результата | Функция |
| Pi | — | R | Число л = 3.1415926536Е+00 |
| Abs (x) | I,R | I,R | Модуль аргумента х |
| Arctan(x) | I,R | R | Арктангенс х (радианы) |
| Cos(x) | I,R | R | Косинус х (х в радианах) |
| Exp(x) | I,R | R | ех — экспонента |
| Frac (x) | I,R | R | Дробная часть х |
| Int (x) | I,R | R | Целая часть х |
| Ln(x) | I,R | R | Натуральный логарифм х |
| Random | R | Псевдослучайное число в интервале [0, 1) | |
| Random (x) | I | I | Псевдослучайное число в интервале [0, х) |
| Round (x) | R | I | Округление до ближайшего целого |
| Sin(x) | I,R | R | Синус х (х в радианах) |
| Sqr(x) | I,R | I,R | Квадрат х |
| Sqrt(x) | I,R | R | Корень квадратный из х |
| Trunc (x) | R | I | Ближайшее целое, не превышающее х по модулю |
Логические выражения имеют значение типа boolean, т.е. true или false. Переменные и функции типа boolean могут связываться через следующие операции:
Not отрицание
And логическая И конъюнкция
Or логическая ИЛИ дизъюнкция
Xor исключающее ИЛИ
= Логическое равенство, элемент описания констант и типов
< > Логическое неравенство
< Отношение «меньше чем»
Отношение «больше чем»
<= Отношение «меньше или равно»
= Отношение «больше или равно»
Одноместная операция not возвращает значение истинности если переменная а: boolean имеет значение true, not а имеет Значение false. Другие операции соответствуют таблицам истинности. а and b тогда и только тогда имеет значение true, когда истинны (true) оба операнда, а or b истинно (true),если а или b или они оба истинны, а xor b истинно, если истинно а или b, но не оба операнда (исключающее ИЛИ).
Как уже говорилось, тип переменной позволяет не только устанавливать длину ее внутреннего представления, но и контролировать те действия, которые выполняются над ней в программе.
Контроль за использованием переменных еще на этапе компиляции программы — важное преимущество Турбо Паскаля перед другими языками программирования, в которых допускается автоматическое преобразование типов. В Турбо Паскале почти невозможны неявные (автоматические) преобразования типов. Исключение сделано только в отношении констант и переменных типа Integer (целые), которые разрешается использовать в выражениях типа Real (вещественные).
| Знак | Выражение | Типы операндов | Типы результатов | Операция |
| + | A+B | R,R I,I I,R R,I | R I R R | Сложение |
| — | A-B | R,R I,I I,R R,I | R I R R | Вычитание |
| * | A*B | R,R I,I I,R R,I | R I R R | Умножение |
| / | A/B | R,R I,I I,R R,I | R R R R | Вещественное деление |
| Div | A div B | I,I | I | Целое деление |
| mod | A mod B | I,I | I | Остаток от целого деления |
14.2 Операторы Паскаля
Операторы в языке Паскаль — это синтаксические конструкции, предназначенные как для записи алгоритмических действий по преобразованию данных, так и для задания порядка выполнения других действий. Операторы отделяются друг от друга символом «;» (точка с запятой); если за оператором следует слово END, то «;» можно не ставить.
Набор операторов языка Паскаль составляет минимальное множество конструкций, необходимых для наглядного и однозначного представления алгоритмов в стиле структурного программирования. Операторы можно разделить на следующие группы:
• оператор присваивания;
• составной оператор;
• пустой оператор;
• операторы процедур;
• операторы перехода;
• операторы циклов;
• оператор для записей.
14.3 Оператор присваивания
Оператор присваивания используется для обозначения операции присвоения переменной значения в соответствии с ее типом; например, переменной вещественного типа присваивается значение вещественного числа; переменной целого типа присваивается значение целого числа. Присваиваемые значения могут быть получены в результате вычисления по формулам, быть константами, значениями других переменных, функций и т. п. Общий вид оператора присваивания следующий:
<Переменная> : = <Арифметическое выражение>
Пример
А := В,
где А — имя переменной,
В — в общем случае, выражение в языке Паскаль,
:= — знак операции присвоения значения.
Оператор выполняется следующим образом: вычисляется выражение в правой части оператора присваивания, затем указанная в левой части оператора переменная получает вычисленное значение, При этом тип результата вычисления должен быть совместим с типом переменной.
ДОМАШНЯЯ РАБОТА К § 14
5 6 1 2 7 3 4 8 |
| Y:=F + A + SIN (X) / G – D*25 / F +5 |
7 5 6 1 8 17 4 1 3 2 20 10 9 18 11 12 19 13 21 14 16 15 |
Y:=(1 + 8 / 9 * 5 — 2) / COS(5 * X – 5 / F) + (2+8 / 7) * (2 * S — 8) / (3 * 8) – (5 / 6 – 9 * 7) |

Оставить комментарий