Способы описания множеств

1.Var имя множества : set of тип элементов;

 

2. Typeимя типа = set of тип элементов;

Varимя множества : имя типа;

 

где, set of - служебные слова ( множество из);

тип элементов – любой порядковый.

 

Например:

Typemn=set of char;

Vara,b: mn;

c: set of 2..6;

Begin

a:=[ ‘A’..’Z’];

c:=[2, 4..6];

b:=[];

. . .

End.

Операции над множествами

 

1. Операция IN -используется для проверки принадлежности какаго-либо значения указанному множеству. Обычно применяется в операторах условного перехода . Результат выполнения операции логического типа ( True или False).

2. Объединение множеств (+). Объединением двух множеств является третье множество, содержащее элементы обоих множеств.

 


3. Пересечение множеств (*).Пересечением двух множеств является третье множество, которое содержит элементы, входящие одновременно в оба множества.

 

4. Разность множеств (-).Разностью двух множеств является третье множество, которое содержит элементы первого множества, не входящие во второе множество.

 

 


 

 

5. Операция «равно» (=).Два множества А и В считаются равными, если они состоят из одних и тех же элементов. Порядок следования элементов в сравниваемых множествах значения не имеет.

6. Операция «не равно» (<>). Два множества А и В считаются не равными, если они отличаются по мощности или по значению хотя бы одного элемента.

7. Операция «больше или равно» (>=) .Результатоперации А>=B равен True , если все элементы множества В содержатся в множестве А.

8. Операция «меньше или равно» ( <=). Если все элементы множества А содержатся в множестве В , то результат равен True.

 

Примеры выполнения операций:

Операция Значение А Значение В Выражение Результат
Равно [1,2,3,4] [1,2,3] A=B True
не равно [1,2,3] [3,1,2,4] A<>B True
Больше или равно [‘e’,’r’,’t’] [‘t’,’e’] A>=B True
in ‘v’   If A in [‘a’..’n’] then False
объединения [1,2,3] [1,4,5] A+B [1,2,3,4,5]
пересечения [‘A’..’Z’] [‘B’..’R’] A*B [‘B’..’R’]
разность [1,2,3,4] [3,4,1] A-B [2]

Стандартные процедуры работы с множествами

 

Имя и параметры Типы параметров Действие
Include(s,x) s - множество, x - элемент, тип которого совместим с базовым типом множества включает элемент x во множество s
Exclude(s,x) s - множество, x - элемент, тип которого совместим с базовым типом множества исключает элемент x из множества s

Вывод элементов множества

x=’a’,’z’,1
Вывод х
X in A aaaaaaaaaaaaaaaaaaaaaaaaaf=a
выход


Program VivodMN;

Type mn=set of char;

Vara:mn;

x: char;

Begin

a:=[‘f’, ‘j’, ‘e’];

For x:=’a’ to ‘z’ do

If x in a then write (x)

End.

Пример 1: Дана строка символов , слова разделены любым знаком препинания . Вывести слова начинающиеся гласной буквой , оканчивающиеся согласной.

 

начало
конец
zn=[знаки препинания] glas=[гласные буквы] sog=[согласные буквы]
Ввод st
I=1,length(st),1
Not(st[i] in zn)
sl[1] inglas

 


sl:=sl+st[i]

 

sl[length(sl)] insog
Вывод sl
sl:=’’

 

programMnog; const zn=[',','.',':',';','?','!',' ']; glas=['а','е','и','о','у','ю','я','э','ы','ё']; sog=['б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ']; var st,sl:string; i:integer; begin Writeln('Введите Строку'); readln(st); Fori:=1 tolength(st) do If not(st[i] inzn) then sl:=sl+st[i] else begin if(sl[1] inglas) and (sl[length(sl)] insog) thenWriteln(sl); sl:=''; end; end.     Результат решения задачи   Введите Строку мама,арбуз помой! арбуз

 

Тема 2.9 Записи

Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов, называемых полями. Идентификатор (имя) поля должен быть уникален только в пределах записи. Обращение к значению поляосуществляется с помощью составного имени - идентификатора переменной (имени записи) и идентификатора поля, разделенных точкой.

 

имя записи. имя поля

 

В языке Turbo Pascal различают фиксированные и вариантные записи.