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

4.7 Интервальный тип.

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

При задании диапазона указывается наименьшее и наибольшее значения, которые может принимать переменная соответствующего типа (обе константы должны быть одного типа). Так с помощью объявления:

TYPE

MyType = 0..1000; мы объявили новый тип с диапазоном значений от 0 до 1000.

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

4.8 Выражения.

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

Следовательно, константа, переменная, функция являются частными случаями арифметического выражения.

При записи выражений необходимо выполнять следующие правила:

1. Все составные части выражения записываются в одну строку. Поднимать и опускать символы над строкой не разрешается.

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

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

4. Вычисление выражений производится слева направо в соответствии со старшинством операций.

Старшинство операций в порядке убывания приоритета:

1. Умножение, деление;

2. DIV, MOD;

3. Сложение, вычитание.

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

Если аргумент функции задан в виде выражения, то сначала определяется значение этого выражения, а затем значение функции.

Если операции, следующие одна за другой, имеют одинаковое старшинство, то они выполняются последовательно в порядке их записи.

Логические выражения строятся из логических данных, логических операций и операций отношения.

В операциях отношения могут участвовать арифметические и логические выражения, а также символьные данные.

Результатом логического выражения является значение TRUE или FALSE .

При вычислении логических выражений принят следующий приоритет операций (по старшинству):

1) Арифметические операции;

2) Операции отношений;

3) Логические операции.

При наличии скобок сначала выполняются действия в скобках (в первую очередь самые внутренние), а затем вне скобок. В круглые скобки обязательно заключаются части выражения, стоящие слева и справа от логических операций AND и OR.

Старшинство операций в порядке убывания приоритета:

  1. N ot

  2. *, /, Div, Mod, And.

  3. +, -, or.

  4. <, <=, =, <>, >=, >, in.

Приоритет вычисления функций выше, чем приоритет выполнения операций. Операции, имеющие одинаковый приоритет выполняются слева на право в порядке следования выражений.

Тип результата выражения определяется последовательным вычислением типов результатов всех операций, выполненных при вычислении значения выражения, т.е. зависит от типа операндов (величин) участвующих в операции:

Пример: (TLR-LN(X)>2.5*KL)AND(ORD(S)<N1)

1) A1=LN(X) – REAL

2) A2=2.5*KL – REAL

3) A3=TLR-A1 – REAL

4) A4=A3>A2 – BOOLEAN

5) A5=ORD(S) – INTEGER

6) A6=A5<N1 – BOOLEAN

7) A4 AND A6 – BOOLEAN

При записи выражений:

  1. Нельзя опускать знак умножения. Х:=2А+В; Х:=2*А+В;

  2. Слева всегда должна стоять одиночная переменная. Х-2*Z:=B+3-D*C;

X:= B+3-D*C+2*Z;

  1. В правой части последовательность операндов, соединенных знаками арифметических операций, должна записываться в одну строку.

Примеры записи математических выражений:

Математическая запись

Запись на Pascal

x2 – 7x + 6

Sqr(x) - 7 * x + 6

(Abs(x) - Abs(y)) / (1 + Abs(x * y))

Ln(Abs((y - Sqrt(Abs(x))) * (x - y / (z + Sqr(x) / 4))))

y:=(b*x+a)/(a*x+c);

Примечания:

В Turbo Pascal нет операции возведения в степень. При необходимости вычисления , используют имеющиеся стандартные функции, например: