Реферат: Типы данных в Object Pascal
-100..100
‘a’..’z’
В данном примере показано определение трех новых типов значений. Первые два типа образованы ограничениями диапазона некоторого целого типа, третий тип является производным целого типа. Введенный таким образом тип можно обозначить именем и использовать для определения переменных, а также строить с его помощью другие типы.
Допускается создание ограниченных типов из дискретных типов, то есть из всех скалярных типов, кроме вещественного. Ограниченный тип наследует все свойства базового типа (в частности, набор базовых операций).
Нужно всячески приветствовать активное использование в программе ограниченных типов. Всякий раз, когда заранее известно, что значения некоторой переменной лежат внутри некоторого диапазона, следует использовать ограниченный тип. Это существенно повышает наглядность программ, а, кроме того, позволяют более надежно контролировать ошибочные выходы значений за пределы заданного диапазона (как при трансляции, так и в процессе исполнения программы).
6. Вещественные типы
Эта группа типов обозначает множества вещественных значений в различных диапазонах Паскаль поддерживает четыре различных вещественных типа. Они именуются идентификаторами Real, Single, Double, Extended и Comp и имеют характеристики, представленные в таблице 2.
Таблица 2
Вещественный тип | Диапазон значений | Число цифр мантиссы | Размер памяти |
Real | 2.9 E-39..1.7E38 | 11-12 | 6 байт |
Single | 1.5E-45..3.4E38 | 7-8 | 4 байта |
Double | 5.0E-324..1.7E308 | 15-16 | 8 байт |
Extended | 3.4E-4932..1.1E493 | 19-20 | 10 байт |
Comp | -2E+63..+2E+63-1 | 8 байт |
Примечания
1. Хотя тип Comp считается вещественным типом, он содержит только целые числа из весьма значительного диапазона, которые представляются в вычислениях как вещественные (с нулевой мантиссой).
2. Все вещественные типы, кроме Real, могут использоваться в программе, вообще говоря, только если сделаны соответствующие опции компилятора. Для корректной компиляции программы, использующей эти типы, можно также применить директиву компилятора {+N}.
Вещественные значения могут изображаться в форме с фиксированной точкой и в форме с плавающей точкой. В первом случае целая и дробная части вещественного числа отделяются друг от друга символом ‘.’ (точка). Обе эти части должны обязательно присутствовать, например:
17.384
0.5
Вещественное число в форме с плавающей точкой записывается как пара вида:
<мантисса>Е<порядок>
Такое обозначение понимается как “мантисса, умноженная на 10 в степени, равной порядку”. Например:
7Е-2 эквивалентно 7· 10-2
12.25 Е+6 или 12.25 Е6 эквивалентно 12.25· 106
7. Дата / время
Тип дата-время определяется стандартным идентификатором TDateTime и предназначен для одновременного хранения и даты, и времени. Во внутреннем представлении он занимает 8 байт и подобно currency представляет собой вещественное число с фиксированной дробной частью: в целой части числа хранится дата, в дробной - время. Дата определяется как количество суток, прошедших с 30 декабря 1899 года, а время - как часть суток, прошедших с 0 часов, так что значение 36444,837 соответствует дате 11.10.1999 и времени 20:05. Количество суток может быть и отрицательным, однако значения меньшие -693594 (соответствует дате 00.00.0000 от Рождества Христова) игнорируются функциями преобразования даты к строковому типу.
II . Составные типы: структурированные типы, указатели, строки, процедурные, объекты, классы, варианты.
Структурированные типы в свою очередь делятся на:
1. регулярные типы (массивы);
2. комбинированные типы (записи);
3. множественные типы;
4. файловые типы;
Простые типы, описанные выше, определяют различные множества атомарных (неразделимых) значений. Составные, или структурные типы, в отличие от простых, задают множества «сложных» значений; каждое значение из такого множества образует некоторый агрегат (совокупность) нескольких значений другого типа (или других типов). Можно сказать, что составные типы определяют некоторый способ образования новых типов из уже имеющихся, причем отдельные элементы составных значений могут иметь любой, в том числе составной, тип. Таким образом, Паскаль допускает образование структур данных произвольной сложности, позволяя тем самым достичь адекватного представления в программе тех данных, с которыми она оперирует.
1. Регулярные типы (массивы)