- •Целый тип данных
- •Вещественный тип данных
- •Структура программы. Операторы языка
- •Ввод-вывод данных
- •Условный оператор и оператор выбора
- •Перечисляемый тип. Ограниченный тип. Множества
- •Иерархические записи
- •Операторы цикла Оператор цикла с параметром. Операторы цикла итерационного типа
- •Основные принципы ооп
- •Класс, объект
- •Конструкторы и деструкторы
- •Наследование
- •Полиморфизм
- •Визуальное программирование. Среда Делфи
- •Структура проекта. Модули
- •Компоненты. Его свойства и методы
- •Компиляция и сообщение компилятору
- •Линейный алгоритм в среде Делфи
- •20Иерархия классов в Делфи
- •Массивы
- •Создание и работа со списками
- •Управляющие компоненты
- •Переключатели зависимые и независимые
- •Контейнеры
- •Контейнеры. Формы модальные. Диалоговые окна
- •Классы exception
- •Создание главного меню
- •Типизированные файлы
- •Инструменты TabControl PageControl ToolBar CoolBar StatusBar
- •Динамическая структура
- •Форматы графических файлов
- •Основные типы бд. Создание бд
- •Компоненты для создания приложений бд
- •Создание вычисляемых полей и полей выбора
- •Навигационный способ доступа к данным
- •Способы фильтрации
- •Создание и обработка набора данных нескольких таблиц
- •Конструктор отчетов
Перечисляемый тип. Ограниченный тип. Множества
Перечисляемые типы в Delphi позволяют создавать упорядоченный перечень элементов. Каждый элемент именуется некоторым идентификатором (имя идентификатора должно быть без пробелов и состоять из букв латинского алфавита) и находиться в списке, по краям обрамленном круглыми скобками. Элементы отделяются друг от друга запятой. Перечисляемые типы в программе делают код нагляднее и понятнее. Также они повышают надежность программ из-за возможности контроля значений, получаемых переменными.
пример:
type
TypeMonth = (jan,feb,mar,apr);
Color = (red, green, blue, white);
Объявив перечисляемый тип, мы можем задавать переменные данного типа.
var
col : Color;
Month : TypeMonth;
Для того чтобы присвоить значения переменным напишем операторы:
col := red;
Month := feb;
Переменные перечисляемого типа можно создавать сразу, без предварительного описания типа типа переменной.
var
Countri : (Russia, France, USA, Poland, Germany, Italy);
Значения перечисляемого типа и порядковые номера этих значений имеют соответствие согласно порядку перечисления. Первое значение имеет порядковый номер 0, второе 1, и т.д. Максимальное возможный порядковый номер равен 65536.
Функция Ord(X) возвращает порядковый номер значения выражения X.
C порядковыми типами применяют еще 2 функции Pred(X) и Succ(X).
Pred(X) - возвращает предыдущее значение.
Succ (X) - возвращает следующее значение.
Расположим на форме кнопку и напишем следующий код:
Ограниченный тип данных
Ограниченный тип данных представляет собой интервал значений порядкового типа, называемого базовым типом. Описание типа задаёт наименьшее и наибольшее значения, входящие в этот интервал.
Например,
Var a: 1..25; ch: 'a' ..'z';
Здесь переменные а и ch могут принимать значения только из указанного интервала; базовым типом для переменой а является целый тип, а для переменной ch - символьный.
Переменная ограниченного типа сохраняет все свойства переменных базового типа.
Для чего вводится ограниченный тип данных? Использование ограниченного типа делает программу наиболее понятной и наглядной. Например, если в программе переменная b может принимать только значения 3, 4, 5, 6, 7, 8, то лучше описать её следующим образом: Var b: 3..8;, чем Var b: Integer; так как в случае выхода значения b за диапазон 3..8 в первом случае будет выдано диагностическое сообщение, которое поможет найти ошибку. Во втором случае будет получен неправильный результат, что затруднит поиск ошибки. Таким образом, второй вариант описания переменной следует использовать в тех случаях, когда диапазон значений заранее неизвестен либо занимает весь допустимый интервал значений для рассматриваемого типа.
Множество в Паскале
В языке Паскаль множество — составной тип данных, хранящий информацию о присутствии в множестве объектов любого счетного типа. Мощность этого типа определяет размер множества — 1 бит на элемент. В Turbo Pascal есть ограничение на 256 элементов, в некоторых других реализациях это ограничение ослаблено.
Пример работы с множествами:
type
{определяем базовые для множеств перечислимый тип и тип-диапазон}
colors = (red,green,blue);
smallnumbers = 0..10;
{определяем множества из наших типов}
colorset = set of colors;
numberset = set of smallnumbers;
{можно и не задавать тип отдельно}
anothernumberset = set of 0..20;
{объявляем переменные типа множеств}
var
nset1,nset2,nset3:numberset;
cset:colorset;
begin
nset1 := [0,2,4,6,8,10]; {задаем в виде конструктора множества}
cset := [red,blue]; {простым перечислением элементов}
nset2 := [1,3,9,7,5]; {порядок перечисления неважен}
nset3 := []; {пустое множество}
include(nset3,7); {добавление элемента}
exclude(nset3,7); {исключение элемента}
nset1 := [0..5]; {возможно задавать элементы диапазоном}
nset3 := nset1 + nset2; {объединение}
nset3 := nset1 * nset2; {пересечение}
nset3 := nset1 - nset2; {разность}
if (5 in nset2) or {проверка на вхождение элемента}
(green in cset) then
{…}
end.
