ТИПЫ программных элементов каждое имя в программе имеет ассоциированный с ним тип
Тип определяет: 1. структуру программного элемента, (т. е. интерпретацию памяти) 2. множество допустимых значений; 3. совокупность возможных операций
Задание типа необходимо чтобы компилятор мог 1. выделить соответствующую память 2. установить механизм доступа к самому элементу и его компонентам.
В Object Pascal следующие типы: 1.простые; 2.структурированные; 3.указатели; 4.классы; 5. вариантный тип.
Структурированные типы: 1.массивы; 2.строки; 3.записи; 4.множества; 5.файлы.
Простые типы Простой тип определяет множество значений программного элемента, структура которого представляет собой единственную величину 1.. Порядковые типы
Встроенные стандартные операции для порядковых типов Операция Выполняемые действия Low(T)Минимальное значение типа Т High(T)Максимальное значение типа Т Ord(X)Порядковый номер значения X Pred(X)Возвращает предыдущее значение для X Succ(X)Возвращает следующее значение для X Dec(X)Уменьшает X на единицу Inc(X)Увеличивает X на единицу
Целые типы Тип Диапазон значений Физический формат (байты) Shortlnt-128…127 1 Byte0…255 1 Smallint-32768… Word0… Longint … LongWord Cardinalстандартно занимают 4 байта Integer Зависит от процессора Физические типы Общие типы
Целые числа Целые числа могут записываться в десятичной системе счисления. в шестнадцатеричной системе счисления. перед шестнадцатеричным числом ставится знак $ допустимый диапазон значений $ $FFFFFFFF.
Целые типы Целые типы можно складывать, вычитать, умножать. Кроме того, можно выполнять действия, представленные в таблице Операция Результат ABS(X)Модуль Х X div YНахождение целой части от деления X mod YВычисление остатка от деления ODD(X)Проверяет на нечетность аргумент X SQR(X)Возводит аргумент X в квадрат SQRT(X)Извлекает квадратный корень из аргумента X
Физические типы следует применять, когда важны диапазон значений, зависящий от занимаемой памяти, объем памяти. Тип Integer является обобщением всех знаковых целых чисел Тип Cardinal - всех без знаковых целых чисел Целый тип является порядковым типом
СИМВОЛЬНЫЕ ТИПЫ Существуют две символьных схемы : набор 8-битовых символов - ANSI- стандарт набор 16-битовых символов - стандарт UNICODE
Символьные типы в Delphi Физические: ANSIChar (ANSI-стандарт ) WideChar (UNICODE -стандарт) Общий тип: Char, обычно соответствует типу AnsiChar. Каждый символ имеет свой собственный порядковый номер. Номер символа можно извлечь с помощью функции Ord(C), где С - какой-либо символ.
Операция присваивания для символьных типов С :='А ' ; - значение указывается в апострофах С := #65; порядковый номер символа А в наборе символов;
ЛОГИЧЕСКИЕ ТИПЫ Общий тип Boolean (1 байт) - ( предпочтительней использовать ) Физические типы: ByteBool (1 байт), WordBool (2 байта) LongBool (4 байта). Переменным булевого типа можно присваивать только значения true или false. если память, соответствующая логической переменной типа Boolean, содержит 0, то ее значение равно false, если в памяти содержится 1, то значение логической переменной равно true. Физические типы
ЛОГИЧЕСКИЕ ТИПЫ Переменные физических булевых типов (ByteBool), WordBool и LongBool ) интерпретируют содержимое памяти по- другому: если в памяти содержится 0, значение переменной равно false, при любом другом значении значение переменной равно true. Однако функция Ord всегда возвращает значение 1, если переменная равна true, и 0, если значение переменной равно false. Таким образом, порядковый номер false равен 0, a true - 1.
ТИП ПЕРЕЧЕНЬ Примеры объявления: Type EnumType = (Valuel, Value2, Value3); Type MyColor = (Red, Green, Blue); Тип перечень относится к порядковому типу Ord(Red) = 0, Ord(Green) = 1, Ord(Blue) = 2.
ИНТЕРВАЛЬНЫЙ ТИП Интервальный тип (диапазон) позволяет объявить переменные, содержащие информацию из некоторого заданного поддиапазона для какого-то исходного базового типа. Базовый тип должен быть порядковым, кроме типа диапазон. Синтаксис объявления интервального типа имеет следующий вид: Туре D = MinValue..MaxValue; где константы: MinValue и MaxValue определяют соответственно минимальное и максимальное значения среди всех возможных значений для данного типа Например: Type Day : ;
ВЕЩЕСТВЕННЫЙ ТИП Тип Пороговое значение Single1,5-КГ45 5-Ю"3243,6-Ю"95110, Double Extended Comp Currency Real
Исчезновение порядка Особенность вещественных типов заключается в том, что они представляют некоторое подмножество математических вещественных чисел, которое можно представить в формате с плавающей запятой и фиксированным числом цифр, т. е. точное представление чисел не всегда возможно. Удивительно, но такое простое число, как 0.1, записывается с некоторой погрешностью, пусть очень небольшой.
ТИП ДАТА-ВРЕМЯ Стандартный тип дата-время (TDateTime), определенный в модуле System, совпадает с типом Double. Например, если определена константа типа дата-время , то это число означает 1 января 1996 г., Способ преобразования целого числа в дату-время встроен в тип целая часть числа типа TDateTime задает число дней, прошедшее с 30 декабря 1899 года, дробная часть - прошедшую долю текущих суток. Символьное представление типа дата-время определяется установками Windows. Различные функции преобразования находятся в модуле SysUtils.