200 likes | 345 Views
ТИПЫ. каждое имя в программе имеет ассоциированный с ним тип. Этот тип определяет:. структуру программного элемента, т. е. ту или иную интерпретацию памяти; множество допустимых значений; совокупность возможных операций с ним. В Object Pascal можно выделить следующие типы:. простые;
E N D
ТИПЫ каждое имя в программе имеет ассоциированный с ним тип
Этот тип определяет: • структуру программного элемента, т. е. ту или иную интерпретацию памяти; • множество допустимых значений; • совокупность возможных операций с ним.
В Object Pascal можно выделить следующие типы: • простые; • структурированные; • указатели; • классы; • вариантный тип.
Структурированные типы: • массивы; • строки; • записи; • множества; • файлы.
Задание типа тому или иному элементу в программе необходимо для того, чтобы компилятор мог выделить соответствующую память и установить механизм доступа к самому элементу и его компонентам.
ПРОСТЫЕ ТИПЫ • Простой тип определяет множество значений программного элемента, структура которого представляет собой единственную величину. • целые; • логические (булевы); • символьные; • перечни; • интервальные (диапазоны); • вещественные; • дата-время. Порядковые типы
. Для порядковых типов существуют встроенные стандартные операции
Физические типы Общие типы
Целые числа • Целые числа могут записываться как в десятичной, так и в шестнадцатеричной системе счисления. • В последнем случае перед числом ставится знак $ • допустимый диапазон значений будет $00000000 ... $FFFFFFFF.
Целые типы • Целые типы можно • складывать, • вычитать, • умножать. • Кроме того, можно выполнять действия, представленные в табл. 4.
Физические типы следует применять, когда в первую очередь важны именно диапазон значений, зависящий от занимаемой памяти, и сам объем памяти. • Тип Integer является обобщением всех знаковых целых чисел, а Cardinal - всех беззнаковых. • Целый тип является порядковым типом, поэтому с ним возможны операции, приведенные в табл. 2.
СИМВОЛЬНЫЕ ТИПЫ • Обычно символьные типы задают некоторые стандартные схемы кодирования и декодирования информации для обмена символьными данными. • Существуют две символьных схемы: • набор 8-битовых символов - ANSI-стандарт • набор 16-битовых символов - стандарт UNICODE, • В Delphi определены два физических символьных типа и один общий. • Два физических типа ANSIChar и WideChar реализуют соответственно ANSI-стандарт и UNICODE-схему. • Общий тип, именуемый Char, обычно соответствует типу AnsiChar. • Каждый символ имеет свой собственный порядковый номер. Номер символа можно извлечь с помощью функции Ord(C), где С - какой-либо символ.
Операция присваивания для символьных типов • С :='ЛА '; - значение указывается в апострофах • с := #65; - 65 -порядковый номер символа А в наборе символов;
ЛОГИЧЕСКИЕ ТИПЫ общийBoolean (1 байт) - Предпочтительней использовать Физические типы: • Другие типы именуются следующим образом: • ByteBool (1 байт), • WordBool (2 байта) и • LongBool (4 байта). • Переменным булевого типа можно присваивать только значения true или false. • Если память, соответствующая логической переменной типа Boolean, содержит 0, то ее значение равно false, • если в памяти содержится 1, то значение логической переменной равно true. Физические типы
ЛОГИЧЕСКИЕ ТИПЫ • Переменные физических булевых типов интерпретируют содержимое памяти по-другому: • если в памяти содержится 0, значение переменной равно false, • при любом другом значении значение переменной равно true. • Однако функция Ord всегда возвращает значение 1, если переменная равна true, и • 0, если значение переменной равно false. • Таким образом, порядковый номер false равен 0, a true - 1.
ТИП ПЕРЕЧЕНЬ • примеры объявления: Type EnumType = (Valuel, Value2, Value3); • Type MyColor = (RBed, Green, Blue); • тип перечень относится к порядковому типу, • Ord(Red) = 0, • Ord(Green) = 1, • Ord(Blue) = 2.
ИНТЕРВАЛЬНЫЙ ТИП • Интервальный тип (диапазон) позволяет объявить переменные, содержащие информацию из некоторого заданного поддиапазона для какого-то исходного базового типа. • Базовый тип должен быть порядковым, кроме типа диапазон. • Синтаксис объявления интервального типа имеет следующий вид: • Туре D = MinValue. .MaxValue;, • где константы: MinValue и MaxValue определяют соответственно минимальное и максимальное значения среди всех возможных значений для данного типа • Например: Type Day : 1.. 31;.
исчезновение порядка. • Особенность вещественных типов заключается в том, что они представляют некоторое подмножество математических вещественных чисел, которое можно представить в формате с плавающей запятой и фиксированным числом цифр, т. е. точное представление чисел не всегда возможно. • Удивительно, но такое простое число, как 0.1, записывается с некоторой погрешностью, пусть очень небольшой.
ТИП ДАТА-ВРЕМЯ • Стандартный тип дата-время (TDateTime), определенный в модуле System, совпадает с типом Double. • Например, если определена константа типа дата-время 35065.75, то это число означает 1 января 1996 г., 18.00. • Способ преобразования целого числа в дату-время встроен в тип. • Целая часть числа типа TDateTime задает число дней, прошедшее с 30 декабря 1899 года, а дробная часть - прошедшую долю текущих суток. • Символьное представление типа дата-время определяется установками Windows. Различные функции преобразования находятся в модуле SysUtils.