Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:AlgStr / Библиотека / ЗАДАЧИ / INTSET1 / INTSET
.TXT‘Џ…–€”€ЉЂ–€џ
Ўбва ЄжЁЁ ¤ ле
"Ќ Ў®а 楫ле зЁбҐ« 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] }
{--------------------------------------------------------------------}
{ ЏЋџ‘Ќ…Ќ€џ: ‚ ¬ ббЁўҐ ЇаҐ¤бв ў«ҐЁп Ґ ¬®¦Ґв Ўлвм ®¤Ё Є®ўле н«Ґ¬-®ў}
{====================================================================}
