Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 1.doc
Скачиваний:
60
Добавлен:
22.02.2015
Размер:
2 Мб
Скачать
☆
      1. Приоритеты операций

Вычисление значений любых выражений происходит с учетом приоритета операций.

Приоритет

Операции

1 (высший)

@, not, – (отрицание)

2

*, /, div, mod, and, shl, shr

3

+, – (вычитание), or, xor

4 (низший)

=, <>, <, >, <=, >=, in

Важно правильно записывать выражения в соответствии с этой таблицей приоритетов операций. Например, выражение A>0 AND B>0 будет интерпретироваться как (A>(0 AND B))>0, что вызовет ошибку, так как выражение A>(0 AND B) – логического типа, а 0 – числового. В данном случае выражение следует записывать так: (A>0) AND (B>0).

      1. Стандартные математические и арифметические функции

Функция

Описание

Sin(X)

Синус угла (углы задаются в радианах)

Cos(X)

Косинус угла

Tan(X)

Тангенс угла

ArcSin(X)

Арксинус – функция, обратная Sin(X). Возвращает угол (в радианах), синус которого равен X

ArcCos(X)

Арккосинус угла

ArcTan(X)

Арктангенс угла

Abs(X)

Модуль X

Sqr(X)

Возведение X в квадрат

Sqrt(X)

Извлечение квадратного корня из X

Exp(X)

Вычисление ex

Ln(X)

Вычисление натурального логарифма X

Pi

Возвращает число π

Round(X)

Округление X до ближайшего целого:

Round(1.4) = 1, Round(1.6) = 2

Trunc(X)

Отсечение дробной части числа X:

Trunc(1.4) = 1, Trunc(1.6) = 1

Frac(X)

возвращает дробную часть числа:

Frac(15.41) = 0.41

    1. Структурированные операторы

      1. Оператор выбора case

 Синтаксис

CASE <Выражение> OF

<Список значений 1>:<Оператор 1>;

<Список значений 2>:<Оператор 2>;

∙ ∙ ∙

<Список значений N-1>:<Оператор N-1>;

<Список значений N>:<Оператор N>

[ELSE

<Список операторов>]

END

Выражение может быть только порядкового типа. В списках значений через запятую указываются константы или интервалы значений. Если значение выражения находится в одном из списков значений, выполняется соответствующий оператор. Одно и то же значение не может находиться в нескольких списках (если рассматривать Delphi, так как в других версиях языка Паскаль это иногда допускается, при этом выполняется только первый из операторов, для которого значение – в списке). Если значение выражения не содержится ни в одном из списков и присутствует раздел ELSE, то выполняется список операторов. После последнего оператора перед ELSE и перед END точку с запятой ставить не обязательно, но допускается.

 Пример

CASE S[n] OF

'0'..'9':WriteLn('Цифра');

'A'..'Z','a'..'z':WriteLn('Буква');

'+','-','*','/':WriteLn('Операция');

ELSE

WriteLn('Неизвестный символ');

END;

      1. Оператор цикла for

 Синтаксис

FOR <Имя переменной> := <Выражение 1> {TO | DOWNTO} <Выражение 2> DO <Оператор>

 Алгоритм действия оператора FOR для фраз TO/DOWNTO

1. Вычислить начальное и конечное значения переменной цикла (выражения 1 и 2).

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

3. Если значение переменной не больше/меньше конечного значения, то

А. Выполнить оператор.

Б. Изменить значение переменной цикла на следующее/предыдущее.

В. Перейти к шагу 3.

4. Конец оператора.

Действия, выполняемые на шаге 3.Б (изменение значения переменной цикла на следующее или предыдущее), требуют, чтобы <Выражение 1>, <Выражение 2> и переменная цикла имели одинаковый порядковый тип, так как такие действия определены только для порядковых типов. Если использована фраза TO и начальное значение больше конечного, либо фраза DOWNTO и начальное значение меньше конечного, то оператор не будет выполнен ни разу. После выполнения цикла значение переменной цикла изменяется и не должно использоваться.

 Пример

FOR n:=1 TO 10 DO

WriteLn('n=',n);

 Результат выполнения

n=1

n=2

. . .

n=10