Задания уровня 1
Упражнение 1.
Пусть дана строка символов с точкой в конце строки. Необходимо определить число различных букв, входящих в данную строку.
1. Наберите текст программы:
Program Mn1;
Var
M: Set Of Char;
Str: String;
c: Char;
i, n: Integer;
Begin
M:=[]; { M – пустое множество}
n:=0; {переменная, считающая количество различных букв в строке}
WriteLn ('Введите строку');
ReadLn (Str); {ввод строки}
For i:=1 To Length (Str) Do
If not (Str[i] In M) Then
Begin
M:=M+[Str[i]]; {формирование множества, содержащего все буквы, входящие в строку}
n:=n+1;
End;
WriteLn ('Количество различных элементов в строке равно', n)
End.
2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9 3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P9PR1
Упражнение 2.
Даны две символьные строки, содержащие только строчные латинские буквы. Построить строку S3, в которую войдут только общие символы S1 и S2 в алфавитном порядке и без повторений.
1. Наберите текст программы:
Program P2;
Type Mset=Set of 'a'..'z';
Var S1, S2, S3: String;
MS1, MS2, MS3 : Mset;
C: Char;
Procedure SM (S: String; Var MS: Mset);
{Процедуры формируют множество MS, содержащее все символы строки S }
Var I: Byte;
Begin MS:=[];
For I:=1 To Length (S) Do
MS:=MS+[S[I]]
End;
Begin {Ввод исходных строк}
ReadLn (S1); ReadLn (S2);
{Формирование множеств MS1 и MS2 из символов строк S1 и S2}
SM (S1, MS1); SM (S2, MS2);
{Пересечение множеств – выделение общих элементов в множество MS3}
MS3:=MS1*MS2;
{Формирование результирующей строки S3}
S3:=' ';
For C:='a' To 'z' Do
If C In MS3 Then S3:=S3+C;
WriteLn ('‘Результат:', S3)
End.
2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P9PR2
Задания уровня 2
1. Составьте программу, демонстрирующую операции над множествами: операции объединения, разности, пересечения. Множества чисел заполнить следующим образом: D1 – четными числами 2, 4, 6, 8; множество D2 – числами 0, 1, 2, 3, 5; множество D3 – нечетными числами 1, 3, 5, 7, 9. Сохранить программу под именем P9PR3
2. Введите строку. Подсчитайте количество гласных букв в ней. Записать программу под именем P9PR4
Задания уровня 3
3. Задано некоторое множество M и множество T того же типа. Подсчитать, сколько же элементов из множеств T и M совпадает. Сохранить программу под именем P9PR5
4. Требуется сформировать последовательность натуральных чисел от 1 до n, расположенных в случайном порядке без повторения значений. Сохранить программу под именем P9PR6
Контрольные вопросы:
1. Что такое множество?
2. Назовите основные особенности множеств.
3. Что называют конструктором множеств?
4. Как описываются множества в Паскале?
5. Какие операции можно осуществлять с множествами?

