Шаг 14.
Основные операции и функции, используемые в программе

    Перечислим основные операции и функции, которыми можно пользоваться при составлении Pascal-программ.

Таблица 1. Основные операции
Операция
Название
Тип операндов и результата
-
Смена знака
Значения числового типа.
+
Сложение
Значения числового типа.
-
Вычитание
Значения числового типа.
*
Умножение
Значения числового типа.
/
Деление
Значения числового типа. Результат деления - всегда вещественное число!
X div Y
Целочисленное деление X на Y
Значения целого типа.
X mod Y
Нахождения остатка от деления X на Y
Значения целого типа.
Not
Отрицание
Значения логического типа.
And
Логическое "И" (конъюнкция)
Значения логического типа.
Or
Логическое "ИЛИ" (дизъюнкция)
Значения логического типа.
Xor
Исключающее "ИЛИ"
Значения логического типа.

    Дадим несколько замечаний к перечисленному набору операций.

    При использовании операции "/" (деления) результат всегда будет вещественным независимо от того, делится ли нацело одно число на другое. Например: программа, содержащая следующий фрагмент:


     .    .    .    .    .
    Var
      a,b,c: Integer;
    Begin
     .    .    .    .    .
      a:=12;
      b:=3;
      c:=a/b;
     .    .    .    .    .
    End.

не будет даже откомпилирована, так как в строке c:=a/b; нарушена совместимость типов: значение выражения a/b вещественного типа, а переменная c описана как целая. Исправление этого фрагмента следующим образом:


     .    .    .    .    .
    Var
      a,b: Integer;
      c: Real;
    Begin
     .    .    .    .    .
      a:=12;
      b:=3;
      c:=a/b;
     .    .    .    .    .
    End.
не вызовет ошибки компиляции.

    Допустим, в рассмотренном примере нужно получить после выполнения операции деления результат целого типа. В этом случае можно воспользоваться операцией div. В таблице 2 приведены примеры использования операций div и mod.

Таблица 2. Примеры использования операций div и mod
Пример
10 mod 3
-10 mod -3
-10 mod 3
10 mod -3
10 div 3
-10 div -3
-10 div 3
10 div -3
Результат
1
-1
-1
1
3
3
-3
-3

    Логические операции чаще всего используются для организации сложных условий. Операция Not является одноместной, а остальные операции - двуместные. Приведем таблицу истинности для этих операций.

Таблица 3. Результаты выполнения логических операций
Значения операндов
Результат операции
X
Y
Not X
X And Y
X Or Y
X Xor Y
False
False
True
False
False
False
False
True
True
False
True
True
True
False
False
False
True
True
True
True
False
True
True
False

    Таблица 4 содержит список основных встроенных функций языка программирования Pascal.

Таблица 4. Основные функции, применяемые при составлении Pascal-программ
Название функции, обозначение
Обозначение в языке Pascal
sin x
Sin(x). Аргумент X должен быть выражен в радианах.
cos x
Cos(x). Аргумент X должен быть выражен в радианах.
arctg x
Arctan(X)
ex
Exp(X)
ln x
Ln(X)
x2
Sqr(X)
Квадратный корень из x
Sqrt(X)
[x] (целая часть от x)
Int(x). Результат - вещественное число!.
{x} (дробная часть от x)
Frac(X)
|x| (модуль x)
Abs(X)
Отбрасывание дробной части
Frac(X)
Округление до целых
Round(X)
Получение кода ASCII-символа
Ord('<символ>')
Получение символа по коду
Chr(X). X - код символа (натуральное число)
Генерация "случайного" целого числа на промежутке от 0 до k-1
Random(k)

    Прокомментируем использование некоторых из перечисленных функций.

    1. Аргументы всех функций всегда заключаются в круглые скобки!

    2. Аргументы функций Sin(X) и Cos(X) должны быть выражены в радианах. Для этого можно воспользоваться следующими формулами:

X(рад) = Xº * p/180          Xº = X(рад) * 180/p

    3. Не путайте обозначение квадратного корня (Sqrt) с возведением в квадрат (Sqr)!

    4. Результат, возвращаемый функцией Int - вещественное число! Для того, чтобы получить значение целого типа, можно воспользоваться функцией Round, например, так: Round(Int(X)).

    5. Как известно, каждому символу ставится в соответствие число, которое называется ASCII-кодом, например символ "A"(латинская) имеет код 65, символ "1" - код 49. Есть возможность по символу получать его код и наоборот. Для этого используются функции Ord и Chr. Например, результат выполнения конструкции Ord('B') - число 66, которое является кодом латинской буквы B. Конструкция Chr(53) даст в результате символ "5".

    6. Функция Random(k), где k - натуральное число, "выбирает" случайным образом целое число из промежутка от 0 до k-1. Каждое обращение к этой функции дает в результате произвольное число из указанного промежутка. Однако можно заметить, что от выполнения к выполнению программы генерируемая последовательность "случайных" чисел будет одной и той же! Чтобы этого избежать, нужно, например, в начале программы разместить процедуру Randomize;, которая "заставляет" компьютер "менять" последовательность генерируемых чисел от запуска к запуску программы.


Конструкция Random(20) будет генерировать целые числа из промежутка от 0 до 19. Приведите конструкцию, которая будет генерировать: а) целые числа от 10 до 50; б) целые числа от -5 до 5; в) вещественные числа от 0 до 1.
Решение и комментарии вы можете посмотреть здесь.


    Мы перечислили основные операции и функции, используемые при составлении Pascal-программы. На следующем шаге мы рассмотрим операторы, используемые при создании линейных программ.


Предыдущий шаг Содержание Следующий шаг