Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka-LabyTP1-V-266_267.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
538.11 Кб
Скачать

Лабораторная работа № 9 Тема: «Тип данных множество»

Типом множеством называется множество-степень исходного множе­ства объектов порядкового типа, т.е. множество всевозможных сочетаний объектов исходного множества.

Число элементов исходного множества не может быть больше 256, а порядковые номера элементов должны находится в пределах от 0 до 255.

Type

<имя множества> = set of <тип компонент>;

Var

<переменная>:<имя множества>;

Допустимые операции с множествами:

‘+’ объединение;

‘-‘ разность;

‘*’ пересечение;

‘=’,’<=’,’>=’ проверка эквивалентности двух множеств;

‘<>’ проверка неэквивалентности двух множеств;

in логический оператор проверки присутствия компоненты в множестве.

Примеры решений задач

1. Ввести строку символов, состоящую из латинских букв, символов и пробелов. Осуществить проверку правильности введенных символов.

Program stroka;

Var

Str: string;

L: byte;

Tru: boolean;

Begin

Writeln (‘Введите строку’)

Readln (str);

L:=Length (Str);

Tru:= L>0;

While Tru and (L>0) do

Begin

Tru:=Str[L] in [‘0’,’9’’,A’..’Z’,’a’..’z’,’ ‘];

Dec (L)

End;

If Tru then

WriteLn (‘Правильная строка’);

Esle

WriteLn (‘Неправильная строка’);

End.

Список задач

  1. Дан текст из строчных латинских букв, за которым следует точка. Определить, каких букв - гласных (a, e, i, o, u) или согласных - больше в этом тексте.

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

  3. Дан текст из строчных латинских букв, за которым следует точка. Напечатать:

а) все буквы, входящие в текст не менее двух раз;

б) все буквы, входящие в текст по одному разу;

в) первые вхождения букв в текст, сохраняя их исходный взаимный порядок.

  1. В возрастающем порядке напечатать целые числа из диапазона 1.. 10000, представимые в виде n2 + m2, где n, m>0

  2. Напечатать слова предложения в алфавитном порядке.

  3. Дана последовательность целых чисел. Определить, является ли эта последовательность перестановкой заданного отрезка элементов натурального ряда.

  4. Подсчитать количество чётных цифр в исходной символьной строке и распечатать все, кроме пробелов, знаков операций и знаков препинания.

  5. Сформировать множество, в которое входят только латинские буквы, встретившиеся во входной строке, и множество знаков препинания из входной строки.

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

  7. Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово;

  8. Из множества целых чисел 1..100 выделить множество чисел на которые делится без остатка число 444. Вывести это множество на экран.

  9. Из множества латинских букв выделить множество состоящее из символов не входящих в множество символов составляющих ваше имя. Вывести это множество на экран.

  10. Определить и вывести на экран множество символов входящих одновременно в имя, отчество, и фамилию, введённые с клавиатуры.

  11. Определить и вывести на экран множество символов входящих только в имя, отчество или фамилию, введённые с клавиатуры.

  12. Определить и вывести на экран множество символов входящих в диапазон '0'..'9' и не входящих в множество символов, составляющих дату рождения, введённую с клавиатуры.

  13. Из множества целых чисел 1..100 выделить множество чисел, являющихся, в свою очередь, квадратами целых чисел.

  14. Из множества целых чисел вводимых с клавиатуры в линейную таблицу из 10-ти элементов, выделить множество чисел кратных минимальному числу этой таблицы.

  15. Из множества целых чисел 1..20 выделить: множество чисел, делящихся на 6 без остатка; множество чисел делящихся на 2 или на 3 без остатка. Вывести содержимое этих множеств на экран.