Информатика на пять О нас
 Добавить в избранное
5byte.ru
 Теория
 8 класс
 9 класс
 10 класс
 11 класс
Задания
 8 класс
 9 класс
 10 класс
 11 класс
Книги
Тесты
ЕГЭ
Turbo Pascal 7
 Описание
 Задачи
HTML
Рефераты

6.5. Множество

В языке Паскаль типом-множеством называется множество-степень исходного множества объектов порядкового типа, т. е. множество всевозможных сочетаний объектов исходного множества.

Число элементов исходного множества в 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 EXAMPLE13;  
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.  




 У Вас есть материал пишите нам
 
    Copyright © 2008    
Rambler's Top100