Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

WN_LR15_07

.doc
Скачиваний:
20
Добавлен:
05.03.2016
Размер:
50.69 Кб
Скачать

BORLAND PASCAL FOR WINDOWS

Лабораторна робота № 15

(2 год.)

Тема: Структурований тип даних. Множини.

Мета роботи: Оволодіти практичними навичками розробки та програмування обчислювального процесу з обробки інформації, що представлена у виді множин. Засвоїти застосування дій на множинами та конструкторами множин.

За час виконання лабораторної роботи студент повинен освоїти:

  • опис множин та конструкторів множин;

  • дії над множинами;

  • вивід результатів виконаної роботи.

Завдання для виконання роботи:

Написати програму для обробки множин, що задані своїми конструкторами, чи утворити нову множину згідно варіанту вказаного у таблиці 1. У програмі передбачити вивід результатів на екран.

Теоретичні відомості

Множина – це структурований тип даних, який являє собою набір взаємозв'язаних за певною ознакою або групою ознак об'єктів, які можна розглядати як одне ціле. Всі елементи множини можуть належати одному із скалярних типів, крім дійсного. Цей тип називається базовим типом множини. Базовий тип задається діапазоном або перерахунком. Значення елементів множини вказують в квадратних дужках: [1,2,3,4], |’a’,’b’,’c’], ['a'..'z']. Якщо множина не має елементів, вона називається порожньою і позначається [].

Множина описується за допомогою словосполучення: set of ( множина з ...). Наприклад: Туре

Prost = set of (3,5,7,9, 20);

Nomer = set of 1..40;

Mnoz = set of char;

Mnozl=set of byte;

Var

N1 : Prost;

N2 : Nomer;

N3 : Mnoz;

N4 : Mnozl;

N4 :set of (’a’,’f’,’r’,’z’);

Кількість елементів множини не повинна перевищувати 256.

При роботі з множинами допускається використання операцій відношення '=', '<>', '>=', '<=', об'єднання, перерізу, різниці множин та операції in. Результатом виразів із застосуванням цих операцій є значення true або false.

Операція '='. Дві множини А і В вважаються рівними, якщо вони складаються з одних і тих же ж елементів. Послідовність елементів значення не має.

Операція '<>'. Дві множини А і В вважаються нерівними, якщо вони відрізняються по значенню хоча б одного елементу.

Операція '>='. Використовується для визначення належності множин. Результат операції А >= В рівний true , якщо всі елементи множини В містяться в множині А.

Операція '<='. Використовується аналогічно до попередньої операції, але результат виразу А <= В рівний true, якщо всі елементи множини А містяться в множині В.

Операція in. Використовується для перевірки належності якогось значення даній множині. При використанні операції in значення, яке перевіряється на приналежність і множину в квадратних дужках не обов'язково попередньо описувати в розділі описів.

Об'єднання множин '+'. Об'єднанням двох множин є третя множина, яка містить елементи цих двох множин.

Перетин множин '*'. Перетин двох множин є третя множина, яка містить елементи, що одночасно належать двом множинам.

Різниця множин '–'. Різницею двох множин є третя множина, яка містить елементи першої множини, що не належать другій множині.

Одна з незручностей при використанні множин – відсутність в мові Паскаль засобів вводу-виводу елементів множини, тому програміст повинен сам створити відповідні процедури.

Завдання для виконання роботи.

Таблиця 1

п/п

Завдання

1

Дано множини А,В,С. А [1..100]; В[10..40]; С[20..70]. Знайти множину D, яка є перетином множин А.В.С .

2

Дано множини А,В,С. А[30..100]; В[10..40]; С[20..70]. Знайти множину D, яка є об'єднанням перетинів множин В і С та множин А і В.

3

Дано множини А,В. А[1..100]; В[10..40]. Знайти множину D, яка складається з елементів, які входять в множину А і не входять в множину В.

4

Дано множини А,В,С. А[1..100]; В[10..40]; C[20..70]. Знайти множину D, яка є об'єднанням дво х множин D1 і D2, де D1 – перетин множин В і С, D2 – множина, що містить елементи, які не входять в множину В і входять в множину С.

5

Дано множини А,В,С. А[1..100]; В[10..40]; С[20..70]. Визначити, в які з множин входить множина D[10..30]

6

Дано множини А,В,С. А[1..100]; В[10..40]; С[20..70]. Визначити, які з даних множин входять в множину D[10..90].

7

Дано множини А,В.С. А[1..100]; B[10..40]; C[20..70]. Створити множину, яка містить елементи, що належать множинам А і В але не належать множині С і кратні 5.

8

Дано множини А,В,С. А[1..100]; В[10..40]; С[20..70]. Створити множину, яка містить парні елементи, що належать одночасно всім трьом множинам

9

Дана множина А['В'..'К']. Скласти програму, яка б при введенні довільного символу виводила на екран тільки ті символи, які є елементами множини А.

10

Дано множини А[10..20]; В[10..18]. Скласти програму, яка б при введенні довільного символу виводила на екран тільки ті символи, які належать одночасно двом множинам.

11

Дано множини А[10..20] В[10..І8]. Скласти програму, яка б при введенні довільного символу виводила на екран тільки ті символи, які належать множині А і не належать множині В.

12

Дано множини А[10..20]; В[0..18]. Скласти програму, яка б при введенні довільного символу виводила на екран тільки ті символи, які належать або множині А , або множині В , але не належить двом множинам одночасно.

13

Дано множини А[10..20]; В[0..18]. Вивести, яким множинам належить введене число D. Якщо D не належить жодній з множин, то вивести відповідне повідомлення.

14

Дано множини A('A'..'Z']; B['K'..'Z']; C['L'..'R']. Скласти програму, що виводить повідомлення яка множина містить і яку саме множину.

15

Дано множини А [10..20]; В[0.. 10]; С[15..19]. Вивести повідомлення яка із множин (А чи В) містить множину С.

16

Дано множини A[l,2,5,7,9,11]; В[2,4,6,8,10]. Дано число D. Якщо D належить множині А, то С=, якщо D належить множині B, то C==D!. Якщо D не належить жодній з множин, то С=0.

17

Дано множини А[1,2,5,7,9,11]; В[2,4,6,8,10]. Утворити множину, яка б містила один з елементів множини А і один з елементів множини В.

18

Дана множина А[1,2,5,7,9,11]. Утворити множину, яка б містила три довільних елементи множини А.

19

Дано множини А['А'..'К']; B['L'..'Z']. Скласти програму, яка б виводила повідомлення, якій з множин належить введений символ.

20

Дано множини А['А'..'К']; B['C'..'Z']. Утворити множину, яка б складалася із трьох довільно введених символів, що належать одночасно і множині А, і множині В.

21

Скласти програму, яка формує множину D цілих чисел від 1 до N. Число N вводиться.

22

Скласти програму , яка формує множину D цілих чисел від 10 до N, кратних 5.(N кратне 5). Число N вводиться.

23

Скласти програму, яка формує множину А[К,2*К,3*К,4*К], де К – довільне число, яке вводиться (K<64).

24

Скласти програму, яка формує множину A[N,N+l,N+2,N+3, N+4], де N – довільне число, що вводиться.

25

Скласти програму, яка формує множину А[х+1,х+2,х+3,х+4,х+5], де х – довільне число, яке вводиться.

26

Дано множини А['А'..'Р']; B['D'..'S']; C['K'..'Z']. Знайти множину . яка є перетином даних множин.

27

Дана множина А[1..50].Скласти програму, яка формує множину, в яку входять числа з множини А, які кратні 10.

28

Скласти програму, яка формує множину, в яку входять 10 букв, розміщених в алфавітному порядку.

29

Скласти програму, яка формує множину непарних чисел , що належать множині А[1..21].

30

Дано множини А['А'..'Z']; В['А'..'Е']; С['А'..'К']. Вивести назви множин, впорядкувавши їх від найбільшої до найменшої.

Контрольні питання:

  1. Синтаксис опису множин та конструкторів множин. Пояснення та приклади.

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

  3. Перетин множин. Приклади.

  4. Об’єднання множин. Приклади.

  5. Різниця множин. Приклади.

  6. Порівняння множин. Приклади.

  7. Перевірка належності до множини. Випадки доцільності її застосування. Приклади.

  8. Організація виводу елементів множини. Приклади.

  9. Організація вводу елементів в множину. Приклади.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]