Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ курсовыС, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹...
ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π·Π°ΠΊΠ°Π·. НСдорого!

Π’ΠΈΠΏ-мноТСство (set). Π―Π·Ρ‹ΠΊ программирования Turbo Pascal 7.0

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ мноТСство Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Ρ‚. Π½. пустоС мноТСство, Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰Π΅Π΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… элСмСнтов. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ (Set) — это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ пСрСчисляСмого Ρ‚ΠΈΠΏΠ°. In — ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ элСмСнт, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ слСва, Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ справа. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, являСтся Π»ΠΈ ΠΏΡ€Π°Π²ΠΎΠ΅ мноТСство подмноТСством Π»Π΅Π²ΠΎΠ³ΠΎ мноТСства; ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, являСтся Π»ΠΈ Π»Π΅Π²ΠΎΠ΅ мноТСство подмноТСством ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ мноТСства… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π’ΠΈΠΏ-мноТСство (set). Π―Π·Ρ‹ΠΊ программирования Turbo Pascal 7.0 (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ (Set) — это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ пСрСчисляСмого Ρ‚ΠΈΠΏΠ°.

Число элСмСнтов исходного мноТСства Π² Turbo Pascal Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС 256, Π° ΠΏΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° элСмСнтов (Ρ‚. Π΅. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ord) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΡ‚ 0 Π΄ΠΎ 255.

Для задания Ρ‚ΠΈΠΏΠ°-мноТСства слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова set ΠΈ of, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСмСнты этого мноТСства, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² Π²ΠΈΠ΄Π΅ пСрСчислСния ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

type.

Alfa = set of 'A'.'Z';

Count = set of (Plus, Minus, Mult, Divid);

Ten = set of 0.9;

Number = set of '0'.'9';

ВвСдя Ρ‚ΠΈΠΏ-мноТСство, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ константы этого Ρ‚ΠΈΠΏΠ°-мноТСства.

ΠŸΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ константС-мноТСству Π΅Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ (допустимо ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹) ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ся Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.

var.

Charval: Alfa;

Operation: Count;

Const.

Index: Ten = [0, 2, 4, 6, 8];

Digit: Number = ['0'.'9'];

Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ Π΄Ρ€ΡƒΠ³ΠΈΡ… структурированных Ρ‚ΠΈΠΏΠΎΠ², Ρ‚ΠΈΠΏ-мноТСство ΠΌΠΎΠΆΠ½ΠΎ тСсти нСпосрСдствСнно ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… констант:

var.

CharVal: set of 'A'.'Z';

Operation: set of (Plus, Minus, Mult, Divid);

Const.

Index: set of 0.9=[0, 2, 4, 6, 8];

Digit: set of '0'.'9'=['0'.'9'];

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ задаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструктора мноТСства. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π·Π°Π΄Π°Π΅Ρ‚ мноТСство элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пСрСчислСния Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°ΡŽΡ‚ элСмСнты этого мноТСства. Допустимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ элСмСнтов.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ структуры ΡΠ²Π»ΡΡŽΡ‚ΡΡ конструкторами мноТСств:

[Plus, Minus].

[1.К mod 12, 15].

[Chr (0).Chr (31), 'А', 'Π’'].

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ мноТСство Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Ρ‚. Π½. пустоС мноТСство [ ], Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰Π΅Π΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… элСмСнтов.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ мноТСства ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΡ… Π½Π°Π΄ мноТСствами.

Для мноТСств ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

+ - объСдинСниС мноТСств;

  • — - Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ мноТСств;
  • * - пСрСсСчСниС мноТСств;

= - ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° эквивалСнтности Π΄Π²ΡƒΡ… мноТСств;

— ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° нСэквивалСнтности Π΄Π²ΡƒΡ… мноТСств;

<= - ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, являСтся Π»ΠΈ Π»Π΅Π²ΠΎΠ΅ мноТСство подмноТСством ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ мноТСства;

>= - ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, являСтся Π»ΠΈ ΠΏΡ€Π°Π²ΠΎΠ΅ мноТСство подмноТСством Π»Π΅Π²ΠΎΠ³ΠΎ мноТСства;

in — ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ элСмСнт, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ слСва, Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ справа.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ объСдинСния, разности ΠΈΠ»ΠΈ пСрСсСчСния являСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ мноТСство, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°ΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ логичСского Ρ‚ΠΈΠΏΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€.

ВвСсти строку символов, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π»Π°Ρ‚инских Π±ΡƒΠΊΠ², Ρ†ΠΈΡ„Ρ€ ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… символов.

program EXAMPLE;

Var.

Str: string;

L: Byte;

Tru: Boolean;

Begin.

WriteLn ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ строку');

ReadLn (Str);

L := Length (Str); {число Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… символов}.

Tru := L > 0; {true, Ссли Π½Π΅ ΠΏΡƒΡΡ‚ая строка}.

while Tru and (L > 0) do {ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° с ΠΊΠΎΠ½Ρ†Π° строки}.

Begin.

Tru:=Str[L] in ['0'.'9, 'A'.'Z, 'a'.'z, ' ']; {ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° допустимости символа}.

Dec (L) {ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ символ}.

end;

if Tru then.

WriteLn ('ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ строка').

Else.

WriteLn ('ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ строка').

end.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ