Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika-otvety (2).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
493.88 Кб
Скачать
  1. Перечисляемый тип. Ограниченный тип. Множества

Перечисляемые типы в 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.

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