Способы описания множеств
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: Дана строка символов , слова разделены любым знаком препинания . Вывести слова начинающиеся гласной буквой , оканчивающиеся согласной.
| 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 различают фиксированные и вариантные записи.