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