Занятие 4. Самостоятельное решение задач.
Итак, коротко обо всем выше сказанном.
В языке Паскаль типом-множеством называется множество всевозможных сочетаний объектов исходного множества. Число элементов исходного множества не может быть больше 256, а порядковые номера элементов (т.е. значение функции Ord) должны находиться в пределах от 0 до 255. Для задания типа-множества следует использовать зарезервированные слова set of , а затем указать элементы этого множества, как правило, в виде перечисления или диапазона.
Введя тип-множество, можно задать переменные или типизированные константы этого типа-множества. При задании значений константе-множеству ее элементы перечисляются через запятую (допустимо указывать диапазоны) и помещаются в квадратные скобки.
Множеству можно в программе присвоить то или иное значение. Обычно значение задается с помощью конструктора множества. Конструктор задает множество элементов с помощью перечисления в квадратных скобках выражений, значения которых дают элементы этого множества. Допустимо использовать диапазоны элементов.
Например, следующие конструкции являются конструкторами множеств:
[Plus,Minus]
[1..K mod 12, 15]
[Chr(0) .. Chr(31), 'A', 'B']
В каждое множество включается и так называемое пустое множество [ ], не содержащее никаких элементов.
Конструктор множества можно использовать и непосредственно в операциях над множествами.
Для множеств определены следующие операции:
+ – объединение множеств;
– – разность множеств;
* – пересечение множеств;
= – проверка эквивалентности двух множеств;
<> – проверка неэквивалентности двух множеств;
<= – проверка, является ли левое множество подмножеством правого множества;
>= – проверка, является ли правое множество подмножеством левого множества;
in – проверка, входит ли элемент, указанный слева, в множество, указанное справа.
Результатом операции объединения, разности или пересечения является соответствующее множество, остальные операции дают результат логического типа.
Выберите с учителем задачи для самостоятельного решения из ниже предложенного списка.
1. Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности цифры от 1 до 3 и от 17 до 100.
2. Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности знаки препинания.
3. Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности буквы от D до I.
4. TYPE natur=1..maxint;
Описать функцию digist(n), подсчитывающую количество различных (значащих) цифр в десятичной записи натурального числа n.
5. TYPE natur=1..maxint;
Описать процедуру print(n), печатающую в возрастающем порядке все цифры не входящие в десятичную запись натурального числа n.
6. Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово.
(Примечание: гласные буквы - а, е, и, о, у, ы, э, ю, я;
согласные - все остальные буквы, кроме й, ъ, ь)
7. Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы которые не входят ни в одно слово.
(Примечание: гласные буквы - а, е, и, о, у, ы, э, ю, я; согласные - все остальные буквы, кроме й, ъ, ь)
8. Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы которые не входят ни в одно слово.
(Примечание: гласные буквы - а, е, и, о, у, ы, э, ю, я; согласные - все остальные буквы, кроме й, ъ, ь)
9. Описать множество гласных и согласных букв русского языка, определить количество гласных и согласных букв в предложении, введенном с клавиатуры.
10. Опишите множество М(1..50). Сделайте его пустым. Вводя целые числа с клавиатуры, заполните множество 10 элементами.
11. Опишите множество Pr(1..20) и поместите в него все простые числа в диапазоне от а до b.
12. Составьте программу вычисления суммы мест, на которых в слове Х стоят гласные буквы.
13. Подсчитайте число разных букв в слове.
14. Опишите множества Rus и Lat, содержашие русские и латинские буквы. В цикле вводите русские и латинские буквы и выводите соответствующее сообщение. Выход из цикла – какая-либо клавиша, не являющаяся алфавитно-цифровой.
15. Дан двумерный массив. Найти и напечатать число, которое встречается в каждой строке. Если такого числа нет - напечатайте сообщение.
16. Задан целочисленный массив. Подсчитать число различных значений в массиве.
17. Даны две таблицы по 10 элементов в каждой. Найдите наименьшее среди тех чисел первой таблицы, которые не входят во вторую таблицу (считая, что хотя бы одно такое число есть).
Задание. Приготовьте файлы и листинги решенных задач по этой теме.
Будьте готовы ответить на следующие вопросы:
1. Что такое множество? Каким элементам должны удовлетворять все элементы множества? Преимущества использования типа множество?
2. Что такое базовый тип множества? Как он задается?
3. Какое множество называется пустым, как оно обозначается?
4. Как задается описание множественного типа?
5. Какие операции допустимы над множествами? Каков тип результатов выражений с применением операций над множествами?
6. Какие множества считаются равными, неравными? Имеет ли значение для сравниваемых множеств порядок следования элементов?
7. Для чего применяются операции ">=", "<="? В чем их отличие?
8. Для чего применяется операция in? Особенности ее применения.
9. Что называется объединением множеств?
10. Что называется разностью множеств?
Запись
Дата добавления: 2015-05-16; просмотров: 1121;