Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_TP.doc
Скачиваний:
10
Добавлен:
22.12.2018
Размер:
1.4 Mб
Скачать

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

Буль – создатель математической логики, поэтому а Паскале логический тип называется BOOLEAN. Существуют две логические константы: TRUE и FALSE. Логические данные хорошо используются при проверке правильности некоторых условий и при сравнении величин. Для сравнения предусмотрены операции отношения (>, <, ><, >= ,…).

Операции над логическими данными.

Логическое “или”- OR.

Логическое “и, умножение, коньюнкции” – AND.

Логическое “отрицание” – NOT

Not FALSE = TRUE

Not TRUE = FALSE

XOR – логическое исключающее “или”.

Таблица логических операций.

Операнды

Результаты догических функций

P

Q

P AND Q

P OR Q

NOT P

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

TRUE

Пример:

Результат операции (C>10) OR (D<3) :

- TRUE

при 1) C=12;D=2

2) C=20;D=1

3) C=15;D=0

- FALSE

при 1) C=8;D=5

2) C=5;D=7

3) C=3;D=6

Результат операции (C>10) AND (D<3) :

- TRUE

при 1) C=11;D=1

2) C=17;D=2.5

- FALSE

при 1) C=13;D=4

2) C=9;D=2

3) C=8;D=0.

Значения типа BOOLEAN занимают в памяти 1 Бт, BYTE BOOL – 1 Бт ,WORD BOOL – 2 Бт , LONG BOOL – 4 Бт. Переменные последних типов были введены в TURBO PASCAL 7.0 для обеспечения совместимости с другими языками программирования и средой WINDOWS. Для данного типа используются встроенные функции. Для идентификаторов констант FALSE и TRUE имеет место следующие отношения:

1) FALSE < TRUE ORD (FALSE)=0 ORD (TRUE)=1

2) SUCC (FALSE)=TRUE PRED (TRUE)=FALSE

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

1) Записать выражение для х принимающего значения больше 0 и меньше 10 одновременно.

(x>0) AND (x<10)

2) Записать выражение для х меньше 1, но больше 50.

(x<1) OR (x>50)

3) Записать максимум из трех чисел: MAX(x, y, z).

(x>y) OR (y>z) OR (z>x)

4) Записать условия положительности трех чисел x, y z.

(x>0) AND (y>0) AND (z>0)

5) Записать условия, при которых хотя бы одно из трех чисел положительно.

(y>0 OR (x>0) OR (z>0)

Символьный тип char.

Этот тип представляет собой тип данных предназначенный для хранения одного символа (буквы, знака или кода). В переменную этого типа может быть помещен любой из 256 символов расширенного кода ASCII – американский стандартный код для обмена информацией. Отклонения от стандарта возможны при наличии системной поддержки (буква русского алфавита). Значение символьного типа занимает 1 Бт. Существуют специальные таблицы “варианты кодировки знакогенераторов ПЭВМ”. С символьным типом возможны операции отношения (>, <, ><, …) и операции со встроенными функциями.

Пример типа CHAR: A:CHAR

VAR CH: CHAR;

BEGIN

CH:=’A’;

WRITELN (ORD(CH)); {возвращается код А }

CH:=#65; {переменной присваивается символ с кодом 65, т. е. буква А }

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

Пример программы распечатки букв латинского алфавита и их кодов:

PROGRAM PR1;

CONST PROBEL =’ ’;

VAR R:’A’..’Z’;

BEGIN

FOR R:=’A’ TO ’Z’ DO

WRITELN(R, PROBEL, ORD(R));

END.