Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория 9.doc
Скачиваний:
5
Добавлен:
05.05.2019
Размер:
349.7 Кб
Скачать

V: Variant;

{Описание вариантной переменной)

Begin

V := VarArrayCreate ([0, 5, 3, 8], varlnteger);

{Создание двухмерного вариантного массива)

VarClear(V);

[Разрушение вариантного массива V}

2.6. Выражения в Object Pascal

Выражения в Object Pascal можно разделить на арифметические, логи­ческие и строковые.

К арифметическим выражениям относятся операции сложения (исполь­зуется оператор +), вычитания (используется оператор -), умножения (используется оператор *) и деления (используется оператор /), произ­водимые над вещественными и целочисленными значениями. При ис­пользовании в одном выражении значений разных типов, например при умножении целого числа типа integer на вещественное значение типа Double, тип результата выражения устанавливается по типу одного из операндов, имеющего самую широкую область значений.

Var

X, Rd: Double; I, Ri: Integer;

{Описание вещественных переменных X и Rd} {Описание целочисленных переменных I и Ri}

Begin

Rd := X * I;

Ri := X

I;

{Попытка присвоения переменной Rd значения арифметического выражения — произведения целочисленной и вещественной переменных I и X. Операция корректна, так как выражение имеет тип Double, как наиболее широкий из типов операндов. Следовательно, результат может быть занесен в переменную Rd, имеющую тип Double} {Попытка присвоения переменной Ri значения арифметического выражения — произведения целочисленной и вещественной переменных I и X. Операция является ошибочной, так как выражение имеет тип Double, как наиболее широкий из типов операндов. Следовательно, результат не может быть занесен в переменную Ri, имеющую тип Integer}

В выражениях, использующих строковые значения, поддерживается толь­ко операция конкатенации — сложения строк, в результате которой по­лучается строка, состоящая из символов каждой строки-операнда в нос ледовательности, указанной в выражении:

Var

N, F: Double; {Списание двух строковых переменных — N и F}

Begin

Var

N := 'Ольга'; {Присвоение переменной N значения 'Ольга'} F := 'Тихонова';{Присвоение переменной F значения 'Тихонова' N := N + ' ' + F; {Присвоение переменной N результата конкатенации трех строк — значения переменной N, строки, состоящей из символа пробел, и значения переменной F. В переменной N, таким образом, будет содержаться строка 'Ольга Тихонова'}

Логические операции представляют собой набор логических операндов (переменных или констант типа Boolean), соединенных логическими операторами And, Or и Not. Оператор And возвращает значение True, если оба операнда имеют значение True. Оператор Or возвращает зна­чение True, если хотя бы один из операторов имеет такое значение. Оператор Not предназначен для работы с одним операндом и инверти­рует его значение.

Var а, в, с: Boolean

Begin

А := True; В := True; А := Not А;

С := A Or В;

С := A And В;

{Описание переменных А, В и С типа Boolean

{Присвоение переменной А значения True} {Присвоение переменной В значения True} {В переменную А заносится инвертированное значение этой же переменной (False)}

{В переменную С заносится результат логического выражения A or В. Так как один из операндов (В) имеет значение True, то результатом выражения также является значение True} {В переменную С заносится результат логического выражения A and В. Так как один из операндов (А) имеет значение False, то результатом выражения также является значение False}

Begin

Y := Sin(X);

В выражениях любого вида могут использоваться более сложные кон­струкции, например:

Var

А, В, С: Double; {Описание вещественных переменных А, В и С}

Begin

:= А + В * А + В; {В переменную С заносится значение

выражения А + В * А + В, вычисляемого с использованием обычных математических правил: А + (В * А) + В}

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

Var