68998

Організація множин, операції над множинами

Лекция

Информатика, кибернетика и программирование

Множина - це невпорядкований набір різних об’єктів однакового типу. У мові Паскаль використовують тільки скінченні множини, причому всі елементи множини повинні бути однакового типу, визначеного в Паскалі. Тип елементів множини називається базовим.

Украинкский

2014-09-28

34.5 KB

1 чел.

Лекція № 8

Тема: Організація множин, операції над множинами

План заняття:

  1.  Організація множин
  2.  Операції над множинами

Організація множин

Множина - це невпорядкований набір різних об'єктів однакового типу. У мові Паскаль використовують тільки скінченні множини, причому всі елементи множини повинні бути однакового типу, визначеного в Паскалі. Тип елементів множини називається базовим. Як базовий може бути довільний ординальний тип (тобто будь-який простий, за винятком real). Цілого типу застосовують тільки діапазон, для якого зазначають мінімальне і максимальне значення.

Змінні чи сталі множинного типу набувають значення, які є множиною. Для задання множини використовують так званий конструктор множини, який має вигляд списку елементів множини, взятого в квадратні дужки. Елементами множини можуть бути сталі базового типу або вирази цього ж типу. Множина може не мати елементів, тоді вона є порожньою і її описує конструкція [].

Приклади задання множин: [4, 6, 9,12] - множина, елементами якої є цілі числа; ['i', 'm', 'p', 'q', 'r'] - множина, елементами якої є символи; [m, 10] - множина, що містить значення змінної цілого типу т і цілого числа 10.

Якщо елементи множини утворюють діапазон значень базового типу, то їх можна задавати скорочено, як і елементи діапазонного типу. Наприклад, множину [3, 4, 5, 6, 7] можна записати [3..7]. Частину елементів можна перелічувати, а частину - задавати як діапазон: [3, 4, 5..100].

[n..2*n] — множина цілих чисел від п до виразу 2п.

[пн, вт, чт] - множина елементів деякого перелічуваного типу, який потрібно описати.

Якщо в діапазоні А..С, яким задана множина, А=С, то ця множина містить один елемент, що дорівнює А. Якщо С<А, то множина порожня. Наприклад: [3..1], ['r'..'b'] - порожні множини.

Якщо якийсь елемент повторюється, то вважають, що є тільки один такий елемент. Наприклад: [2, 3, 7, 2, 3] те ж саме, що [2, 3, 7].

З наведених прикладів зрозуміло, що для задання множинного типу треба задати деякий базовий тип. Відповідний множинний тип (змінна) може набувати значень, що є множинами, одержаними довільними комбінаціями базового типу.

Загальний вигляд опису множинного типу такий:

type

<ім'я_типу>=set  of  <ординальний_тип>;

Опишемо тип

type

р=1..3;

b=set  of  p;

var

x:b;

Тоді х може набувати значень, якими є всі множини, що можуть бути складені з цілих чисел 1, 2 і 3. Змінна х може мати такі значення: [ ] - порожня множина, [1], [2], [3], [1,2], [1,3], [2,3] і [1,2,3]. Усі ці множини можуть бути значеннями змінної х множинного типу, заданого як set of p. Інші приклади:

type

day=(pn, vt, sr, ct, pt, sb, nd);

den=set of day;

var

roboch: den;

sezon: set of (lito, osin, zyma, vesna);

logic: set of boolean;

У цьому прикладі тип den описаний явно, як множинний, що має базовим перелічуваний тип day. Решта типів задано неявно в описі змінних sezon і logic. Змінна roboch може набувати значень [], [pn], [vt],..., [pn, vt], [pn, sr],..., [sb, nd], [pn, vt, sr],..., [pn, vt, sr, ct, pt, sb, nd].

Змінна sezon: [ ], [lito],..., [lito, osin, zyma, vesna].

Змінна logic: [ ], [true], [false], [true, false].

Для присвоєння значень змінним множинного типу використовують оператор присвоєння

v:=s,

де v - змінна множинного типу; s - вираз цього типу. Елементи s належать до того ж базового типу. Як вираз s може бути змінна множинного типу або саме значення - стала множинного типу. Наприклад, для описаних вище змінних правильними є оператори присвоєння

roboch:=[vt, ct, pt]; logic:=[true];

Тут як вирази використані сталі.

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

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

об'єднанням А +В множин А і В є множина, елементи якої належать хоча б до однієї множини А чи В. Наприклад, А = [1, 3, 6, 7], а В - [2, 4, 6, 7], то А+В дорівнює [1, 2, 3, 4, 6, 7];

перерізом А *В множин А і В є множина, елементи якої одночасно належать до множини А і множини В. Для тих же А і В переріз А *В  буде [6, 7];

різницею А-В множин А і В є множина, що складається з елементів множини А, які не належать до множини В. Якщо як множини А і В взяти використані раніше, то А-В дає множину [1,3].

За допомогою операцій з множинами можна будувати вирази множинного типу. Пріоритетність виконання операцій така сама, як і під час обчислення арифметичних виразів: у дужках, '*', '+'  і '-'.


 

А также другие работы, которые могут Вас заинтересовать

57926. Основы объектно-ориентированного программирования. Создание формы 573.5 KB
  Цель: Сформировать у учащихся представление о среде программирования Visul Studio; освоить основные приемы создания форм получить практические навыки создания формы в среде программирования; формировать у учащихся информационную компетентность.
57927. Клітинний цикл. Мітоз 62.5 KB
  Німецький вчений Рудольф Вірхов стверджував що клітина може виникнути тільки з попередньої клітини в результаті її поділу. Відома його знаменита фраза усяка клітина з клітини З таким поняттям як поділ клітини ви вже неодноразово зустрічались на уроках біології.
57928. Створення програм з використанням оператора циклу з параметром 140 KB
  Після цього уроку ви зможете: використовувати оператор циклу з параметром для створення програм обчислення суми та добутку скінченої кількості чисел знаходження кількості елементів з певними властивостями; наводити особливості накопичення суми та...
57929. Снежная книга Зимы 214.5 KB
  Цель: обобщить представления детей о зиме, познакомить с новыми рассказами и стихотворениями о зиме; продолжить работу над техникой чтения. Воспитывать любовь к родному слову, бережное отношение к природе.
57930. Цитологія – наука про будову і функції клітини. Історія вивчення клітини. Методи цитологічних досліджень 356 KB
  Мета: сформувати основні положення клітинної теоріїрозширити уявлення про історію вивчення клітини розкрити основні методи цитологічних досліджень; розвивати критичне і логічне мислення удосконалювати творчі здібності вміння...
57931. Зорі. Еволюція зір 340 KB
  І почнемо ми з вами саме з визначення найголовнішого небесного світила зорі. учні дають визначення зорі Вчені прийшли до висновку що зорі включаючи і наше Сонце мають життєві цикли. Ці стадії різні оскільки зорі складаються з різних елементів і відрізняються розмірами.
57932. Зажурилась зимонька не дарма, молодої силоньки вже нема 62.5 KB
  Мета: познайомити з традиціями святкування Стрітення, прикметами, які з ним пов’язані; формувати навички виразного читання віршів; підтримувати у дітей інтерес до занять фізкультурою, привчати дітей грати в командних іграх-естафетах...
57933. За О. Цегельською. Пригода на ковзанці. Безпечний відпочинок взимку 75.5 KB
  Мета: познайомити з оповіданням О. Цегельської; формувати вміння читати, зв’язно розповідати; розширювати знання учнів про зимові розваги; закріпити знання правил про поведінку на льоду, показати, яку небезпеку може приховувати вода; розвивати пам’ять, увагу, мислення, пізнавальний інтерес...
57934. Графічні можливості текстового процесора MS WORD 1.94 MB
  Мета: навчальна: систематизувати і узагальнити знання учнів за даною темою; розвивальна: розвинути практичні навички опрацювання графічної інформації під час роботи з текстовими документами, творчі здібності і естетичний смак, сприяти профорієнтації...