Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Множини. Множина – це структурований тип даних для представлення набору деяких елементів як одного цілого




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

Множина степінь для це

 

,

 

де – порожня множина.

Всі елементи множини різні й невпорядковані, тому і – еквівалентні. Кількість елементів множини називається потужністю і не перевищує .

У програмі опис множини має вигляд

 

<ім’я типу> = set of <базовий тип>;

 

де <ім’я типу> – ідентифікатор, set, of – зарезервовані слова (множина, із), <базовий тип> – будь-який порядковий тип крім Word, Integer, LongInt.

Множина задається за допомогою конструктора. Конструктор – це список констант або виразів базового типу, а також тип-діапазон базового типу.

Над множинами визначені такі операції:

· – перевірка еквівалентності; результат , якщо множини еквівалентні, інакше ;

· – перевірка нееквівалентності; результат , якщо множини нееквівалентні, інакше ;

· – перевірка входження; результат , якщо множина включає множину , інакше ;

· – перевірка входження; результат , якщо множина включає множину , інакше ;

· – перевірка належності; результат , якщо елемент міститься у множині , інакше ;

· – перетин множин; результат – множина спільних елементів і ;

· – об’єднання множин; результат – множина елементів доповнена тими елементами , яких немає в ;

· – різниця множин; результат – множина елементів , яких немає у .

Окрім зазначених операцій можна використовувати процедуру – включення елемента у множину S та процедуру – виключення елемента із множини S.

Приклад.Задано натуральне число . Розробити програму, яка друкує у зростаючому порядку всі цифри, які входять в це число, які не входять в це число і які входять в це число більше одного разу.

Для побудови згаданих множин будемо виділяти цифри у заданому числі. Для цього будемо послідовно ділити це число за модулем 10 (операція mod) і ділити націло на 10 (операція div). Остачі від ділення за модулем 10 будуть цифрами цього числа. Будемо поміщати ці цифри у множину s1. Якщо така цифра вже є в множині s1, то будемо їх поміщати у множину цифр, що повторюються s3. Множину s2, із цифр, яких немає в числі, отримаємо як різницю множини константи всіх цифр c і множини s1.

Програма у консольному режимі роботи має вигляд:

 

Program LABR6_1;

{$APPTYPE CONSOLE}

uses Sysutils;

CONST c=[0..9];

VAR n, i, k: integer;

s1, s2, s3: set of 0..9;

BEGIN

{Введення початкових даних}



writeln (‘Введіть число n’);

readln(n);

s1:=[]; {Множина цифр, що містяться в числі}

s2:=[]; {Множина цифр, що не містяться в числі}

s3:=[]; {Множина цифр, що повторюються}

i:=n;

k:=i mod 10;

while i<>0 do

begin

if k in s1 then s3:=s3+[k];

s1:=s1+[k];

i:=i div 10;

k:=i mod 10;

end;

s2:=c-s1;

writeln(‘Множина цифр, що містяться в числі:’);

for i:=0 to 9 do

if i in s1 then write(i,' ');

writeln(‘Множина цифр, що не містяться в числі:’);

for i:=0 to 9 do

if i in s2 then write(i,' ');

writeln(‘Множина цифр, що повторюються:’);

for i:=0 to 9 do

if i in s3 then write(i,' ');

readln;

END.


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал