Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Delphi (Колосов).pdf
Скачиваний:
77
Добавлен:
11.05.2015
Размер:
2.57 Mб
Скачать

4. БАЗОВЫЕ ЭЛЕМЕНТЫ DELPHI

4.1. Алфавит среды Delphi

Для записи программы в Delphi можно использовать следующие символы:

1)буквы латинского алфавита A–Z, a–z (52 символа);

2)арабские цифры от 0 до 9;

3)специальные символы - . , : ; * / - + = ( ) [ ] { } ~ ! @ # $ % ^ & ‘ “ < > ? _;

4)буквы русского алфавита А–Я, а–я (64 символа). Их можно использовать только в текстовых константах и комментариях.

4.2. Константы

Константы могут быть разного типа:

1)целые – 1, -12, 1048;

2)вещественные – 1., -0.25, 0.25E-3 – эквивалентно 0,25*10-3;

3)логические – True – истина и False – ложь;

4)символьные – ’a’, ’Q’, #82 (символ # обозначает начало символьной константы, а 82 – номер символа в кодовой таблице);

5)cтроковые – ’Алгоритм’. Если в строку входит символ апострофа, то он записывается дважды, например, запись ’Дом ’’27’ эквивалентна строке – Дом ’27;

6)шестнадцатеричные – $A8, $FB3E, здесь символ $ обозначает начало шестнадцатеричной константы.

4.3. Переменные

Имя переменной должно начинаться с буквы и содержать не более 127 алфавитно–цифровых символов, но значащими будут только первые 63 символа. Например: A4, dw77eaaaabbbb, R_28i – все это имена переменных.

4.4. Основные типы переменных

Переменные целого типа

Целые числа в основном используются для нумерации и индексации различных данных. Они не могут иметь дробей и, например, при целочисленном делении 3 на 2 результатом будет целое число 1. Перечислим эти типы:

1)Byte. Целое число данного типа занимает в памяти ЭВМ 1 байт, и оно всегда положительно, т.е. его значения лежат в диапазоне от 0 до 255. Переменные этого типа можно объявить в разделе переменных следующим образом:

Var a, b1, Q32e:Byte;

Здесь объявлены три переменные типа Byte. Переменные отделяются друг от друга запятыми, а тип отделяется от списка переменных двоеточием;

2)ShortInt, или короткое целое. Число данного типа занимает в памяти тоже один байт, но старший двоичный разряд отведен для знака числа. 0

26

соответствует положительному числу, 1 – отрицательному числу. Диапазон значений от -128 до 127. Интересно отметить, что отрицательные целые числа хранятся в виде дополнения к положительному числу. Например, положительное число 14(10)=00001110(2)=0E(16), а отрицательное число -14(1) будет выглядеть следующим образом:

100000000 - 00001110

11110010(2)= -14(10)= F2(16).

Это позволяет ЭВМ не выполнять операцию вычитания целых чисел. В любом случае целые числа всегда складываются, а результат всегда будет правильным за счет особого способа хранения отрицательных чисел;

3)Word. Целое положительное число данного типа занимает в памяти ЭВМ 2 байта и может принимать значения в диапазоне от 0 до 65535;

4)SmallInt. Целое число данного типа занимает в памяти ЭВМ 2 байта и может принимать значения в диапазоне от -32768 до 32767;

5)Integer или LongInt. В первых версиях Delphi тип Integer занимал 2 байта, но начиная с Delphi–4 переменные этого типа занимают в памяти 4 байта, так же как и тип LongInt. Диапазон значений целых чисел лежит в интервале от -2 147 483 648 до 2 147 483 647;

6)LongWord или Cardinal. Целое положительное число данного типа занимает в памяти ЭВМ 4 байта и может принимать значения в диапазоне от 0 до 4 294 967 295;

7)Int64. Целое число данного типа занимает в памяти ЭВМ 8 байта и может принимать значения в диапазоне от -263 до 263-1.

Переменные вещественного типа

Вещественные числа – это числа, которые могут иметь дробную часть числа. Вешественные типы:

1)Single. Переменные этого типа занимают в памяти 4 байта. Диапазон представления чисел лежит в интервале от 1.5 10-45 до 3.4 1038. Точность представления таких чисел достигает 6 десятичных разрядов;

2)Real48. Ранее этот тип назывался просто Real и использовался на компьютерах, в которых отсутствовал математический сопроцессор. Переменные этого типа занимают в памяти 6 байт. Диапазон представления чисел лежит в интервале от 2,9 10-39 до 1,7 1038. Точность представления таких чисел достигает 10 десятичных разрядов. Переменные данного типа лучше не использовать в программе, так как математический сопроцессор не работает с таким представлением чисел и компилятор автоматически переводит их в тип Extended;

3)Double или Real. Переменные этого типа занимают в памяти 8 байт. Диапазон представления чисел лежит в интервале от 5,0 10–324 до 1,7 10308. Точность представления таких чисел достигает 16 десятичных разрядов;

27

4)Extended. Это основной вещественный тип, математический сопроцессор всегда работает с числами, представленными в этом типе. Переменные этого типа занимают в памяти 10 байт. Диапазон представления чисел лежит в интервале от 3,6 10–4951 до 1,1 104932. Точность представления таких чисел достигает 22 десятичных разрядов;

5)Comp. Это устаревший тип на 8 байт для работы с целыми числами, однако они воспринимаются как вещественные. Лучше вместо этого типа использовать тип Int64;

6)Тип Currency. Этот тип используется для работы с денежными значениями. Переменные этого типа в памяти занимают 8 байт. Это тип данных с фиксированной точкой, последние четыре десятичных разряда отведены для дробей или в денежном выражении – копеек и сотых долей копеек. Диапазон представления чисел лежит в интервале от –

922337203685477,5808 до 922337203685477,5807.

Символьный тип

Язык Delphi поддерживает два символьных типа – Ansichar и Widechar. Тип Ansichar – это символы в кодировке ANSI, которым соответствуют числа в диапазоне от 0 до 255; тип Widechar – это символы в кодировке Unicode, им соответствуют числа от 0 до 65 535.

Delphi поддерживает и наиболее универсальный символьный тип – Char, который эквивалентен Ansichar.

Строковый тип

Строковые переменные могут быть следующих типов:

ShortString – короткая строка с числом символов до 255,

AnsiString – длинная строка с числом символов до 231-1,

WideString – длинная строка с числом символов до 230 и кодировкой UniCode, когда каждому коду символа выделяется по 2 байта.

Можно также использовать тип String. Он по умолчанию соответствует типу AnsiString, если явно не указана максимальная длина строки. В опциях транслятора ему в соответствие можно также поставить тип AnsiString.

Перечисляемый тип

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

Type Tfio=(Иванов, Петров, Сидоров);

Впрограмме в разделе переменных, допустим, определим переменную

Var Fio:TFio;

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

Fio:=Петров;

28

Тип диапазона значений

Тип диапазона значений представляет собой подмножество значений простых типов, при этом начальное и конечное значения разделяются двумя точками. Например, Type Tlat=A..z; включает в себя подмножество всех латинских букв.

Логический тип

Существуют четыре логических типа: Boolean, ByteBool, WordBool, and LongBool. Переменные этих типов могут принимать только два логических значения: True – истина и False – ложь. Значению False соответствует нулевые значения полей этих переменных, а значению True – любые ненулевык значения.

4.5. Операции над переменными и константами

Арифметические операции:

1)+ сложение,

2)- вычитение,

3)* умножение,

4)/ вещественное деление,

5)div – целочисленное деление, результат всегда целый, а дробная часть отбрасывается,

6)mod – остаток от целочисленного деления, например, 17 div 5 равно 2.

Операции отношения:

1)= равно,

2)<> не равно,

3)> больше,

4)< меньше,

5)>= больше или равно,

6)<= меньше или равно.

Результатом операции отношения всегда будет логическое значение, например 7>9 равно значению – False.

Логические операции:

1.OR – логическое «или». Результат такой операции можно представить

ввиде следующей таблицы, где a и b операнды, а T (True) и F (False) – результаты этой операции:

a \ b

T

F

T

T

T

F

T

F

Например, если a = True, а b = False, то результат операции a OR b будет равен

True.

2. XOR – исключающее «или» или сложение по модулю 2. Результат такой операции можно представить в виде следующей таблицы:

a \ b

T

F

T

F

T

F

T

F

29