Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Иерархия типов

Система типов языка. Скалярные типы.

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

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

На основе небольшого числа стандартных типов программист может конструировать данные произвольной структуры и сложности.

Базовыми в системе типов являются простые. Составные по определенным правилам строятся из простых. Ограниченные формируются из простых путем сужения их ОДЗ. Первичными в иерархии типов являются стандартные скалярные, представляющие традиционные в языках программирования множества значений (целые, вещественные, символьные, булевские) и их модификации, учитывающие архитектурные особенности аппаратуры.

Стандартные скалярные типы в языке Turbo Pascal распадаются на четыре группы:

- целые типы;

- вещественные;

- символьный тип;

- булевский тип.

На основе стандартных скалярных типов имеется возможность образовывать пользовательские скалярные типы.

Целые типы: integer, byte, shortint, word, longint.

 

SortInt -128.. 127 1 байт
Integer -32768.. 32767  
LongInt -2147483648.. 2147483647  
Byte 0.. 255  
Word 0.. 65535  

 

Над целыми числами допустимы операции: + - * / div mod. Операция деления дает вещественный результата, все остальные целый.

 

Вещественные типы: Real, Single, Double, Extended, Comp.

 

К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей запятой и фиксированным числом цифр. Запись значения в формате с плавающей запятой обычно включает три значения - m, b и e, где m*b**e=n, где b всегда = 2, а m и e являются целочисленными значениями в диапазоне вещественного типа. Эти значения m и e далее определяют диапазон представления и точность вещественного числа.

Имеется пять видов вещественных типов: вещественное, с одинарной точностью, с двойной точностью, с повышенной точностью и сложное. Вещественные типы различаются диапазоном и точностью связанных с ними значений.

Диапазон представления и десятичные цифры для вещественных типов

 

Тип Диапазон число цифр мантиссы размер памяти
Real Single Double Extended Comp 2.9E-39.. 1.7e38 1.5E-45.. 3.4E38 5.0E-324.. 1.7E308 3.4E-4951..1.1E4932 -2E+63.. 2E+63-1 11-12 7-8 15-16 19-20 6 байт

 

Сложный тип содержит только целочисленные значения в диапазоне от -263+1 до 263-1, что приблизительно равно -9.2x1018 и 9.2x1018.

Над вещественными числами допустимы 4 арифметических операции, результат вещественные, если хотя бы один операнд вещественный.

 

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

Символы из множества ASCII (American Standart Code For Information Interchange). Это множество из 256 символов, упорядоченных определенным образом.

 

Булевский тип: true, false.

Над значениями булевского типа допустимы операции сравнения, причем считается, что false < true. Кроме того, имеются 4 стандартных логических операции, обозначаемые служебными словами: and, or, xor, not.

1 байт.

 

Строковые типы

Значением строкового типа является последовательность символов с динамическим атрибутом длины (в зависимости от действительного числа символов при выполнении программы) и постоянным атрибутом размера в диапазоне от 1 до 255. Текущее значение атрибута длины можно получить с помощью стандартной функции Length.

 

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

Порядковый номер перечислимой константы определяется ее позицией в списке идентификаторов при описании. Перечислимый тип, в котором описывается константа, становится ее типом. Первая перечислимая константа в списке имеет порядковый номер 0.

Приведем пример перечислимого типа:

suit = (club,diamond,heart,spade)

 

Согласно этим описаниям diamond является константой типа suit. При применении функции Ord к значению перечислимого типа Ord возвращает целое число, которое показывает, какое положение занимает это значение в отношении других значений этого перечислимого типа. Согласно предшествующим описаниям, Ord(club) возвращает 0, Ord(diamond) возвращает 1 и так далее.

 

Отрезок типа (интервальный тип).

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

отрезок типа

 

 

Обе константы должны иметь один и тот же порядковый тип. Отрезки типов, имеющие вид a..b, предполагают, что a меньше или равно b.

Приведем примеры отрезков типов:

0..99 -128..127 club..heart

 

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

 

<== предыдущая лекция | следующая лекция ==>
Общая структура Pascal-программы | Описание переменных. Описание переменных и констант
Поделиться с друзьями:


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


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



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




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