Стандартні процедури для роботи з множинами

У роботі пропонується завдання по темі "Сила-силенна. В кінці тексту лабораторної роботи є додаток з теорією із зазначеної теми.

Завдання. Застосування множин при роботі з даними

Для виконання завдання створіть новий додаток.

1. Сконструюйте форму, на якій розташуйте компоненти відповідно до умовою завдання. Зауважимо, що у всіх завданнях потрібно використовувати безліч, але можна обійтися без масивів.

2. Висновок елементів безлічі в Memo оформите у вигляді процедури OutSetMemo.

3. Рішення завдання свого варіанту також оформите у вигляді підпрограми (процедури або функції - на ваш розсуд), яку потрібно викликати в обробнику події OnClick кнопки Button1.

ЗАУВАЖЕННЯ: ЗАВДАННЯ МОЖЕ СФОРМУЛЮВАТИ ВАШ ВИКЛАДАЧ.

Завдання по варіантах:

№ 1. Безліч A =. Згенеруйте 8 елементів (цілі числа в межах від 1 до 30) безлічі B. Знайдіть безліч C = (AÈB) \ (AÇB). Елементи безлічі B помістіть в Memo1. безлічі C - в Memo2.

№ 2. Задайте безліч A, що містить всі прості числа від 1 до 50. Згенеруйте 10 випадкових цілих чисел в межах від 100 до 500 і видаліть з безлічі A все прості подільники згенерованих чисел. Елементи вихідного безлічі A помістіть в Memo1. після перетворення - в Memo2. список згенерованих чисел - в Label1 (розділіть прогалиною).

№ 3. Користувач вводить текст в Memo1. Створіть безліч A, що складається зі спеціальних символів: + - * / = <> []. ; '() <> @ # $ ^

Перемістіть з безлічі A в безліч B всі елементи A, які зустрічаються у введеному в Memo1 тексті. Елементи отриманого безлічі A помістіть в Memo2. безлічі B - в Memo3.

№ 4. Задайте безліч A, що містить всі прості числа від 1 до 50. Згенеруйте 100 випадкових цілих чисел в межах від 1 до 50 і порахуйте, скільки разів серед них зустрічаються прості числа, а скільки - складові (до речі, число 1 не є ні простим, ні складеним). Елементи безлічі A помістіть в Memo1. результати - в Label1. Label2.

№ 5. Користувач вводить текст в Memo1. Створіть безліч B, елементами якого є голосні букви англійського алфавіту (a, A, e, E, i, I, o, O, u, U), яких немає у введеному тексті. Елементи отриманого безлічі B помістіть в Memo2.

№ 6. Створіть безліч A, що складається з цифр і спеціальних символів:

Помістіть в безліч B коди всіх символів, що належать безлічі A. Елементи безлічі A помістіть в Memo1. безлічі B - в Memo2.

№ 7. Задайте константу-безліч A, що містить всі прості числа від 1 до 50. Згенеруйте випадкове ціле число N в межах від 1000 до 10000, знайдіть всі його різні прості дільники з безлічі A і помістіть в безліч B. Елементи безлічі A помістіть в Memo1. число N - в Label1. елементи множини B - в Memo2.

№ 8. Користувач вводить текст в Memo1. Помістіть в Memo2 введений текст, але без голосних українських букв (великі та малі голосні українські літери помістіть в безліч A). Для вирішення завдання не обов'язково заводити масив.

№ 9. Задайте константу-безліч A, що містить всі прості числа від 1 до 50. Створіть його підмножина B з 5 різних випадкових чисел. Елементи безлічі A помістіть в Memo1. безлічі B - в Memo2.

№ 10. Задайте безліч A, що містить всі прості числа від 1 до 50. Згенеруйте 20 випадкових цілих чисел в межах від 1 до 50, помістіть їх в безліч B (в безлічі B може виявитися менше ніж 20 чисел), а з безлічі A видаліть ті елементи, які зустрічаються в B. елементи безлічі A помістіть в Memo1. безлічі B - в Memo2.

1. Що таке безліч?

2. Як описати і форматувати безліч? Наведіть приклади.

3. Як з'ясувати, чи належить даний елемент даного безлічі?

4. Як порівняти два безлічі?

5. Які операції можна проводити над множинами?

6. Які основні процедури можна використовувати для роботи з множинами?

Основні відомості про множини в Delphi (Pascal)

Безліч - складовою тип даних для подання набору деяких елементів як єдиного цілого. Всі елементи безлічі належать до деякого порядкового типу, який називається базовим типом множини. Базові типи: AnsiChar, Byte, ShortInt, Boolean, WordBool (або їх підмножина).

Опис множинного типу: set of baseType

Приклади: type TLetters = set of 'A' .. 'Z';

var Letters: TLetters;

var Symbols: set of Char;

var Numb: set of 0..9;

У виразах значення елементів множини вказуються в квадратних дужках:
[2, 3, 5, 7], [1..9], [ 'A', 'B', 'C'], [].

Приклад ініціалізації множин:

const Vowels: TLetters = [ 'A', 'E', 'I', 'O', 'U'];

Операції над множинами

1. Операції порівняння: = <>

Два безлічі вважаються рівними. якщо вони складаються з одних і тих же елементів. Порядок проходження елементів в порівнюваних множинах значення не має.

Два безлічі A і B вважаються нерівними. якщо вони відрізняються по потужності або за значенням хоча б одного елемента.