- •Часть 1. Среда Delphi Тема 1. Объектно-ориентированное программирование
- •Тема 2. Элементы интерфейса
- •Окно проектировщика формы
- •Окно инспектора объектов
- •С оздание и сохранение проекта и файла модуля Как открыть новый проект?
- •Как открыть существующий проект?
- •Тема 3. Характеристика проекта. Состав проекта
- •Файлы формы
- •Файлы модулей
- •Файл ресурсов
- •Параметры проекта
- •Тема 4. Компиляция и выполнение проекта
- •Тема 5. Основные объекты
- •Основные свойства объектов
- •Основные события
- •Часть 2. Язык Object Pascal
- •Тема 1. Основные понятия
- •Словарь языка
- •Структура программы
- •Комментарии
- •Тема 2. Данные Виды данных
- •Типы данных
- •Простые типы данных
- •Структурные типы данных
- •Тема 3. Выражения
- •Арифметические выражения
- •Логические выражения
- •Строковые выражения
- •Тема 4. Простые операторы Оператор присваивания
- •Оператор перехода
- •Тема 5. Работа с графикой
- •Оператор доступа
- •Рисование многоугольников в Delphi
- •Закрашивание произвольной области в Delphi
- •Работа с несколькими формами
- •Объект Shape (Фигура)
- •Тема 6. Работа с датой и временем Объект Timer
- •Свойства компонента Timer
- •Манипулирование датами и временем
- •Тема 7. Встроенные окна диалога.
- •Окно ввода данных
- •InputВох(заголовок, подсказка, значение)
- •Окно вывода сообщений
- •Тема 8. Структурированные операторы
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операторы цикла
- •Тема 9. Подпрограммы
- •Процедуры
- •Функции
- •Параметры и аргументы
- •Тема 10. Работа с элементами выбора
- •1. Флажок (CheckBox)
- •2. ПереключательRadioButton
- •Свойства компонента RadioButton
- •Свойства компонента tRadioGroup
- •3. Простой список ListBox
- •Свойства компонента ListBox
- •4. Комбинированный список ComboBox
- •Свойства компонента СотbоВох
- •Значения для свойства Style
- •Тема 11. Работа с меню
- •Основные свойства пункта меню:
- •Главное меню
- •Конструктор меню
- •Динамическая настройка меню
- •Тема 12. Массивы
- •Объявление массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Поиск минимального (максимального) элемента массива
- •Сортировка массива
Типы данных
Тип определяет множество значений, которые могут принимать элементы программы, и совокупность операций, допустимых над этими значениями.
Например, значения -34 и 67 относятся к целочисленному типу и их можно умножать, складывать, делить и выполнять другие арифметические операции, а значения abed и sdfhi23 относятся к строковому типу и их можно сцеплять (складывать), но нельзя делить или вычитать.
Типы данных можно разделить на следующие группы:
простые;
структурные;
указатели;
процедурные;
вариантные.
В свою очередь, простые и структурные типы включают в свой состав другие типы, например, целочисленные или массивы. Приводимое деление на типы в некоторой мере условно – иногда указатели причисляют к простым типам, а строки, которые относятся к структурным типам, выделяют в отдельный тип.
Важное значение имеет понятие совместимости типов, которое означает, что типы равны друг другу или один из них может быть автоматически преобразован к другому. Совместимыми, например, являются вещественный и целочисленный тип, так как целое число автоматически преобразовывается в вещественное, но не наоборот.
Простые типы данных
Простые типы не содержат в себе других типов, и данные этих типов могут одновременно содержать одно значение. К простым относятся следующие типы:
целочисленные;
символьные;
логические (булевы);
вещественные.
Все типы, кроме вещественного, являются порядковыми, то есть значения каждого из этих типов образуют упорядоченную конечную последовательность. Номера соседних значений в ней отличаются на единицу.
Для записи целых чисел можно использовать цифры и знаки + и -, если знак числа отсутствует, то число считается положительным. При этом число может быть представлено как в десятичной, так и в шестнадцатеричной системе счисления. Если число записано в шестнадцатеричной системе, то перед ним ставится знак $ (без пробела), а допустимый диапазон значений – ОТ $00000000 ДО $FFFFFFFF.
Таблица 1. Характеристики целых типов
Название типа |
Идентификатор |
Диапазон представления чисел |
Размер памяти |
Фундаментальные типы |
|||
Однобайтовое короткое целое со знаком. |
Shortint |
-128..127 |
1 байт |
Двухбайтовое целое со знаком. |
Smallint |
-32768..32767 |
2 байта |
Четырехбайтовое длинное целое со знаком. |
Longint |
-2147483648..2147483647 |
4 байта |
Однобайтовое короткое целое без знака. |
Byte |
0..255 |
1 байт |
Двухбайтовое целое без знака. |
Word |
0..65535 |
2 байта |
Родовые типы |
|||
Родовое целое со знаком. |
Integer |
-32768..32767 или -2147483648..2147483647 |
2 байта или 4 байта |
Родовое целое без знака |
Cardinal |
0..65535 или 0..2147483647 |
2 байта или 4 байта |
Конкретный тип и точность констант и результатов вычисления выражений целого типа устанавливаются минимально необходимыми для их представления.
Значениями символьного типа являются элементы из набора литер, то есть отдельные символы. В Object Pascal определен литерный тип char, который занимает один байт, а для кодирования символов используется код американского национального института стандартов ANSI (American National Standards Institute).
К символам применимы следующие функции:
chr(x) : char – возвращает символ с кодом, равным значению целочисленного выражения х;
upCase (С) : char – преобразует символ с к верхнему регистру.
В Object Pascal к логическому относится тип Boolean. Этот тип представлен двумя возможными значениями: True (истина) и False (ложь). Для представления логического значения требуется один байт памяти.
Интервальные типы описываются путем задания двух констант, определяющих границы допустимых для данных типов значений. Эти границы и определяют интервал (диапазон) значений. Компилятор для каждой операции с переменной интервального типа, если это возможно, проверяет, находится ли значение переменной внутри установленного для нее интервала, и в случае его выхода за границы выдает сообщение об ошибке. Во время выполнения программы при выходе значения интервального типа за границы интервала сообщение об ошибке не выдается, однако значение переменной будет неверным.
Интервал можно задать только для порядкового типа, то есть для любого простого типа кроме вещественного. Обе константы, определяющие интервал, должны принадлежать одному из простых типов. Значение первой константы должно быть меньше значения второй. Формат описания интервального типа:
Туре <Имя типа> = <Константа1> .. <Константа2>;
Пример. Описание переменных интервальных типов.
Type Dayl_31 = 1..31;
Var dayl, day2 : Dayl_31;
Переменные dayl и day2 имеют тип Day1_31 и могут принимать значения в диапазоне от 1 до 31.
Вещественные (действительные) типы включают в себя вещественные числа. Наиболее часто используется тип Real, обеспечивающий точность 15 – 16 цифр мантиссы.
Запись вещественных чисел возможна в форме с фиксированной и в форме с плавающей точкой. Вещественные числа с фиксированной точкой записываются по обычным правилам арифметики. Целая часть отделяется от дробной десятичной точкой. Перед числом может указываться знак + или -.
Если знак отсутствует, то число считается положительным. Для записи вещественных чисел с плавающей точкой указывается порядок числа со знаком, отделенный от мантиссы знаком Е (ИЛИ е). Примерами вещественных чисел являются 12 . 5, -137 . 0, +10Е+3.
Таблица 2. Характеристики вещественных типов
Название типа
|
Идентификатор |
Диапазон представления чисел |
Значащие цифры мантиссы |
Размер памяти |
Вещественное одинарной точности. |
Single |
от 1.5*10-45 до 3.4*1038 |
7..8 |
4 байта |
Вещественное. |
Real |
от 2.9*10-39 до 1.7* 1038 |
11..12 |
6 байтов |
Вещественное двойной точности. |
Double |
от 5.0*10-324 до 1.7*10308 |
15..16 |
8 байтов |
Вещественное повышенной точности. |
Extended |
от 3.4*10-4932 до 1.1*104932 |
19..20 |
10 байтов |
Целое в формате вещественного. |
Comp |
от - 263+1 до 263-1 или приблизительно от -9.2*1018 до 9.2*1018 |
19..20 |
8 байтов |
Вещественное повышенной точности в формате с фиксированной точкой. |
Currency |
от -922337203685477.5808 до 922337203685477.5807 |
19..20 |
8 байтов |
Типы Соmр и currency представляют вещественные числа с фиксированной точкой и введены для точных расчетов денежных сумм. При присваивании переменной типа Соmр дробного значения происходит округление до ближайшего целого
К выражениям вещественных типов применимы следующие функции:
Round (X) – округленное значение выражения х;
trunс(х) – целая часть значения выражения х.