Задания уровня 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. Какие операции можно осуществлять с множествами?

[/gem_textbox]