Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Delphi.doc
Скачиваний:
3
Добавлен:
10.09.2019
Размер:
4.23 Mб
Скачать

2.2.2. Константы

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

const

DelphiLanguage = 'Object Pascal';

KylixLanguage = DelphiLanguage;

Yard = 914.4;

Foot = 304.8;

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

Значение константы можно задавать и выражением. Эту возможность удобно использовать для комплексного представления какого-либо понятия. Например, временной промежуток, равный одному месяцу, можно задать так:

const

SecondsInMinute = 60;

SecondsInHour = SecondsInMinute * 60;

SecondsInDay = SecondsInHour * 24;

Очевидно, что, изменив базовую константу SecondsInMinute, можно изменить значение константы SecondsInDay.

При объявлении константы можно указать ее тип:

const

Percent: Double = 0.15;

FileName: string = 'HELP.TXT';

Такие константы называются типизированными; их основное назначение - объявление константных значений составных типов данных.

2.2.3. Переменные

Переменные в отличие от констант могут неограниченное число раз менять свое значение в процессе работы программы. Если в начале программы некоторая переменная X имела значение 0, то в конце программы X может принять значение 10000. Так бывает, например, при суммировании введенных с клавиатуры чисел.

Переменные описываются с помощью зарезервированного слова var. За ним перечисляются идентификаторы переменных, и через двоеточие указывается их тип. Каждая группа переменных отделяется от другой группы точкой с запятой. Например:

var

Index: Integer; // переменная целого типа данных

FileName: string; // переменная строкового типа данных

Sum, Profit: Double; // группа переменных вещественного типа данных

В теле программы переменной можно присвоить значение. Для этого используется составной символ :=, например:

Sum := 5000.0; // переменной Sum присваивается 5000

Percent := 0.15; // переменной Percent присваивается 0.15

Profit := Sum * Percent; // вычисляется произведение двух переменных

// и его результат присваивается переменной

// Profit

Вы можете присвоить значение переменной непосредственно при объявлении:

var

Index: Integer = 1;

Delimiter: Char = ';';

Объявленные таким образом переменные называются инициализированными. На инициализированные переменные накладывается ограничение: они не могут объявляться в подпрограммах (процедурах и функциях). Если переменная не инициализируется при объявлении, то по умолчанию она заполняется нулем.

Каждый используемый в программе элемент данных должен быть описан в разделе const или var. Исключение составляют данные, заданные непосредственно значением, например:

Write(100, 200); // 100 и 200 - данные, заданные значением

2.3. Простые типы данных 2.3.1. Целочисленные типы данных

Целочисленные типы данных применяются для описания целочисленных данных. Для решения различных задач могут потребоваться различные целые числа. В одних задачах счет идет на десятки, в других - на миллионы. Соответственно в языке Delphi имеется несколько целочисленных типов данных, среди которых вы можете выбрать наиболее подходящий для своей задачи (таблица 2.1).

Тип данных

Диапазон значений

Объем памяти (байт)

Фундаментальные типы данных

Byte

0..255

1

Word

0..65535

2

Shortint

-128..127

1

Smallint

-32768..32767

2

Longint

-2147483648..2147483647

4

Longword

0.. 4294967295

4

Int64

-2^63..2^63-1

8

Обобщенные типы данных

Cardinal

0.. 4294967295

4*

Integer

-2147483648..2147483647

4*

Таблица 2.1. Целочисленные типы данных

* Примечание: количество байт памяти, требуемых для хранения переменных обобщенных типов данных, приведено для 32-разрядных процессоров семейства x86.

Пример описания целочисленных данных:

var

X, Y: Integer;

TextLength: Cardinal;

FileSize: Longint;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]