Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Електронный_лаб_практ_ОПтаАМ_I.doc
Скачиваний:
6
Добавлен:
27.11.2019
Размер:
1.3 Mб
Скачать

1.8. Выражения и стандартные функции

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

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

В зависимости от знаков операций и типов элементов, входящих в выражения, различают два типа выражений – арифметические и логические.

К знакам арифметических операций относятся:

* — умножение;

5/2 — вещественное деление (2,5);

5 DIV 2 — целочисленное деление (2);

45 MOD 7 — выделение минимального целого остатка от деления двух целых чисел (3);

+ — сложение;

– — вычитание.

Первые четыре вышеперечисленные операции имеют наивысший приоритет среди всех арифметических операций и выполняются в первую очередь. Операции одинакового приоритета выполняются в порядке их записи – слева направо.

К знакам логических операций относятся:

NOT — отрицание («НЕ»);

AND — логическое умножение («И»);

OR — логическое сложение («ИЛИ»).

Кроме того, к знакам логических операций относят знаки отно­шений: = (равно), <> (не равно), < (меньше), > (больше), <= (меньше или равно), >= (больше или равно).

Приоритет логических операций убывает в указанном порядке, а операции одинакового приоритета выполняются слева направо.

Ниже приводится таблица, содержащая результаты применения логических операций к двум операндам логического типа А и В:

Таблица 1.1

Значения операндов

NOT (A)

(A) OR (B) +

(A) AND (B) *

первого (А)

второго (В)

FALSE (0)

FALSE (0)

TRUE (1)

TRUE (1)

FALSE (0)

TRUE (1)

FALSE (0)

TRUE (1)

TRUE (1)

TRUE (1)

FALSE (0)

FALSE (0)

FALSE (0)

TRUE (1)

TRUE (1)

TRUE (1)

FALSE (0)

FALSE (0)

FALSE (0)

TRUE (1)

Введем определение еще одного из элементов, которые могут входить в выражения: поименованная константа.

Поименованная константа, также как и переменная, имеет свое собственное имя, тип и значение, которое, в отличие от переменной, не изменяется в ходе выполнения программы.

Объявление и присвоение единственного значения поименован­ной константе производится в описательной части программы и имеет следующий вид:

CONST <имя константы>=<значение константы>;

В языке ТP используются стандартные функции следующих ти­пов:

  • стандартные функции преобразования;

  • стандартные арифметические функции;

  • функции порядкового типа;

  • строковые процедуры и функции.

К числу стандартных функций преобразования относятся следу­ющие:

CHR(X:integer):char — определяет символ с заданным порядковым номером X;

ORD(X:char):integer — определяет порядковый номер переменной символьного типа, имеющей значение X;

ROUND(X:real):integer — округляет значение переменной Х ве­щественного типа до ближайшего целого;

TRUNC(X:real):integer — выделяет целую часть значения перемен­ной Х вещественного типа путем отбрасывания дробной части.

Стандартными арифметическими функциями называются следу­ющие:

ABS(X:real):real — определяет абсолютную величину (модуль) ар­гумента;

ARCTAN(X:real):real — вычисляет арктангенс аргумента;

COS(X:real):real — вычисляет косинус аргумента;

ЕХР(Х:геа1):геа1 — вычисляет экспоненту аргумента;

FRAC(X:real):real — определяет дробную часть аргумента;

INT(X:real):integer — определяет целую часть аргумента;

LN(X:real):real — вычисляет натуральный логарифм аргумента;

РI():геа1 — подставляет в программу значение числа «Пи», равное 3.1415926535897932385;

SIN(X:real):real — вычисляет синус аргумента;

SQR(X:real):real — возводит аргумент в квадрат,

SQRT(X:real):real — вычисляет квадратный корень аргумента.

Функция возведения в степень, большую чем 2, в языке ТP отсутствует. Поэтому данная операция моделируется с помощью стандартных арифметических функций ЕХР и LN следующим обра­зом: если необходимо значение переменной s возвести в степень r (где r>2), то требуемый результат вычисляется согласно выражению

EXP(r*LN(s)).

К числу функций порядкового типа относятся следующие:

ODD (X:integer):boolean — проверяет, является ли аргумент нечет­ным числом;

PRED(X) — возвращает предшествующее значение аргумента (тип результата совпадает с типом аргумента);

SUCC(X) — определяет последующее значение аргумента (тип результата совпадает с типом аргумента).

Строковыми процедурами и функциями называются следующие:

DELETE(VAR S:string; INDEX, COUNT:integer) — удаляет COUNT символов из строки S, начиная с позиции INDEX;

INSERT(SUBS:string; VAR S:string; INDEX:integer) — вставляет подстроку SUBS в строку S, начиная с позиции INDEX;

STR(X[:width[:decimals]]; VAR S:string) — преобразует численное значение Х в его строковое представление S;

VAL(S:string; VAR X:integer; VAR CODE: integer) — преобразует строковое значение S в его численное представление Х (параметр CODE содержит признак ошибки преобразования: равенство CODE=0 свидетельствует о том, что ошибки преобразования нет);

CONCAT(S1[, S2, …, SN]:string): string — выполняет конкатенацию (сцепление) последовательности строк;

COFY(S:string; INDEX, COUNT: integer) string — выделяет подст­року длиной COUNT символов из строки S, начиная с позиции INDEX;

LENGTH(S:string):integer — определяет текущую длину строки S;

POS(SUBS,S:string):integer — определяет позицию, начиная с ко­торой в строке S располагается подстрока SUBS (если функция принимает значение 0, это означает, что строка S не содержит подстроку SUBS).

Вопросы для самопроверки:

  1. Дать определение арифметического выражения.

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

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

  4. Дать определение логического выражения.

  5. Перечислить знаки логических операций.

  6. Перечислить знаки отношений.

  7. Перечислить порядок выполнения логических операций.

  8. Привести таблицу истинности выполнения логических операций.

  9. Раскрыть понятие поименованной константы.

  10. Перечислить стандартные функции преобразования.

  11. Перечислить стандартные арифметические функции.

  12. Перечислить функции порядкового типа.

  13. Перечислить строковые процедуры и функции.