4.4. Основные типы переменных
Переменные целого типа
Целые числа в основном используются для нумерации и индексации различных данных. Они не могут иметь дробей и, например, при целочисленном делении 3 на 2 результатом будет целое число 1. Перечислим эти типы:
1) Byte. Целое число данного типа занимает в памяти ЭВМ 1 байт, и оно всегда положительно, т.е. его значения лежат в диапазоне от 0 до 255. Переменные этого типа можно объявить в разделе переменных следующим образом: Var a, b1, Q32e:Byte; Здесь объявлены три переменные типа Byte. Переменные отделяются друг от друга запятыми, а тип отделяется от списка переменных двоеточием;
2) ShortInt, или короткое целое. Число данного типа занимает в памяти тоже один байт, но старший двоичный разряд отведен для знака числа. 0 соответствует положительному числу, 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 десятичных разрядов;
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:=Петров;
Тип диапазона значений
Тип диапазона значений представляет собой подмножество значений простых типов, при этом начальное и конечное значения разделяются двумя точками. Например, Type Tlat=A..z; включает в себя подмножество всех латинских букв.
Логический тип
Существуют четыре логических типа: Boolean, ByteBool, WordBool, and LongBool. Переменные этих типов могут принимать только два логических значения: True – истина и False – ложь. Значению False соответствует нулевые значения полей этих переменных, а значению True – любые ненулевык значения.
- Программирование в среде Delphi
- Программирование в среде Delphi
- 1. История развития вычислительной техники, системы счисления и единицы информации.................................................7
- 2. Структура персонального компьютера и операционные системы.........................................................................13
- 3. Основы алгоритмизации и работа в delphi..........................18
- 4. Базовые элементы delphi...................................................................26
- 5. Стандартные функции и подпрограммы................................30
- 6. Операторы delphi......................................................................................33
- 7. Операторы циклов....................................................................................35
- 18. Выделение памяти под объект и прародитель всех классов – tobject..........................................................................................84
- 19. Обработка исключительных ситуаций................................87
- 20. Основные классы и общие свойства компонентов...93
- 26. Технология com.....................................................................................129
- 1. История развития вычислительной техники, системы счисления и единицы информации
- 1.1. История развития вычислительной техники
- 1.2. Системы счисления
- 1.3. Единицы информации
- 2. Структура персонального компьютера и операционные системы
- 2.1. Структура персонального компьютера.
- 2.2. Операционные системы
- 3. Основы алгоритмизации и работа в delphi
- 3.1. Основы программирования
- 3.2. Программирование в среде Delphi
- 4. Базовые элементы delphi
- 4.1. Алфавит среды Delphi
- 4.2. Константы
- 4.3. Переменные
- 4.4. Основные типы переменных
- 4.5. Операции над переменными и константами
- 5. Стандартные функции и подпрограммы
- 5.1. Математические функции
- 5.2. Функции преобразования
- 5.3. Дополнительные системные подпрограммы и функции
- 6. Операторы delphi
- 6.1. Оператор присваивания
- 6.2. Оператор безусловной передачи управления
- 6.3. Условный оператор if
- 6.4. Оператор разветвления Case
- 6.5. Составной оператор
- 7. Операторы циклов
- 7.1. Оператор цикла For
- 7.2. Оператор цикла Repeat
- 7.3. Оператор цикла While
- 8. Работа с массивами
- 9. Работа со строками
- 9.1. Процедуры работы со строками
- 9.2. Функции работы со строками
- 10. Работа с записями
- 11. Процедуры и функции
- 12. Модуль unit
- 13. Работа со множествами
- 14. Работа с файлами
- 14.1. Текстовые файлы
- 14.2. Типированные файлы
- 14.3. Нетипированные файлы
- 15. Работа с файлами и каталогами
- 16. Динамические переменные и структуры данных
- 16.1. Динамические переменные
- 16.2. Работа со стеком
- 16.3. Работа со списками или очередями
- 16.4. Работа с деревьями
- 17. Основы объектно–ориентированного программирования
- 17.1. Объекты и классы
- 17.2. Области видимости класса
- 17.3. Свойства (Property) и инкапсуляция
- 17.4. Методы, наследование и полиморфизм
- 17.5. События (Events)
- 18. Выделение памяти под объект и прародитель всех классов – tobject
- 18.1. Выделение памяти под объект
- 18.2. Описание класса tObject
- 18.3. Операторы приведения типов классов
- 19. Обработка исключительных ситуаций
- 19.1. Два вида оператора Try
- 19.2. Программное создание исключительной ситуации
- 19.3. Основные исключительные ситуации
- 20. Основные классы и общие свойства компонентов
- 20.1. Класс tList
- 20.2. Класс tStrings
- 20.3. Общие свойства компонентов
- 21. Графические возможности delphi
- 21.1. Класс Tcanvas
- 21.2. Классы тGгарhic и тРicture
- 21.3. Классы tFont, tPen и tBrush
- 21.4. Работа с изображениями
- 22. Визуальные компоненты delphi
- 22.1. Компонент tBitBtn
- 22.2. Компоненты tDrawGrid и tStringGrid
- 22.3. Компонент tPageControl
- 22.4. Компонент tTimer
- 22.5. Компонент tGauge
- 22.6. Компонент tСolorGrid
- 23. Стандартные диалоговые окна и типовые диалоги
- 23.1. Стандартные диалоговые окна
- 23.2. Типовые диалоги
- 24. Форма, приложение и глобальные объекты
- 24.1. Форма и ее свойства
- 24.2. Объект Application
- 24.3. Глобальные объекты
- Объект ClipBoard
- Объект Screen
- Объект Printer
- 25. Межпрограммное взаимодействие
- 25.1. Обмен сообщениями
- 25.2. Динамический обмен данными
- 25.3. Совместное использование общей памяти
- 25.4. Каналы
- 25.5. Сокеты
- 26. Технология com
- 26.1. Интерфейс
- 27. Технология автоматизации
- 27.1. Основы ole Automation
- 27.2. Примеры использования серверов автоматизации
- 27.3. Компоненты ActiveX
- 28. Динамические библиотеки
- 28.1. Создание dll
- 28.2. Использование dll
- 28.3. Пример написания dll
- 29. Работа с базами данных
- 29.1. Основные определения
- 29.2. Взаимодействие приложения на Delphi с базами данных
- 29.3. Компоненты взаимодействия с базами данных
- If adoTable1.Locate(’fio,stag’,varArrayOf([’Иванов’,’10’]),[])Then …;
- 29.4. Работа с локальной базой данных
- 30. Основы языка sql
- 30.1. Составные части sql
- 30.2. Команда select
- 30.3. Пример использования запросов в Delphi
- 31. Создание собственных компонентов
- 32. Работа с реестром
- 33. Перспективы программирования в delphi
- Литература
- 220013, Минск, п.Бровки, 6