Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
23.03.2015
Размер:
3 Кб
Скачать
☆

‘Џ…–€”€ЉЂ–€џ
 Ўбва ЄжЁЁ ¤ ­­ле
"Ќ Ў®а  楫ле зЁбҐ« intset"

intset = DATA TYPE IS create, insert, delete, member, size, choose, equal,
similar, copy

ЋЏ€‘ЂЌ€…

Ќ Ў®ал 楫ле зЁбҐ« intset - нв® ­Ґ®Ја ­ЁзҐ­­лҐ ¬ вҐ¬ вЁзҐбЄЁҐ
¬­®¦Ґбвў  楫ле зЁбҐ«. Ќ Ў®ал 楫ле зЁбҐ« €‡Њ…Ќџ…Њ›…: ®ЇҐа жЁЁ
insert Ё delete ¤®Ў®ў«пов Ё г¤ «пов жҐ«лҐ зЁб«  Ё§ ­ Ў®а .

ЋЏ…ђЂ–€€

create = PROC () RETURNS (intset)
EFFECTS ‚®§ўа й Ґв ­®ўл©, Їгбв®© ­ Ў®а intset

insert = PROC (S: intset, X: int)
MODIFIES S
EFFECTS „®Ў ў«пҐв X Є н«Ґ¬Ґ­в ¬ S; Ї®б«Ґ ¤®Ў ў«Ґ­Ёп - ў®§-
ўа й Ґв Spost = S U {X}, Ј¤Ґ Spost - нв® ­ Ў®а §­ -
祭Ё© ў S ЇаЁ ў®§ўа вҐ Ё§ insert.

delete = PROC (S: intset, X: int)
MODIFIES s
EFFECTS “¤ «пҐв X Ё§ S (в.Ґ. Spost = S - {X}).

member = PROC (S: intset, X: int) RETURNS (bool)
EFFECTS ‚®§ўа й Ґв §­ зҐ­ЁҐ true, Ґб«Ё X ф S.

size = PROC (S: intset) RETURNS (int)
EFFECTS ‚®§ўа й Ґв зЁб«® н«Ґ¬Ґ­в®ў ў S

choose = PROC (S: intset) RETURNS (int)
REQUIRES Ќ Ў®а S ­Ґ Їгбв.
EFFECTS ‚®§ўа й Ґв Їа®Ё§ў®«м­л© н«Ґ¬Ґ­в S

equal = PROC (S1, S2: intset) RETURNS (bool)
EFFECTS ‚®§ўа й Ґв §­ зҐ­ЁҐ true, Ґб«Ё S1 Ё S2 - ®¤Ё­ Ё в®в ¦Ґ
®ЎкҐЄв intset.

similar = PROC (S1, S2: intset) RETURNS (bool)
EFFECTS ‚®§ўа й Ґв §­ зҐ­ЁҐ true, Ґб«Ё s1 Ё S2 ᮤҐа¦ в ®¤Ё­ Є®ўлҐ
н«Ґ¬Ґ­вл.

copy = PROC (S: intset) RETURNS (intset)
EFFECTS ‚®§ўа й Ґв ­®ўл© ®ЎкҐЄв intset, ᮤҐа¦ йЁ© ⥠¦Ґ н«Ґ¬Ґ­вл,
зв® Ё S.

END intset

”г­ЄжЁп ЂЃ‘’ђЂЉ–€€
¤«п  Ўбва ЄжЁЁ ¤ ­­ле
"Ќ Ў®а 楫ле зЁбҐ« intset"

REP = array[int]

{====================================================================}
{ ’ЁЇЁз­л© ­ Ў®а ¤ ­­ле intset Ґбвм: {x1, x2, ..., xn} }
{--------------------------------------------------------------------}
{ ”г­ЄжЁп ЂЃ‘’ђЂЉ–€€ Ґбвм }
{ A(r) = { r[i] | low(r) <= i <= high(r) } }
{ Ј¤Ґ { x | p(x) } - Ґбвм ­ Ў®а ўбҐе в ЄЁе x, зв® }
{ p(x) Ё¬ҐҐв §­ зҐ­ЁҐ true }
{====================================================================}

”г­ЄжЁп €Ќ‚Ђђ€ЂЌ’ Џђ…„‘’Ђ‚‹…Ќ€џ
¤«п  Ўбва ЄжЁЁ ¤ ­­ле
"Ќ Ў®а 楫ле зЁбҐ« intset"

REP = array[int]

{====================================================================}
{ €Ќ‚Ђђ€ЂЌ’ Џђ…„‘’Ђ‚‹…Ќ€џ Ґбвм }
{ „«п ўбҐе 楫ле i Ё j в ЄЁе, зв® low(r) <= i <= high(r) }
{ r[i] <> r[j] }
{--------------------------------------------------------------------}
{ ЏЋџ‘Ќ…Ќ€џ: ‚ ¬ ббЁўҐ ЇаҐ¤бв ў«Ґ­Ёп ­Ґ ¬®¦Ґв Ўлвм ®¤Ё­ Є®ўле н«Ґ¬-®ў}
{====================================================================}

Соседние файлы в папке INTSET1