- •Windows -приложение
- •Среда программирования
- •Встроенный отладчик
- •Использование графики
- •Графические данные и палитра
- •Сохранение проекта
- •Структура приложения
- •Структура модуля
- •Простые типы
- •Символьные типы
- •Логические типы
- •Тип перечень
- •Составной оператор
- •Оператор if
- •Оператор цикла for
- •Оператор цикла while
- •Оператор цикла repeat
- •Пример приложения 6
- •Пример приложения 7
- •Статические массивы
- •Динамические массивы
- •Оператор with
- •Идентичность типов
- •Совместимость типов
- •Преобразование типов
- •Операторы обработки исключительных ситуаций
- •Рекурсия
- •Процедура exit
- •Директивы подпрограммы
- •Класс как объектный тип
- •Наследование
- •Операции is и as
- •Типы ссылки на класс
- •Типизированные файлы
- •Файлы без типа
- •Пример приложения 17
- •Компонент tmainmenii
- •Двунаправленные списки
- •Потоки данных
- •Пример приложения 22
- •Интерфейс drag and drop
- •Пример приложения 24
- •С файлами
- •Пример приложения 26
- •Программные потоки
- •Приоритеты потоков
- •Класс tthread
- •Проблемы синхронизации потоков
Простые типы
Простой тип определяет множество значений программного элемента, структура которого представляет собой единственную величину. Простые типы (как и другие типы) часто используются в программе для задания пе-
ременных и констант. Переменная есть программный элемент, который может в программе принимать различные значения, в отличие от констант, которые в программе сохраняют постоянные значения. Имеются следующие группы простых типов:
-
целые;
-
логические (булевы);
-
символьные;
-
перечни;
-
интервальные (диапазоны);
-
вещественные;
-
дата-время.
Среди простых типов перечень и интервальный тип определяются программистом, а остальные встроенные. Первые пять типов образуют группу так называемых порядковых типов.
Порядковый тип характеризуется важной отличительной особенностью. Каждое значение порядкового типа (основное) имеет ассоциированное с ним другое значение, представляющее собой порядковый номер: для первого значения - 0, для второго - 1 и т.д. Порядковый номер целого значения равен самому значению. Для порядковых типов существуют встроенные стандартные операции выполнения некоторых действий (табл. 2).
Таблица 2
Операция |
Выполняемые действия |
Low(T) |
Минимальное значение типа Т |
High(T) |
Максимальное значение типа Т |
Ord(X) |
Порядковый номер значения X |
Pred(X) |
Возвращает предыдущее значение для X |
Succ(X) |
Возвращает следующее значение для X |
Dec(X) |
Уменьшает X на единицу |
Inc(X) |
Увеличивает X на единицу |
ЦЕЛЫЕ ТИПЫ
В программных элементах целых типов память интерпретируется в виде информации, представляющей собой целые числа (табл. 3).
Таблща 3
Тип |
Диапазон значений |
Физический формат (байты) |
Shortlnt |
-128..-127 |
1 |
Byte |
0...255 |
1 |
Smalllnt |
-32 768...32 767 |
2 |
Word |
0... 65 535 |
2 |
Longlnt |
-2 147 483 648...2 147 483 647 |
4 |
LongWord |
0...4 294 967 295 |
4 |
Int64 |
-263…263-1 |
8 |
Integer |
Зависит от процессора, |
|
Cardinal |
стандартно занимают 4 байта |
|
34
35
.
Целые типы подразделяются на физические и общие. Физические типы занимают строго определенный объем физической памяти. Общие типы Integer и Cardinal могут занимать различный объем памяти, в зависимости от типа микропроцессора и операционной среды таким образом, чтобы достигалась максимальная эффективность. Целые числа могут записываться как в десятичной, так и в шестнадцатеричной системе счисления. В последнем случае перед числом ставится знак $, а допустимый диапазон значений будет $00000000 ... SFFFFFFFF.
Целые типы можно складывать, вычитать, умножать. Кроме того, можно выполнять действия, представленные в табл. 4.
Таблица 4 |
|
Операция |
Результат |
ABS(X) |
Модуль X |
XdivY |
Нахождение целой части от деления |
XmodY |
Вычисление остатка от деления |
ODD(X) |
Проверяет на нечетность аргумент X |
SQR(X) |
Возводит аргумент X в квадрат |
SQRT(X) |
Извлекает квадратный корень из аргумента X |
Физические типы следует применять, когда в первую очередь важны именно диапазон значений, зависящий от занимаемой памяти, и сам объем памяти. Тип Integer является обобщением всех знаковых целых чисел, а Cardinal - всех беззнаковых.
Целый тип является порядковым типом, поэтому с ним возможны операции, приведенные в табл. 2.