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

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


 

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

30784. Основные технологические процессы при монтаже ригелей и плит перекрытия 13.13 KB
  Плиты поднимают четырехветвевыми стропами сразу выверяют и приваривают к ригелям. В безбалочных перекрытиях по капителям укладывают осевые плиты а по ним плитывкладыши.
30785. Виды защитных покрытий и требования к ним 14.84 KB
  Защитные покрытия предназначены для защиты зданий и их элементов от внешних агрессивных воздействий окружающей среды. Защитные покрытия в зависимости от поражающих факторов бывают : Гидроизоляционные Антикоррозийные Огнеупорные теплоизоляционные светонепроницаемые и др.войлок Противокоррозийные покрытия защищают от коррозии наносятся окраской распылением.
30786. Технология устройства гидроизоляции 15.47 KB
  Гидроизоляция: Окрасочная Литая Оклеечная Жёсткая Окрасочную изоляцию жидкими составами толщиной 02. Литую асфальтовую изоляцию в виде сплошного водонепроницаемого слоя асфальтовой массы толщиной 10. На нее наносят слой битумной мастики толщиной 1. Швы между полотнищами очередных слоев смещают по отношению друг к другу Жесткая гидроизоляция цементнопесчаная гидроизоляция толщиной до 25 мм состава 1:1; 1 : 2; 1 : 3 устраивают двумя способами торкретированием и оштукатуриванием.
30787. Виды теплоизоляционных покрытий. Технология 15.75 KB
  Теплоизоляция: Засыпная Мастичная Литая Обвалакивающая Сборноблочная Вакуумная Засыпная в стену приваривают шпильки 335 см на них крепят мелкую металлическую сетку с ячейками в которые засыпается диатомовая крошка перлитовый песок мин и стекловата. Мастичная на стену с помощью шпилек устанавливают мелкую армирующую сетку. Мастику наносят на сетку 1 слой набрызг затем разглаживание последний слой укладывают рейкой. При устройстве однослойной изоляции поверх войлока укладывают оцинкованную металлическую сетку и закрепляют ее...
30788. Назначение кровель. Кровельные материалы. Виды кровель и требования к ним 14.37 KB
  Кровельные материалы. Кровли: Мягкие рулонные материалы мембраны мастичные Жёсткие листовые материалы штучные. Скатные кровли более 15 уклон штучные листовые материалы черепица металлочерепица рулонные.
30789. Устройство рулонных кровель 15.32 KB
  К вертикальной поверхности пополнительный слой гидроизоляции. Ковер начинают наклеивать с пониженных мест воронок внутреннего водостока ендов карнизов послойно: сначала первый слой по всей площади захватки после его проверки и приемки второй слой до 5. Наклейка : послойная слой за слоем по всей площади крыши ступенчатая3 5 слоёв сразу. Наплавляемый рубероид нижний слой полимерное покрытие нагревают путём разогрева газовыми горелками.
30790. Устройство мастичной кровли 14.78 KB
  К вертикальной поверхности пополнительный слой гидроизоляции. Разливают слой битумнополимерной мастики. В неё втапливают арматурный слой стеклосетку 34слоя. Сверху защитный слой мелкого гравия.
30791. Мембранные кровли 16.44 KB
  Наносится с использованием клеевой технологии. ТПО смесь каучука и полимеров повышающих механическую прочность менее эластичны ПВХ мембраны Способы соединения полотнищ: сварка горячим воздухом клеевой способ 2хсторонние склеивающие ленты Способы закрепления мембранных кровель: Баластный способ свободное положение закрепляют по периметру в местах примыкания к вертикальным поверхностям. Наносят клеевой состав и раскатывают катком.
30792. Устройство металлических кровель 13.66 KB
  Основание для покрытия кровельной сталью выполняют в виде обрешетки из деревянных брусков 50 х 50 мм и досок от 50 х 120 до 50 х 110 мм. Конек устраивают из соединяемых под углом досок. Расстояние между осями досок принимают равным 1390 мм чтобы стыки листов попадали на них.