Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Логический тип данных

Целые типы данных

Перечисляемый Интервальный

Целые Логический Символьный

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

Для порядкового типа определены функции

ord(x) – номер значения x в списке,

pred(x) – значение в списке, предшествующее x

succ(x) – значение в списке, следующее за x.

К данным такого типа применимы операции отношения <, >, <= (меньше или равно), >= (больше или равно), <> (не равно).

 

Таблица 1. Целые типы данных, длина их внутреннего представления в байтах и диапазон возможных значений

Название Диапазон Размер выделяемой памяти
Byte 0 … 255 1 байт
Shortint -128 … +127 1 байт
Word 0 … 65535 2 байта
Integer –32768…+32767 2 байта
Longint -2 147 483 648 … +2 147 483 647 4 байта

При использовании процедур и функций с целочисленными параметрами следует руководствоваться «вложенностью» типов, т.е. везде, где может использоваться WORD, допускается использование BYTE (но не наоборот), в Longint «входит» Integer, который, в свою очередь, включает в себя Shortint

· Операции над целыми величинами – сложение (+), вычитание (-), умножение (*), деление нацело (div), вычисление остатка от деления (mod).

Пример: 17 div 3 = 5; 17 mod 3 = 2;

Пример описания переменных целого типа

Var AS, Ds: integer; f,d: word;

 

Некоторые стандартные процедуры и функции, применяемые к целым типам.

Обращение Тип результата Действие
ABS(X) Х Возвращает модуль Х, то есть abs(x) = ½x½.
SQR(X) Х Возвращает квадрат аргумента, то есть sqr(x) = x2
RANDOMIZE - Инициализация генератора псевдослучайных чисел
RANDOM(W) Word Возвращает псевдослучайное число из промежутка [0,W)
DEC(Х [,I ]) - Уменьшает значение Х на I, а при отсутствии I – на 1
INC(Х [,I ]) - Увеличивает значение Х на I, а при отсутствии I – на 1
ODD(L) Boolean Возвращает True, если аргумент нечетное число
CHR(B) Char Возвращает символ по его коду
Буквами B,W, L обозначены выражения соответственно типа Byte,Word и Longint, Х - выражение любого из целых типов

 

 

Пример: дано m=3;

1) sqr(m) = 9; 2) abs(-m) = 3; 3)dec(m,2), результат m=1; 4) odd(m)=true;

5) chr(77)=’M’.

 

Пример 1. Рассмотрим пример программы, вычисляющей значение выражения

x3 + ½x2 – 13x + 5½ – 11, при заданном x.

Program example_1;

Uses crt;

Var x, y: integer;

Begin

Clrscr;

Writeln(‘Введите x: ’);

Readln(x);

y:= sqr(x)*x + abs(sqr(x) – 13*x + 5)– 11;

Writeln(‘значение данного выражения равно ’,y);

Readkey;

End.

 

 

· Описание – идентификатор boolean;

· Значения – false(ложь) и true(истина);

· Размер выделяемой памяти – 1 байт.

Пример описания переменных логического типа

Var A,d: boolean;

Справедливы правила:

Ord(false)=0;

Ord(true)=1;

False<true

Succ(false)=true

pred(true)=false;

Свои значения переменные логического типа получают обычно в результате выполнения операций сравнения (отношения): «<»(меньше), «>»(больше), «<=»(меньше или равно), «>=»(больше или равно), «<>»(не равно), «=»(равно). Результат отношения равен true, если отношение удовлетворяется для значений входящих в него операндов, а false в противном случае.

 

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

 

Значение операнда Значение операции
X Y Not X “не” отрицание X and Y “и” конъюнкция X or Y “или” дизъюнкция X xor Y «исключающее или»
False False True False False False
False True True False True True
True False False False True True
True True False True True False

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

· NOT

· AND, *, /, DIV, MOD

· OR, XOR, +, -

· Операции сравнения, in

Например, в логическом выражении A OR B AND NOT(А<B) сначала выполняется заключенная в скобки операция <, а затем операции NOT, AND, OR.

 

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

 

Вычислить значение выражения not(a < 15) or not(b > 30)

при a = 10, b = 20:

1) (a < 15) = true;

2) not(a < 15) = false;

3) b > 30 = false;

4) not(b > 30) = true;

not(a < 15) or not(b > 30) = true;

 

Пример 2. Напишем программу, вычисляющую значение этого выражения при любых значения переменных a и b.

 

Program example_2;

Uses crt;

Var a, b: integer; c: boolean;

Begin

Clrscr;

Writeln(‘Введите a и b’);

Readln(a, b);

c:= not(a < 15) or not(b > 30);

writeln(‘not(a < 15) or not(b > 30) = ’, c);

Readkey;

End.

 

<== предыдущая лекция | следующая лекция ==>
Простые типы данных | Вещественные типы данных
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 807; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.