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].

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


 

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

51109. ВЫЧИСЛЕНИЕ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ 44.41 KB
  Целью работы является вычисление сложных математических выражений. Задание Написать программу для расчёта двух формул. Предварительно подготовить тестовые примеры по второй формуле с помощью калькулятора.
51110. Исследование переходных характеристик типовых динамических звеньев 96.48 KB
  Для апериодического звена первого порядка графически определить постоянную времени и коэффициент передачи. Теоретические сведения Пусть имеем дифференциальное уравнение динамики звена второго порядка Его можно записать в общем виде 1 Где оператор Лапласа; постоянные времени; коэффициент усиления передаточное число. При сравнении красного и зеленного графиков можно сделать вывод о том что постоянная времени T1 прямо пропорциональна длительности переходного процесса т. чем больше постоянная времени T1 тем дольше идет...
51112. Изучение переходных характеристик типовых динамических звеньев 64.46 KB
  Цель: Изучение переходных характеристик типовых динамических звеньев. Задача: Ознакомиться с программой снятия переходных характеристик. Произвести снятие переходных характеристик для различных значений параметров.
51113. Разработка калькулятора с использованием формы и компонентов Button, Label и TextBox 64.94 KB
  Разработать калькулятор с использованием формы и компонентов Button, Label и TextBox. Сделать проверку вводимых значений, реализовать 4 действия: сложение, умножение, деление, вычитание. Код программы...
51114. Изучение переходных частотных типовых динамических звеньев 63.73 KB
  Сравнить полученные графики с табличными и сделать выводы. Теоретические сведения Частотными характеристиками называются формулы и графики характеризующие реакции звена или системы на синусоидальное входное воздействие в установившемся режиме вынужденные синусоидальные колебания звена. В данном случае имеет место опережение по фазе так как график лежит в первой четверти. Форсирующее звено 2го порядка 1 3000 V К=15 Т1=7 Т2=5 150000 V
51116. Метрологическая надежность средств измерений 427.81 KB
  Метрологической надежностью называют способность СИ сохранять установленное значение метрологических характеристик в течение заданного времени при определенных режимах и условиях эксплуатации.