Лабораторная работа №10

Использование множественного типа

Цель работы: получение навыков работы с множествами.

Задания для подготовки к работе

1. Изучите множественный тип данных языка Паскаль.

2. Разбейте задачу соответствующего варианта на подзадачи, таким образом, чтобы решение каждой подзадачи описывалось подпрограммой, а основная программа состояла бы в основном из вызовов подпрограмм.

3. Опишите блок-схему алгоритма решения задачи в укрупненных блоках.

4. Для каждой подзадачи опишите используемые структуры данных, спецификацию и блок-схему алгоритма.

5. Опишите блок-схему алгоритма решения задачи с использованием блоков «предопределенный процесс».

6. Закодируйте алгоритм.

7. Подберите наборы тестовых данных с обоснованием их выбора.

Задания к работе

1. Наберите программу, отладьте ее, протестируйте.

2. Выполните анализ ошибок, выявленных при отладке программы.

Содержание отчет а

1. Формулировка задачи.

2. Ответы на пункты 3 – 7 заданий для подготовки к работе.

3. Описание ошибок, выявленных при отладке программы с указанием вида ошибки, и почему она была сделана.

Варианты заданий

1. Дано предложение. Вывести все согласные, которых нет ни в одном слове.

2. Дан текст, заканчивающийся точкой. Вывести гласные буквы, которые входят более чем в одно слово.

3. Дан текст, состоящий из слов, пробелов и знаков препинания (запятая, точка с запятой, двоеточие), завершающийся точкой. Найти множество начальных букв неоднобуквенных слов

4. Вывести буквы, которых нет в тексте, вводимом с клавиатуры. Признак конца ввода - конец файла.

5. Дан текст, заканчивающийся точкой. Вывести первые вхождения каждой латинской буквы.

6. Дана строка. Вывести буквы, которые встречаются в каждом из слов данного предложения.

7. Дана строка. Вывести все гласные, которые есть хотя бы в одном слове.

8. С клавиатуры вводятся неотрицательные целые числа, не превышающие 255. Признак конца ввода - ноль. Получить множество общих делителей введенных чисел

9. Даны две строки s 1 и s 2. Для каждого слова w строки s 1 вывести слово строки s 2, каждая повторяющаяся буква которого не входит в слово w.

10. Дан массив из n натуральных чисел. Вывести цифры, которые есть в каждом из чисел.

11. Даны две строки s 1 и s 2. Для каждого слова w строки s 1 вывести слово строки s 2, каждая неповторяющаяся буква которого есть в слове w.

12. Дан текст, заканчивающийся точкой. Вывести все буквы, входящие в текст не менее двух раз.

13. Вывести в убывающем порядке цифры, которые входят в запись данного длинного целого числа только один раз.

14. Дан массив из n натуральных чисел (n - const). Вывести цифры, которых нет в записи данных элементов массива.

15. С клавиатуры вводятся неотрицательные целые числа, не превышающие 255. Признак конца ввода - 0. Получить множество всех делителей введенных чисел.

16. Дано слово w 1 и строка s. Найти в строке s такое слово w 2, чтобы любая гласная встречалась хотя бы в одном из слов w 1 или w 2.

17. Даны две строки s 1 и s 2. Для каждого слова w строки s 1 вывести слово строки s 2, которое содержит множество гласных букв слова w.

18. Даны две строки s 1 и s 2. Для каждого слова w строки s 1 вывести слово строки s 2, содержащее хотя бы одну согласную букву слова w.

19. Даны две непустые последовательности целых чисел, содержащие числа из сегмента [1; 50]. Каждая из последовательностей завершается нулем. Найти множество таких чисел из первой последовательности, которых нет во второй, и определить количество этих чисел.

20. Дан массив из n натуральных чисел. Вывести те цифры, которых нет в записи хотя бы одного из чисел массива.

21. Дан текст, состоящий из слов, пробелов и знаков препинания (запятая, точка с запятой, двоеточие), завершающийся точкой. Найти множество однобуквенных слов текста.

22. Дан текст из латинских строчных букв. Вывести все буквы, входящие в текст по одному разу.

23. Вводится количество баллов от 0 до 100, подученных каждым учеником на ЕГЭ по информатике. Конец ввода – конец файла. Вывести по убыванию баллы, которые не были получены ни одним учеником.

24. С клавиатуры вводят натуральные числа £255. Признак конца ввода - 0. Вывести числа Фибоначчи, которые были среди введенных.

25. Дана матрица, элементы которой целые числа из сегмента [0; 255]. Две строки матрицы будем называть эквивалентными, если множества элементов этих строк равны. Определить количество классов эквивалентных строк матрицы.

26. С клавиатуры вводят натуральные числа £255. Признак конца ввода - 0. Определить количество чисел, в записи которых встречаются все цифры, имеющиеся в записи числа n, но отсутствующие в записи числа m.

27. Назовем два слова, у которых совпадают множества символов, эквивалентными. Вывести каждую группу эквивалентных слов данной строки.

28. Вывести множество начальных букв вводимого текста. Конец ввода – конец файла.

29. Даны две строки s 1 и s 2. Для каждого слова w строки s 1 вывести слово строки s 2, которое содержит множество согласных букв слова w.

30. Вывести множество простых чисел в разложении натурального числа n ≤256 на простые множители.

Контрольные вопросы

1. Опишите синтаксическую диаграмму описания типа «множество».

2. Что представляет собой значение множественного типа?

3. Опишите синтаксическую диаграмму значения типа «множество».

4. Каким может быть базовый тип множества в Паскале?

5. Сколько значений содержит тип set of ‘a’..’d’?

6. Перечислите операции, определенные над данными множественного типа.

7. В каком порядке выполняются операции в выражениях множественного типа?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: