Тип-множество (set). Язык программирования Turbo Pascal 7.0
В каждое множество включается и т. н. пустое множество, не содержащее никаких элементов. Множество (Set) — это совокупность элементов одного и того же перечисляемого типа. In — проверка, входит ли элемент, указанный слева, в множество, указанное справа. Проверка, является ли правое множество подмножеством левого множества; Проверка, является ли левое множество подмножеством правого множества… Читать ещё >
Тип-множество (set). Язык программирования Turbo Pascal 7.0 (реферат, курсовая, диплом, контрольная)
Множество (Set) — это совокупность элементов одного и того же перечисляемого типа.
Число элементов исходного множества в Turbo Pascal не может быть больше 256, а порядковые номера элементов (т. е. значение функции Ord) должны находиться в пределах от 0 до 255.
Для задания типа-множества следует использовать зарезервированные слова set и of, а затем указать элементы этого множества, как правило, в виде перечисления или диапазона, например:
type.
Alfa = set of 'A'.'Z';
Count = set of (Plus, Minus, Mult, Divid);
Ten = set of 0.9;
Number = set of '0'.'9';
Введя тип-множество, можно задать переменные или типизированные константы этого типа-множества.
При задании значений константе-множеству ее элементы перечисляются через запятую (допустимо указывать диапазоны) и помещаются в квадратные скобки.
var.
Charval: Alfa;
Operation: Count;
Const.
Index: Ten = [0, 2, 4, 6, 8];
Digit: Number = ['0'.'9'];
Так же как и для других структурированных типов, тип-множество можно тести непосредственно при задании переменных или типизированных констант:
var.
CharVal: set of 'A'.'Z';
Operation: set of (Plus, Minus, Mult, Divid);
Const.
Index: set of 0.9=[0, 2, 4, 6, 8];
Digit: set of '0'.'9'=['0'.'9'];
Множеству можно в программе присвоить то или иное значение. Обычно значение задается с помощью конструктора множества. Конструктор задает множество элементов с помощью перечисления в квадратных скобках выражений, значения которых дают элементы этого множества. Допустимо использовать диапазоны элементов.
Следующие структуры являются конструкторами множеств:
[Plus, Minus].
[1.К mod 12, 15].
[Chr (0).Chr (31), 'А', 'В'].
В каждое множество включается и т. н. пустое множество [ ], не содержащее никаких элементов.
Конструктор множества можно использовать и непосредственно в операциях над множествами.
Для множеств определены следующие операции:
+ - объединение множеств;
- — - разность множеств;
- * - пересечение множеств;
= - проверка эквивалентности двух множеств;
— проверка неэквивалентности двух множеств;
<= - проверка, является ли левое множество подмножеством правого множества;
>= - проверка, является ли правое множество подмножеством левого множества;
in — проверка, входит ли элемент, указанный слева, в множество, указанное справа.
Результатом операции объединения, разности или пересечения является соответствующее множество, остальные операции дают результат логического типа.
Пример.
Ввести строку символов, состоящую из латинских букв, цифр и пробелов. Осуществить проверку правильности введенных символов.
program EXAMPLE;
Var.
Str: string;
L: Byte;
Tru: Boolean;
Begin.
WriteLn ('Введите строку');
ReadLn (Str);
L := Length (Str); {число введенных символов}.
Tru := L > 0; {true, если не пустая строка}.
while Tru and (L > 0) do {проверка с конца строки}.
Begin.
Tru:=Str[L] in ['0'.'9, 'A'.'Z, 'a'.'z, ' ']; {проверка допустимости символа}.
Dec (L) {предыдущий символ}.
end;
if Tru then.
WriteLn ('Правильная строка').
Else.
WriteLn ('Неправильная строка').
end.