Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие Алгоритмизация и программирование.doc
Скачиваний:
107
Добавлен:
11.03.2015
Размер:
768.51 Кб
Скачать

10. Логический тип

Имя логического типа boolean. Множество значений: false и true. Значение логического типа занимает 1 байт.False(ложь) и true (истина) хранятся в памяти как 0 и 1 соответственно. Тип упорядочен: false<true.

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

Название

Знак

операции

Запись на Паскале

Приоритет

операции

Отрицание

not

not a

1

Конъюнкция

and

a and b

2

Дизъюнкция

or

a or b

3

Исключающее или

(сложение по модулю 2)

xor

a xor b

3

Типы операндов и тип результата boolean.

Результат логической операции определяется в соответствии с таблицей истинности (1 true, 0  false).

Таблица истинности

x

y

not x

x and y

x or y

x xor y

1

1

0

1

1

0

1

0

0

0

1

1

0

1

1

0

1

1

0

0

1

0

0

0

Два выражения, соединенные одним из знаков сравнения, образуют логическое выражение, которое называется отношением. Все шесть операций сравнения (>, <, >=, <=, =, <>) определены над числовыми, символьным, логическим, перечисляемым, строковым типами.

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

Примеры логических выражений на Паскале:

  1. Неравенство 2x<5 имеет вид (2<=x) and (x<5).

  2. Условие x[2; 5) имеет вид (x<2) or (x>=5).

  3. Высказывание «с латинская буква» имеет вид

(с>=’A’) and (c<=’Z’) or (с>=’a’) and (c<=’z’).

В ТР по умолчанию, то есть если не указано иначе, при вычислении логического выражения операнды вычисляются до тех пор, пока значение логического выражения не станет определенным. Например, если значение первого операнда дизъюнкции истина, то значение второго операнда вычисляться не будет. Если значение первого операнда конъюнкцииложь, то значение второго операнда вычисляться не будет. С учетом сказанного, несмотря на то, что бинарные логические операции коммутативны, следует обращать внимание на последовательность операндов в логических выражениях.

Значение выражения (b<>0) and (a/b>10)определено при любыхb,при перестановке операндов этого выражения значение не может быть вычислено приb=0, и при выполнении программы произойдет аварийный останов.

11. Простые типы, определяемые пользователем

Любой тип, вводимый в рассмотрение пользователем, можно описать непосредственно при описании переменных или этому типу можно присвоить имя в разделе описания типов, а затем использовать имя типа при описании переменных. Для того чтобы отличать имена типов от имен других программных объектов, можно начинать имя типа с префикса t_.

Раздел описания типов:

Идентификатор имя типа. Описание типа определяется правилами языка для каждого вида типов.

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