RSS    

   Реферат: Object Pascal

Результатом вычисления логического выражения может быть одно из двух логических значений: True (истина ) или False (ложь).

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

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

Таблица 9

Операция Наименование Приоритет

Not

And

Or

Xor

Отрицание

Конъюнкция

Дизъюнкция

Спец. дизъюнкция

3

4

5

6

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

Таблица 10

A B not A A and B A or B A xor B

True

True

False

False

True

False

True

False

False

False

True

True

True

False

False

False

True

True

True

False

False

True

True

False

В табл. 11 представлены логические отношения.

Таблица 11

Отношение Наименование

>

<

>=

<=

=

<>

Больше

Меньше

Больше или равно

Меньше или равно

Равно

Не равно

Все отношения равноприоритетны.

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

сначала вычисляются арифметические выражения;

затем – отношения;

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

Примеры (для x=12, z = 0, y=1):

Таблица 12

Выражение Результат

5 > 8

(5 < 3) and (z = 0)

((4 + 8) < 0) or not (y = 0)

not ((x < y) and (z > y))

('ab' = 'ac') and (x=z)

(4 in [ 2 .. 23 ])

True

False

True

True

False

True

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

Выражение:

Not ((x > 6 + 8 * 2) and (y < 7) or (z > 7)) and (x <> y)

Порядок: 9 3 2 1 6 4 7 5 10 8

9.3. Строковые выражения

Строковые выражения, частными случаями которых могут быть пустой символ '' или одиночный символ (например 'A'), строятся из строковых или символьных значений, констант, переменных и строковых функций при помощи строковой операции конкатенации (присоединения). Эта операция обозначена символом + (плюс). Скобки в строковых выражениях не применяются.

Пример:

Выражение: 'Object '+'Pascal '+' для Delphi'
Результат: 'Object Pascal для Delphi'

10. Операторы

Оператор – языковая конструкция, представляющая описание команды или комплекса команд по обработке и преобразованию данных.

Все операторы делятся на две части – простые операторы и структурные операторы.

11. Простые операторы

К их числу относятся: оператор присваивания, оператор безусловного перехода, составной оператор, оператор процедур, специальные операторы.

11.1. Оператор присваивания

В параграфе 1.4 было дано краткое определение этого оператора – одного самых простых и наиболее часто используемых операторов. Напомним, что его синтаксис имеет вид

x := y;

где x – имя переменной или функции; y – совместимое по типу выражение (о совместимости типов см. гл. 8). Символы ":=" обозначают операцию присваивания, в соответствии с которой вычисленное значение выражения y присваивается переменной x.

Примеры операторов присваивания (комментарии показывают присвоенные значения):

Var

Ch: Char;

S: String[5];

Q: String[18];

L, J: Integer;

P: Byte;

R: Real;

B: Boolean;

Rec: Record

 A: Word;

 B: String[20];

 End;

Таблица 13

Оператор присваивания Значение

Q:= 'd:\Dir1\Word\a.txt';

S:= Q;

Q:= S+'r\';

Ch:=Q[2];

L:= 450;

P:= L;

J:= 100;

R:= -L / J;

J:=-L / J;

J:=-L - 200;

B:= J > L;

B:= (J < L) and (Q[5] = 'i');

Rec.A:= J-20;

Rec.B:= 20;

Rec.B:= S[1]+S[3]+'\d';

'd:\Dir1\Word\a.txt'

'd:\Di'

'd:\Dir\'

':'

450

Ошибка, т. к. max P = 255

100

-4.5

Ошибка. Несоответствие типов

250

False

True

230

Ошибка. Несоответствие типов

'd\\d'

 

11.2. Оператор безусловного перехода

Этот оператор выполняет передачу управления оператору, которому предшествует метка. Синтаксис оператора:

Goto Метка;

Язык допускает в качестве меток использовать имя или значение целого типа из диапазона 1 .. 9999.

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

Все метки, используемые в блоке, должны быть описаны словом Label.

Пример оператора описания меток:

Label 1, 2, Met1, Met2, Met3;

Метка должна располагаться в том же блоке, что и оператор, который ею помечен.

Недопустим переход к метке внутрь структурного оператора (например, внутрь цикла, минуя его заголовок). Компилятор не реагирует на эту ситуацию, однако поведение программы может быть непредсказуемо. Недопустимы также вход или выход по метке в процедурах или функциях.

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

11.3. Оператор обращения к процедуре

Этот оператор вызывает активизацию операторов, расположенных в теле процедуры (см. параграф 15.1). После выполнения процедуры управление передается к оператору, расположенному вслед за оператором процедуры.

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

Примеры обращения к процедурам:

Val (s, r, Code);

Sort (a, n * 2);

SaveParameters;

11.4. Обращение к функции

Следует подчеркнуть, что не существует специального оператора обращения к функции (см. параграф 15.1). Обычно такое обращение производится посредством другого оператора, часто оператора присваивания.

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

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

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

Поясним это на примере оператора присваивания, содержащего обращение к функции Func8:

G:= 2 * Pi * Func8(m, n, a) / Sqr (z);

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

12. Стандартные процедуры и функции

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

12.1. Строковые процедуры и функции

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.