- •I. Символы, простейшие конструкции и выражения языка Turbo Pascal
- •Алфавит языка
- •4. Специальные символы:
- •II. Простейшие конструкции языка
- •7 .Выражения
- •III. Структура программы
- •1. Математическая постановка:
- •2. Блок-схема алгоритма
- •3. Программа:
- •III. Задания для самостоятельной работы.
- •V. Варианты индивидуальных заданий.
7 .Выражения
Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражения в языке Паскаль формируются из констант, переменных, функций, знаков операций и круглых скобок.
Функции – заранее разработанные подпрограммы, которые можно использовать как готовые объекты. Различают стандартные функции и функции, написанные программистом самостоятельно.
В таблице 3 рассмотрены наиболее часто используемые арифметические функции. Аргументы арифметических функций могут быть величинами целого и вещественного типа.
Таблица 3. Арифметические функции
Функция |
Назначение |
Тип результата |
Abs(x) |
Абсолютное значение аргумента |
Совпадает с типом X |
Arctan(x) |
Арктангенс аргумента |
Вещественный |
Cos(x) |
Косинус аргумента |
Вещественный |
Exp(x) |
ex |
Вещественный |
Frac(x) |
Дробная часть числа |
Вещественный |
Int(x) |
Целая часть числа |
Вещественный |
Ln(x) |
Натуральный логарифм |
Вещественный |
Pi |
Значение величины =3.141592653... |
Вещественный |
Sin(x) |
Синус аргумента |
Вещественный |
Round(x) |
Округление аргумента |
Целый |
Trunc(x) |
Выделение целой части |
Целый |
Sqr(x) |
Квадрат аргумента |
Совпадает с типом Х |
Sqrt(x) |
Квадратный корень аргумента |
Вещественный |
{ ! Аргументы тригонометрических функций задаются в радианах. Аргумент заключается в скобки}.
Результат выполнения любой операции в выражениях зависит от типов операндов (переменных, констант, функций). Здесь мы рассмотрим только арифметические операции и, соответственно, тип результата может быть целым или вещественным.
Для того чтобы описать последовательность, в которой должны стоять операнды в выражениях и в которой должны расставляться скобки, целесообразно упорядочить операции по уровням.
В таблице 4 указаны арифметические операции и их уровни, а также типы результатов.
Таблица 4. Арифметические операции
Уровень |
Операция |
Тип операндов |
Тип результата |
Значение |
1 |
* * * / / / div
mod |
Real, real Integer, integer Real, integer Real, real Integer, integer Integer, real Integer, integer
Integer, integer |
Real Integer Real Real Real Real Integer
Integer |
Умножение Умножение Умножение Деление Деление Деление Деление без остатка Остаток от деления |
2 |
+,- +,- +,- |
Integer, integer Real, real Integer, real |
Integer Real Real |
Сложение и вычитание |
Правила приоритетности операций в выражениях:
1.Операции уровня i выполняются до выполнения операций j, j > i.
2.Операции одного уровня выполняются поочередно слева направо.
3.Операции, заключенные в круглые скобки, выполняются раньше операций, записанных за скобками.
Эти правила действуют для всех типов выражений (арифметических, логических, строковых).
Последовательность действий, выполняемых при вычислении выражений:
1. Вычисления в круглых скобках.
2. Вычисления значений функций.
3. Унарные операции ( - , not ).
4. Операции типа умножения (*, /, div, mod, and);
5. Операции типа сложения (+, - , or, xor )
6. Операции отношения (=, <>, >, <, >=, <=, in)
Рассмотрим примеры записи арифметических выражений:
№ |
Обычная запись |
Запись на Паскале |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
Прокомментируем примеры:
Для указания последовательности выполнения действий в числителе и знаменателе появляются круглые скобки (примеры. 1,8).
Из-за отсутствия операции возведения в степень при записи выражений со степенями рекомендуется :
а) возведение в целую положительную степень заменять умножением (примеры 3,8)
б) возведение в целую отрицательную степень заменять делением на произведение сомножителей (пример 3)
в) для четных целых положительных степеней использовать функцию SQR (примеры 2, 4)
г) во всех других случаях возведение в степень вычисляется как экспонента от показателя степени, умноженного на натуральный логарифм степени (примеры 7, 9, 10).
Отсутствие функций tg и ctg приводит к усложнению выражений (примеры 3, 4, 5, 10).
Если аргумент у функции tg или ctg достаточно сложное выражение (примеры 5, 10), рекомендуется ввести новую переменную для обозначения аргумента, например, фрагмент программы для примера 10 можно записать так:
. . . . . . . . . . . .
t : = cos(exp(1/5*ln(x/y))); { аргумент тангенса }
Z : = sin(t)/cos(t); { значение выражения присвоено переменной Z }
. . . . . . . . . . . .
В данном случае действует общая рекомендация при программировании формул об обозначении повторяющихся выражений.
Примеры использования операций mod и div:
Формула |
Результат |
Формула |
Результат |
13 div 4 |
3 |
15 mod 4 |
3 |
-13 div 4 |
-3 |
-15 mod 4 |
-3 |
13 div –4 |
-3 |
15 mod –4 |
3 |
-13 div –4 |
3 |
-15 mod –4 |
-3 |
{ ! При записи в программе операции div и mod слева и справа сопровождаются пробелами}.