8-900-374-94-44
[email protected]
Slide Image
МСню

Byte pascal: Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Паскаль, константы ΠΈ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Pascal. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… — Pascal

ΠŸΡ€ΠΈ описании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π΅ Ρ‚ΠΈΠΏ. Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ описываСт Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΈ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π΄ Π½Π΅ΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹. ОписаниС Ρ‚ΠΈΠΏΠ° опрСдСляСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ.

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ дСлятся Π½Π° стандартныС (порядковыС) ΠΈ пСрСчисляСмыС (ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅).

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

Π’ΡƒΡ€Π±ΠΎ-Паскаль ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ встроСнных стандартных Ρ‚ΠΈΠΏΠ°: integer (Ρ†Π΅Π»ΠΎΠ΅), real (вСщСствСнноС), boolean (логичСский) ΠΈ char (ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ).

ЦСлочислСнный Ρ‚ΠΈΠΏ (integer)

Π’ Π’ΡƒΡ€Π±ΠΎ-ПаскалС имССтся ΠΏΡΡ‚ΡŒ встроСнных цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ²: shortint (ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅), integer (Ρ†Π΅Π»ΠΎΠ΅), longint (Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅), byte (Π΄Π»ΠΈΠ½ΠΎΠΉ Π² Π±Π°ΠΉΡ‚) ΠΈ word (Π΄Π»ΠΈΠ½ΠΎΠΉ Π² слово). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ подмноТСство Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΊΠ°ΠΊ это ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π’Π°Π±Π»ΠΈΡ†Π΅.

ВстроСнныС цСлочислСнныС Ρ‚ΠΈΠΏΡ‹.

Π’ΠΈΠΏ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

Π€ΠΎΡ€ΠΌΠ°Ρ‚

shortint

-128 ..+127

8 Π±ΠΈΡ‚ΠΎΠ² со Π·Π½Π°ΠΊΠΎΠΌ

integer

-32768 .. 32767

16 Π±ΠΈΡ‚ΠΎΠ² со Π·Π½Π°ΠΊΠΎΠΌ

longint

-2147483648 +2147483647

32 Π±ΠΈΡ‚Π° со Π·Π½Π°ΠΊΠΎΠΌ

byte

0 .. 255

8 Π±ΠΈΡ‚ΠΎΠ² Π±Π΅Π· Π·Π½Π°ΠΊΠ°

word

0 .. 65535

16 Π±ΠΈΡ‚ΠΎΠ² Π±Π΅Π· Π·Π½Π°ΠΊΠ°

АрифмСтичСскиС дСйствия Π½Π°Π΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ цСлочислСнного Ρ‚ΠΈΠΏΠ° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ Π² соотвСтствии со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ:

  1. Π’ΠΈΠΏ Ρ†Π΅Π»ΠΎΠΉ константы прСдставляСт собой встроСнный цСлочислСнный Ρ‚ΠΈΠΏ с наимСньшим Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой Ρ†Π΅Π»ΠΎΠΉ константы.
  2. Π’ случаС Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°), ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΊ ΠΈΡ… ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ дСйствиС. ΠžΠ±Ρ‰ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ являСтся встроСнный цСлочислСнный Ρ‚ΠΈΠΏ с наимСньшим Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². НапримСр, ΠΎΠ±Ρ‰ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ для Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½ΠΎΠΉ Π² Π±Π°ΠΉΡ‚ являСтся Ρ†Π΅Π»ΠΎΠ΅, Π° ΠΎΠ±Ρ‰ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ для Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½ΠΎΠΉ Π² слово являСтся Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅. ДСйствиС выполняСтся Π² соотвСтствии с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° являСтся ΠΎΠ±Ρ‰ΠΈΠΉ Ρ‚ΠΈΠΏ.
  3. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ справа Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ присваивания вычисляСтся нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ слСва.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Π΅ Π½Π°Π΄ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами:

β€œ+” — слоТСниС

β€œ-β€œ — Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅

β€œ*” — ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅

SQR — Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚

DIV — послС дСлСния отбрасываСт Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ

MOD — ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ остатка послС дСлСния

ABS — ΠΌΠΎΠ΄ΡƒΠ»ΡŒ числа

RANDOM(X)-ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ случайного числа ΠΎΡ‚ 0 Π΄ΠΎ Π₯

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π°:=100; 
b:=60;
a DIV b Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ - 1
Π° MOD b Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ - 40

ΠžΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

var список ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: Ρ‚ΠΈΠΏ;

НапримСр: var Π°,Ρ€,n:integer;

ВСщСствСнный Ρ‚ΠΈΠΏ(real)

К вСщСствСнному Ρ‚ΠΈΠΏΡƒ относится подмноТСство вСщСствСнных чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой с фиксированным числом Ρ†ΠΈΡ„Ρ€. Π—Π°ΠΏΠΈΡΡŒ значСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ значСния — m, b ΠΈ e — Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ m*b

Π΅, Π³Π΄Π΅ b всСгда Ρ€Π°Π²Π΅Π½ 10, Π° m ΠΈ e ΡΠ²Π»ΡΡŽΡ‚ΡΡ цСлочислСнными значСниями Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ вСщСствСнного Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΈ значСния m ΠΈ e Π΄Π°Π»Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ вСщСствСнного Ρ‚ΠΈΠΏΠ°.

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ ΠΏΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΎΠ² вСщСствСнных Ρ‚ΠΈΠΏΠΎΠ²: real, singlΠ΅, duble, exnende, comp. ВСщСствСнныС Ρ‚ΠΈΠΏΡ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ связанных с Π½ΠΈΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ дСсятичныС Ρ†ΠΈΡ„Ρ€Ρ‹ для вСщСствСнных Ρ‚ΠΈΠΏΠΎΠ²

Π’ΠΈΠΏ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

Π¦ΠΈΡ„Ρ€Ρ‹

Real

Single

Duble

Extende

comp

2.9×10Π•-39 Π΄ΠΎ 1.7×10Π• 38

1.5×10Π•-45 Π΄ΠΎ 3.4×10Π• 38

5.0×10Π•-324 Π΄ΠΎ 1.7×10Π• 308

3.4×10Π•-493 Π΄ΠΎ 1.1×10Π• 403

-2Π• 63 Π΄ΠΎ 2Π• 63

ΠΎΡ‚ 11 Π΄ΠΎ 12

ΠΎΡ‚ 7 Π΄ΠΎ 8

ΠΎΡ‚ 15 Π΄ΠΎ 16

ΠΎΡ‚ 19 Π΄ΠΎ 20

ΠΎΡ‚ 19 Π΄ΠΎ 20

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Π΅ Π½Π°Π΄ вСщСствСнными числами:

  • ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ допустимыС для Ρ†Π΅Π»Ρ‹Ρ… чисСл.
  • SQRT(x)-ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΈΠ· числа Ρ….
  • SIN(X), COS(X), ARCTAN(X).
  • LN(X)-Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ.
  • EXP(X)-экспонСнта Π₯ (Π΅Ρ…
    ).
  • EXP(X*LN(A))-Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ (Ах).
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСобразования Ρ‚ΠΈΠΏΠΎΠ²:
    • TRUNC(X)-отбрасываСт Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ;
    • ROUND(X)-ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅.
  • НСкоторыС ΠΏΡ€Π°Π²ΠΈΠ»Π° арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:
    • Если Π² арифмСтичСском дСйствии Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ числа Ρ‚ΠΈΠΏΠ° real ΠΈ integer, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ real.
    • ВсС составныС части выраТСния Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½Ρƒ строку.
    • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки.
    • НСльзя подряд ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π²Π° арифмСтичСских Π·Π½Π°ΠΊΠ°.

ΠžΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вСщСствСнного Ρ‚ΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

var список ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: Ρ‚ΠΈΠΏ;

НапримСр:

var d,g,k:real;

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ(char)

K Ρ‚ΠΈΠΏΡƒ char относится любой символ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² апострофы. Для прСдставлСния апострофа ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½Π°Π΄ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² апостроф:’’’’.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ символ ΠΈΠΌΠ΅Π΅Ρ‚ свой ΠΊΠΎΠ΄ ΠΈ Π½ΠΎΠΌΠ΅Ρ€. ΠŸΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° Ρ†ΠΈΡ„Ρ€ 0,1..9 упорядочСны ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ. ΠŸΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° Π±ΡƒΠΊΠ² Ρ‚Π°ΠΊΠΆΠ΅ упорядочСны ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

К ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Π·Π½Π°ΠΊΠΈ сравнСния:

> , < , >=, <=, <> .

НапримСр: β€˜A’ < β€˜W’

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ:

  1. ORD(X) — опрСдСляСт порядковый Π½ΠΎΠΌΠ΅Ρ€ символа Π₯.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    ord(β€˜a’)=97;
  2. CHR(X) — опрСдСляСт символ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    chr(97)=’a’;
  3. PRED(X) — Π²Ρ‹Π΄Π°Π΅Ρ‚ символ, стоящий ΠΏΠ΅Ρ€Π΅Π΄ символом Π₯.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    pred(β€˜B’)=’A’;
  4. SUCC(X) — Π²Ρ‹Π΄Π°Π΅Ρ‚ символ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ послС символа Π₯.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    succ(β€˜A’)=’B’;

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°Π·Π²Π°Π½ Ρ‚Π°ΠΊ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ задаСтся Π² Π²ΠΈΠ΄Π΅ пСрСчислСния констант Π² строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС ΠΈ Π² строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ количСствС. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ состоит ΠΈΠ· списка констант. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ этого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ любой ΠΈΠ· этих констант. ОписаниС пСрСчислимого Ρ‚ΠΈΠΏΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

Type <имя Ρ‚ΠΈΠΏΠ°>=(список констант);
Var <имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ>:<имя Ρ‚ΠΈΠΏΠ°>;
Β 

Π³Π΄Π΅ <список констант> — это особый Π²ΠΈΠ΄ констант, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… свой порядковый Π½ΠΎΠΌΠ΅Ρ€, начиная с 0.

НапримСр:

type
Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅=(сСвСр, юг, Π·Π°ΠΏΠ°Π΄, восток);
мСсяц=(июнь,июль,август,ΡΠ½Π²Π°Ρ€ΡŒ);
Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ=(Π²Π΅Π΄Ρ€ΠΎ,Π±ΠΎΡ‡ΠΊΠ°,канистра,Π±Π°ΠΊ);
var
ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚:Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅;
ΠΎΡ‚ΡŠΠ΅Π·Π΄:мСсяц;
объСм:Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ;
Β 

ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ:

var
ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚:(свСр, юг, Π·Π°ΠΏΠ°Π΄, восток);
ΠΎΡ‚ΡŠΠ΅Π·Π΄:(июнь, июль, август, ΡΠ½Π²Π°Ρ€ΡŒ);
объСм:(Π²Π΅Π΄Ρ€ΠΎ, Π±ΠΎΡ‡ΠΊΠ°, канистра, Π±Π°ΠΊ);
Β 

МоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания:

ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚:=юг;
ΠΎΡ‚ΡŠΠ΅Π·Π΄:=август;
объСм:=бак;

Π½ΠΎ нСльзя Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ присваивания:

ΠΎΡ‚ΡŠΠ΅Π·Π΄:=юг;
объСм:=август;
Β 

К ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ пСрСчислимого Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

1. ORD — порядковый Π½ΠΎΠΌΠ΅Ρ€

2. PRED — ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт

3. SUCC — ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

PRED(Π±ΠΎΡ‡ΠΊΠ°)=Π²Π΅Π΄Ρ€ΠΎ; 
SUCC(юг)=запад; 
ORD(июль)=1;
Β 

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ пСрСчислимого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ упорядочСны ΠΈ ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Ρ‹. Π’Π°ΠΊ выраТСния: сСвСр < юг, июнь < ΡΠ½Π²Π°Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ значСния TRUE, Π° юг>Π·Π°ΠΏΠ°Π΄ ΠΈ Π±Π°ΠΊ<Π±ΠΎΡ‡ΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ FАLSE.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ

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

ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊ:

TYPE <имя Ρ‚ΠΈΠΏΠ°>=константа1..константа2

ΠŸΡ€ΠΈ этом Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°:

  1. ОбС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ константы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.
  2. Π’ качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой простой Ρ‚ΠΈΠΏ, ΠΊΡ€ΠΎΠΌΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ(real).
  3. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ большС ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ значСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

type index=0..63;
letter=’a’..’z’; var char1,char2:letter;
a,g:index;

МоТно ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ сразу Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

var a,g:0..63;
char1,char2:’a’..’z’.

Π¦Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

Π’ языкС Паскаль ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

Π’Π°Π±Π»ΠΈΡ†Π°. Π¦Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Pascal

Π’ΠΈΠΏΠ”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉΠžΡ‚Π²ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π² Π±Π°ΠΉΡ‚Π°Ρ…
shortint-128…1271
integer-32 768…32 7672
longint-2 147 483 648…2 147 483 6474
byte0…2551
word0…65 5352

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ значСния. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π—Π΄Π΅ΡΡŒ a, b, c… — ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, integer – Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Вранслятор, встрСтив Ρ‚Π°ΠΊΠΎΠ΅ описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… a, b, c, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ значСния ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ соотвСтствСнно этому ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Π°Π±Π»ΠΈΡ†Π°. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Ρ†Π΅Π»Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°

Π—Π½Π°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ
+Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅
*Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅
divЦСлочислСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (остаток отбрасываСтся). Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π΅Π· округлСния (цСлая Ρ‡Π°ΡΡ‚ΡŒ частного).
modΠ”Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ (Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ остатка ΠΎΡ‚ дСлСния). ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ дСлСния: a mod b = a – ((a div b) * b).

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π½Π΅ мСньшС минимального (ΠΊΡ€Π°ΠΉΠ½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ) ΠΈ Π½Π΅ большС максимального (ΠΊΡ€Π°ΠΉΠ½Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. НапримСр, Π² ПаскалС сущСствуСт константа maxint, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТится максимально допустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Ρ‚ΠΈΠΏΠ° integer. Π’ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия:
(a опСрация b) <= maxint,
a <= maxint, b <= maxint.

Над Ρ†Π΅Π»Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, допустимы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ (сравнСния). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ относится ΠΊ Ρ‚ΠΈΠΏΡƒ boolean ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ – Π»ΠΈΠ±ΠΎ true (истина), Π»ΠΈΠ±ΠΎ false (лоТь).

Π’Π°Π±Π»ΠΈΡ†Π°. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ

Π—Π½Π°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ
=Π Π°Π²Π½ΠΎ
<>НС Ρ€Π°Π²Π½ΠΎ
>=Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ
>Π‘ΠΎΠ»ΡŒΡˆΠ΅
<=МСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ
<МСньшС

Π¦Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π² качСствС фактичСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² рядом стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ языка программирования Pascal.

Π’Π°Π±Π»ΠΈΡ†Π°. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Pascal, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Π΅ ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²

ЀункцияВип Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния
abs(x)Π¦Π΅Π»Ρ‹ΠΉΠœΠΎΠ΄ΡƒΠ»ΡŒ x (Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° x)
sqr(x)Π¦Π΅Π»Ρ‹ΠΉΠšΠ²Π°Π΄Ρ€Π°Ρ‚ x
succ(x)Π¦Π΅Π»Ρ‹ΠΉΠ‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x (x+1)
pred(x)Π¦Π΅Π»Ρ‹ΠΉΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x (x-1)
random(x)Π¦Π΅Π»Ρ‹ΠΉΠ‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° 0..x-1.
sin(x)Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠ‘ΠΈΠ½ΡƒΡ x (ΡƒΠ³ΠΎΠ» Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…)
cos(x)Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠšΠΎΡΠΈΠ½ΡƒΡ x (ΡƒΠ³ΠΎΠ» Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…)
arctan(x)Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠΡ€ΠΊΡ‚Π°Π½Π³Π΅Π½Ρ x (ΡƒΠ³ΠΎΠ» Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…)
ln(x)Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠΠ°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ x
exp(x)Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠ­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ‚Π° x
sqrt(x)Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈΠ· x
odd(x)ЛогичСскийЗначСниС true, Ссли x – Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число; false – Ссли Ρ‡Π΅Ρ‚Π½ΠΎΠ΅.

Ѐункция random Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСнноС случайноС Ρ†Π΅Π»ΠΎΠ΅ число, Ссли Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Ρ†Π΅Π»Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ значСния. Π’ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ этого слСдуСт Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² randomize.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ inc ΠΈ dec ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΠΏΠΎ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π΄Π²Π°, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ увСличиваСтся (для inc) ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ (для dec) Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, Ρ€Π°Π²Π½ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. НапримСр, inc(x,2) Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ x+2. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΠ΄ΠΈΠ½, Ρ‚ΠΎ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ увСличиваСтся (для inc) ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ (для dec) Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. НапримСр, dec(x) Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ x-1. (ВАКИΠ₯ ΠŸΠ ΠžΠ¦Π•Π”Π£Π  Π’Πž FREEPASCAL Π‘ΠšΠžΠ Π•Π• Π’Π‘Π•Π“Πž НЕВ.)

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² значСния вСщСствСнного Ρ‚ΠΈΠΏΠ°, Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ значСния Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°:
trunc(x) – отбрасываниС дСсятичных Π·Π½Π°ΠΊΠΎΠ² послС Ρ‚ΠΎΡ‡ΠΊΠΈ;
round(x) – ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. ΠŸΡƒΡΡ‚ΡŒ a = 17, b = 5. Π’ΠΎΠ³Π΄Π° a div b Π΄Π°Π΅Ρ‚ 3, a mod b Π΄Π°Π΅Ρ‚ 2 (остаток ΠΎΡ‚ дСлСния), sqr(b) Π΄Π°Π΅Ρ‚ 25.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. ΠŸΡƒΡΡ‚ΡŒ x = 4.7389. Π’ΠΎΠ³Π΄Π° trunc(x) Π΄Π°Π΅Ρ‚ 4, round(x) Π΄Π°Π΅Ρ‚ 5.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 4 * 21 Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π° 4 * 21.0 – вСщСствСнного, Ρ‚.ΠΊ. ΠΎΠ΄ΠΈΠ½ ΠΈΠ· сомноТитСлСй вСщСствСнный.

ОбъявлСниС мноТСств ΠΈ дСйствия Π½Π°Π΄ Π½ΠΈΠΌΠΈ

ОбъявлСниС мноТСств

Π’ языкС программирования Pascal сущСствуСт понятиС мноТСства, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ смысл Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ собрания элСмСнтов, ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ опрСдСляСт ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ всСх элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ мноТСствС. Π’ качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ любой простой порядковый Ρ‚ΠΈΠΏ. Но вСщСствСнныС числа (real Π½Π΅ порядковый Ρ‚ΠΈΠΏ) ΠΈ строки (Π½Π΅ простой ΠΈ Π½Π΅ порядковый Ρ‚ΠΈΠΏ) Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ элСмСнтами мноТСства.

Π Π°Π·ΠΌΠ΅Ρ€ мноТСства Π² Turbo Pascal всСгда ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ допустимым количСством элСмСнтов. Π’ΠΎ мноТСствах Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты, порядковыС значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ выходят Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ 0..255. Для цСлочислСнных мноТСств это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа ΠΎΡ‚ 0 Π΄ΠΎ 255. ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты мноТСств Π² Turbo Pascal Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ shortint, integer, longint. Если ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ мноТСство цСлочислСнных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ объявлСн ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ‚ΠΈΠΏΠ° byte. Для мноТСств, содСрТащих символы, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ Π½Π΅Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ для Π½ΠΈΡ… являСтся char (Π° Π² Π½Π΅ΠΌ 256 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с порядковыми Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΎΡ‚ 0 Π΄ΠΎ 255).

Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ для обозначСния мноТСства ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, {4, 7, 12}), Π² Паскаль β€” ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, [1, 3, 5]). ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ элСмСнтов Π²ΠΎ мноТСствС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. Π’Π°ΠΊ, записав [3, 6, 9] ΠΈΠ»ΠΈ [9, 3, 6], ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ мноТСством. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ элСмСнта Π½Π΅ мСняСт мноТСство. НапримСр, [4, 7, 3] ΠΈ [3, 7, 4, 4] – это ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ мноТСство.

По Ρ„ΠΎΡ€ΠΌΠ΅ записи объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° мноТСство сходно с объявлСниСм ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

var
	имя: set of Ρ‚ΠΈΠΏ;

НапримСр, объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ch, рассматриваСмой ΠΊΠ°ΠΊ мноТСство с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ char, ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ элСмСнтов массива, элСмСнты мноТСства Π½Π΅ упорядочСны ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ индСксов.

МоТно сначала ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ мноТСства, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

type
	t_ch = set of char;
var
	ch2, ch3: t_ch;

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ часто Π² качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° мноТСства ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏ пСрСчислСния ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½:

type
	week_days = (Mon, Tue, Wed, Thu, Fri);
var
	work_days: set of week_days;
	lett: set of 'A'..'Z';

ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-мноТСства Π½Π΅ Π΄Π°Π΅Ρ‚ Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ мноТСства

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎ мноТСствС появились элСмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания, Π² Π»Π΅Π²ΠΎΠΉ части ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ стоит имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-мноТСства, Π° Π² ΠΏΡ€Π°Π²ΠΎΠΉ β€” конструктор мноТСства ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π΄ мноТСствами.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ мноТСства β€” это Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ элСмСнтов, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми. Π’ качСствС элСмСнтов ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

type
	week_days = (Mon, Tue, Wed, Thu, Fri);
var
	work_days: set of week_days;
	lett: set of 'A'..'Z';
begin
	work_days := [Mon, Wed, Thu];
	lett := ['C', 'E'..'M', 'Z']
end.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ мноТСства порядок Π΅Π³ΠΎ элСмСнтов Π±Π΅Π·Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½, Π½ΠΎ ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Ρ‚Π°ΠΊΠΎΠΉ порядок Π²Π°ΠΆΠ΅Π½.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅Ρ‚ элСмСнтов, называСтся пустым (ΠΈΠ»ΠΈ Π½ΡƒΠ»ΡŒ-мноТСством). Π’ языкС программирования Паскаль обозначаСтся ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π½Π΅Ρ‚ элСмСнтов:

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объявлСно Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ константой, для Ρ‡Π΅Π³ΠΎ Π² описании послС Π·Π½Π°ΠΊΠ° равСнства слСдуСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ конструктор мноТСства. НапримСр:

const lett: set of ['Π°'..'я'] = ['Π°', 'Π΅', 'ΠΈ', 'ΠΎ', 'Ρƒ', 'Ρ‹', 'э', 'ю', 'я'];

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ описываСт мноТСство, элСмСнтами ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ русского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, с записью Π² Π½Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт собой мноТСство гласных Π±ΡƒΠΊΠ².

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΡƒΡ мноТСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° мноТСства. Π’Π°ΠΊ, Ссли ch2 ΠΈ ch3 ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ char, Ρ‚ΠΎ допустима ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

ch2 := 'A';
ch3 := 'K';
chs := [ch2, ch3, 'M'];

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получится мноТСство [‘A’, ‘K’, ‘M’].

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ мноТСства нСльзя Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ. Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° элСмСнтов мноТСства слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мноТСства ΠΊΠ°ΠΊ элСмСнты Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

ДСйствия Π½Π°Π΄ мноТСствами

ОбъСдинСниС, пСрСсСчСниС ΠΈ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ мноТСств

Над мноТСствами Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΡ‹ объСдинСниС (+), пСрСсСчСниС (*) ΠΈ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ (-).

ОбъСдинСниС Π΄Π²ΡƒΡ… мноТСств A ΠΈ B (A + B) – это Π½ΠΎΠ²ΠΎΠ΅ мноТСство, состоящСС ΠΈΠ· элСмСнтов, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… мноТСству A ΠΈΠ»ΠΈ B, Π»ΠΈΠ±ΠΎ Ρ‚ΠΎΠΌΡƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

var
	chs1, chs2, chs3: set of char;
begin
	chs1 := ['a', 'b', 'd'];
	chs2 := ['m', 'd', 'e'];
	chs3 := chs1 + chs2 + ['k', 'n'];
end.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: chs3 = ['a', 'b', 'd', 'm', 'e', 'k', 'n'].

ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… мноТСств A ΠΈ B (A * B) – это мноТСство, состоящСС ΠΈΠ· элСмСнтов, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… мноТСствам A ΠΈ B.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: chs3 = [‘d’].

Π Π°Π·Π½ΠΎΡΡ‚ΡŒ Π΄Π²ΡƒΡ… мноТСств A ΠΈ B (A – B) – это Π½ΠΎΠ²ΠΎΠ΅ мноТСство, состоящСС ΠΈΠ· элСмСнтов мноТСства A, Π½Π΅ Π²ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… Π² мноТСство B.

chs1 := ['a', 'e', 't'];
chs2 := chs1 – ['e'] 		{ ['a', 't'] }
chs3 := ['m', 'n', 't'] – chs2 	{ ['m', 'n'] }

ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡ опСрациями Π½Π°Π΄ мноТСствами, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ элСмСнты ΠΊ мноТСствам ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ….

Для вставки ΠΈ удалСния элСмСнтов ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с мноТСствами Π² Pascal Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π΄Π²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹:

include (имя_мноТСства, элСмСнт)
exclude (имя_мноТСства, элСмСнт)

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΈΠ· Π½ΠΈΡ… позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ мноТСство, Π° вторая ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. НапримСр:

include (chs1, 'g'); 	{ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ chs1 + ['g'] }
exclude (chs2, 'a');	{ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ chs2 - ['a'] }

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ мноТСствами

Над мноТСствами ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния: =, <>, >=, <=.

Π”Π²Π° мноТСства A ΠΈ B Ρ€Π°Π²Π½Ρ‹ (A = B), Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт мноТСства A являСтся элСмСнтом мноТСства B ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Π”Π²Π° мноТСства A ΠΈ B Π½Π΅ Ρ€Π°Π²Π½Ρ‹ (A <> B), Ссли ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ A являСтся подмноТСством мноТСства B (A <= B, ΠΈΠ»ΠΈ B >= A), Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠ· A присутствуСт Π² B.

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ мноТСству. Для этого слуТит опСрация in. ΠŸΡƒΡΡ‚ΡŒ A – мноТСство элСмСнтов Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π° x – пСрСмСнная (константа, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) этого Ρ‚ΠΈΠΏΠ°. Π’ΠΎΠ³Π΄Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ x in A истинно, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x являСтся элСмСнтом мноТСства A.

ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния мноТСств, Π° Ρ‚Π°ΠΊΠΆΠ΅ опСрация in Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ false.

Π’ слоТных выраТСниях Π½Π°Π΄ мноТСствами ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹:

  1. *
  2. +, —
  3. =, <>, <=, >=, in

Битовая Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π±ΠΈΡ‚Π°ΠΌΠΈ

Π’ Pascal Π½Π°Π΄ Ρ†Π΅Π»Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ (byte, shortint, word, integer, longint ΠΈ ΠΈΡ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹) допустимы ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π±ΠΈΡ‚Π°ΠΌΠΈ

Над Π±ΠΈΡ‚Π°ΠΌΠΈ Π΄Π²ΡƒΡ… Ρ†Π΅Π»Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π½Π΅Π΅ рассмотрСнныС логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: not, and, or, xor. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΈ логичСскими опСрациями состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ (поразрядныС) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°Π΄ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ², Π° Π½Π΅ Π½Π°Π΄ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² дСсятичном (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ) прСдставлСнии.

НапримСр, число 5 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии (Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅) ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 00000101. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ not ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π±ΠΈΡ‚Ρ‹ ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 11111010, Ρ‚.Π΅ число 250. Если ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ or ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊ числам 5 (00000101) ΠΈ 3 (00000011), Ρ‚ΠΎ получится число 7 (00000111).

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ цикличСского сдвига

Π’ Паскаль ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π΅Ρ‰Π΅ Π΄Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°, Ρ‡Ρ‚ΠΎ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ and, *, /, div ΠΈ mod. Π­Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ shl ΠΈ shr, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ соотвСтствСнно. ΠŸΡ€ΠΈ этом Π±ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выходят Π·Π° Ρ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ сСтку, Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ shl освободившиСся справа Π±ΠΈΡ‚Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нулями. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ shr освободившиСся слСва Π±ΠΈΡ‚Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ ΠΏΡ€ΠΈ сдвигС Π²ΠΏΡ€Π°Π²ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ нулями Π² случаС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ shl Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π·Π°ΠΌΠ΅Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния Ρ†Π΅Π»Ρ‹Ρ… чисСл Π½Π° стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ приводят ΠΊ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ: (a shl 1) = a * 2, (a shl 2) = a * 4, (a shl3) = a * 8.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ цикличСского сдвига

var
     A, B: byte;
begin
     A := 11;                                       {00001011}
     B := 6;                                         {00000110}
     writeln('A=', A);
     writeln('B=', B);
     writeln('not A = ', not A);           {11110100 = 244}
     writeln('A and B = ', A and B);   {00000010 = 2}
     writeln('A or B = ', A or B);        {00001111 = 15}
     writeln('A xor B = ', A xor B);    {00001101 = 13}
     writeln('A shl 1 = ', A shl 1);      {00010110 = 22}
     writeln('B shr 2 = ', B shr 2);      {00000001 = 1}
end.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ and практичСски всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для достиТСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ†Π΅Π»Π΅ΠΉ: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ установлСнных Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π±ΠΈΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ².

Подобная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½ΡƒΠΆΠ½Π°, Ссли число прСдставляСт Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² с двумя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ значСниями (Π½Π°Π±ΠΎΡ€ Ρ„Π»Π°Π³ΠΎΠ²). Π’Π°ΠΊ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ систСмныС ячСйки памяти содСрТат свСдСния ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ Π΅Π³ΠΎ состоянии. ΠŸΡ€ΠΈ этом установка Π±ΠΈΡ‚Π° с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π² 1 трактуСтся ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°, Π° Π² 0 β€” Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ этого Ρ€Π΅ΠΆΠΈΠΌΠ°.

ΠŸΡƒΡΡ‚ΡŒ пСрСмСнная a ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ byte ΠΈ являСтся Π±Π°ΠΉΡ‚ΠΎΠΌ с восСмью Ρ„Π»Π°Π³Π°ΠΌΠΈ. НСобходимо ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ состояниС Π±ΠΈΡ‚Π° с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 5 (Π±ΠΈΡ‚Ρ‹ Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ справа Π½Π°Π»Π΅Π²ΠΎ ΠΎΡ‚ 0 Π΄ΠΎ 7). Π•Π΄ΠΈΠ½ΠΈΡ†Π° Π² Π±ΠΈΡ‚Π΅ 5 β€” это пятая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа 2, Ρ‚.Π΅. 32 (00100000). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π² пятом Π±ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a стоит Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, Ρ‚ΠΎ выполняСтся условиС (a and 32) = 32, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ вСтвлСния if. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ состояниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ установлСнных Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π±ΠΈΡ‚ΠΎΠ², Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ число ΠΊΠ°ΠΊ сумму стСпСнСй числа 2, Π³Π΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ стСпСни Ρ€Π°Π²Π½Ρ‹ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ Π±ΠΈΡ‚ΠΎΠ², установлСнных Π² 1. НапримСр, для Π±ΠΈΡ‚ΠΎΠ² 5, 2 ΠΈ 0 ΠΈΠΌΠ΅Π΅ΠΌ 32+4+1=37. Если a ΠΈΠΌΠ΅Π΅Ρ‚ срСди ΠΏΡ€ΠΎΡ‡ΠΈΡ… Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π² Π±ΠΈΡ‚Π°Ρ… 5, 2, 0, Ρ‚ΠΎ выполнится условиС (a and 37) = 37.

ΠŸΡƒΡΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π±ΠΈΡ‚ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a Ρ‚ΠΈΠΏΠ° byte (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΠΈΡ‚ 3). ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ сначала число, содСрТащСС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π²ΠΎ всСх Π±ΠΈΡ‚Π°Ρ…, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ. МаксимальноС число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ‚ΠΈΠΏ byte, равняСтся 255. Π§Ρ‚ΠΎΠ±Ρ‹ Π² Π½Π΅ΠΌ ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π±ΠΈΡ‚, Π²Ρ‹Ρ‡Ρ‚Π΅ΠΌ ΠΈΠ· этого числа Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа 2 (255-8=247). Если это число логичСски ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° a, Ρ‚ΠΎ Π΅Π³ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ скаТутся Π½Π° состоянии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a, Π° Π½ΡƒΠ»ΡŒ Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ Π±ΠΈΡ‚Π΅ нСзависимо ΠΎΡ‚ значСния Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π±ΠΈΡ‚Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a даст Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ 0. Π˜Ρ‚Π°ΠΊ, ΠΈΠΌΠ΅Π΅ΠΌ a:= a and (255-8). Аналогично ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ нСсколько Π±ΠΈΡ‚ΠΎΠ².

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ or примСняСтся ΠΏΡ€ΠΈ установкС Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π’Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΡ‚ 4 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π±Π΅Π· измСнСния ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ², слСдуСт Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ a:= a or 16, Π³Π΄Π΅ 16 β€” чСтвСртая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа 2. Аналогично ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ нСсколько Π±ΠΈΡ‚ΠΎΠ².

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ xor примСняСтся для смСны значСния Π±ΠΈΡ‚Π° (ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΡ‚ΠΎΠ²) Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ (1 Π½Π° 0 ΠΈΠ»ΠΈ 0 Π½Π° 1). Π’Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ состояниС 3-ΠΉ Π±ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a, слСдуСт Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ a:= a xor 8, Π³Π΄Π΅ 8 β€” Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа 2.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊ Π‘Π£ — Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Pascal

Pascal – язык со строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ΠΈ Π½Π΅ эквивалСнтны).

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая вычисляСт ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΡ€ΡƒΠ³Π° ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ радиусу:

S := r*r*3.14;

Если ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ S цСлочислСнный Ρ‚ΠΈΠΏ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π²Π΅Ρ€Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выраТСния r*r*3.14Β  Π±ΡƒΠ΄Π΅Ρ‚ Π΄Ρ€ΠΎΠ±ΡŒ, ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ цСлочислСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° складываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

a := 5;
b := 4;
c := a+b;

Если ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ a, b ΠΈ c ΡΠ²Π»ΡΡŽΡ‚ΡΡ числами, Ρ‚ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ послС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ c станСт Ρ€Π°Π²Π½ΠΎ 9-Ρ‚ΠΈ. Но Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли a ΠΈ b ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ числами, Π° простыми символами, Π° c – строкой?

a := β€˜5’;
b := β€˜4’;
c := a+b;

Π’ этом случаС ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ матСматичСски Π΄Π²Π° значСния (Π½Ρƒ ΠΏΡ€Π°Π²Π΄Π°, ΠΌΡ‹ ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ матСматичСски ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²Π΅ Π±ΡƒΠΊΠ²Ρ‹), ΠΈ символы просто подставятся Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ c Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ β€˜54’.

ΠšΡ€ΠΎΠΌΠ΅ этого, послС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти выдСляСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. И значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ пСрСмСнная, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ этим количСством Π±Π°ΠΉΡ‚. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… byte выдСляСтся 1 Π±Π°ΠΉΡ‚ памяти, ΠΈ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΎΡ‚ 0 Π΄ΠΎ 255, всСго 256, Ρ‡Ρ‚ΠΎ являСтся количСством Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ Π±Π°ΠΉΡ‚ΠΎΠΌ. Если ΠΆΠ΅ ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏ byte, Π½ΠΎ присвоим Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, 1000, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ цСлочислСнного Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этого Ρ‚ΠΈΠΏΠ°. Π’Π°ΠΊΠΆΠ΅ являСтся порядковым Ρ‚ΠΈΠΏΠΎΠΌ.

Π’ΠΈΠΏ Π”Π»ΠΈΠ½Π° (Π±Π°ΠΉΡ‚) Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
byte 1 0..255
shortint 1 -128..127
integer 2 -32768..32767
word 2 0..65536
longint 4 -2147483648..2147483647

Π’ заданиях Π•Π“Π­,Β ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… integer.

ВСщСствСнныС Ρ‚ΠΈΠΏΡ‹

К вСщСствСнному Ρ‚ΠΈΠΏΡƒ относят Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа ΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅,Β ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ вСщСствСнному Ρ‚ΠΈΠΏΡƒ Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’ΠΈΠΏ Π”Π»ΠΈΠ½Π° (Π±Π°ΠΉΡ‚) Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
single 4 1.5*10-45 — 3.4*1038
real 6 2.9*10-39 — 1.7*1038
double 8 5*10-324 — 1.7*10308
extended 10 3.4*10-4932 — 1.1*104932

Π’ заданиях Π•Π“Π­, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… real.

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ

Π›ΡŽΠ±ΠΎΠΉ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ символ.

Π’ΠΈΠΏ Π”Π»ΠΈΠ½Π° (Π±Π°ΠΉΡ‚) Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
char 1 Π›ΡŽΠ±ΠΎΠΉ символ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ASCII

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° char ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ, Ρ†ΠΈΡ„Ρ€Ρƒ, ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ стандартной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ являСтся порядковым Ρ‚ΠΈΠΏΠΎΠΌ.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ

Если char — это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ символ,Β Ρ‚ΠΎ строка — это Π½Π°Π±ΠΎΡ€ символов. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, слово, состоящСС ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΡƒΠΊΠ². Π’Π°ΠΊΠΆΠ΅ строки относят ΠΊ структурным Ρ‚ΠΈΠΏΠ°ΠΌ.

Π’ΠΈΠΏ Π”Π»ΠΈΠ½Π° (Π±Π°ΠΉΡ‚) Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
string 256 255 символов ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ASCII

ЛогичСский Ρ‚ΠΈΠΏ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ логичСского Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния: true ΠΈΠ»ΠΈ false (истина ΠΈΠ»ΠΈ лоТь). ЯвляСтся порядковым Ρ‚ΠΈΠΏΠΎΠΌ.

Π’ΠΈΠΏ Π”Π»ΠΈΠ½Π° (Π±Π°ΠΉΡ‚) Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
boolean 1 true, false

Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния, Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ,Β ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ 5 Π΄ΠΎ 25. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π΅Ρ‘ Ρ‚ΠΈΠΏ Ρ‚Π°ΠΊ:

var
a: 5..25;

Β 

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ПаскалС

Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π½Π° любом языкС программирования, ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ качСствС Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ числа, тСксты, Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π·Π²ΡƒΠΊ ΠΈ Π΄Ρ€. Одни Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ исходными, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ – Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ получаСтся ΠΏΡƒΡ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

Π”Π°Π½Π½Ρ‹Π΅ хранятся Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обращаСтся ΠΊ Π½ΠΈΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, связанных с участками памяти, Π³Π΄Π΅ хранятся Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ основного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π΄Π΅ΡΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ‚ΠΈΠΏ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² Π½ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’ языкС программирования Паскаль достаточно ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ свои Ρ‚ΠΈΠΏΡ‹.

Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² связанной с Π½Π΅ΠΉ ячСйкС памяти.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° integer ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ значСниями ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ -32768 Π΄ΠΎ 32767. Π’ Pascal Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ (byte, longint).

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° real хранят вСщСствСнныС (Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅) числа.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ булСвского (логичСского) Ρ‚ΠΈΠΏΠ° (boolean) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния — true (1, ΠΏΡ€Π°Π²Π΄Π°) ΠΈΠ»ΠΈ false (0, лоТь).

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (char) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ упорядочСнной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов.

Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ опрСдСляСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ формируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· порядковых Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ собой подмноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.

МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… простым пСрСчислСниСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ пСрСмСнная Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ пСрСчисляСмый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

ВсС Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ – это простыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Но Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΈ слоТныС, структурированныС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° простых Ρ‚ΠΈΠΏΠ°Ρ….

Массив – это структура, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ Π² памяти Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ состоящая ΠΈΠ· фиксированного числа ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ количСство этих символов Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС 255 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ являСтся Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ Pascal.

Π—Π°ΠΏΠΈΡΡŒ – это структура, состоящая ΠΈΠ· фиксированного числа ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… полями. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… полях записи Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ любого числа элСмСнтов, Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ пСрСчисляСмого Ρ‚ΠΈΠΏΠ°.

Π€Π°ΠΉΠ»Ρ‹ для Pascal ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π½Π° устройствах внСшнСй памяти (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ТСстком дискС).

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ связано с динамичСским Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Часто использованиС динамичСских Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… являСтся Π±ΠΎΠ»Π΅Π΅ эффСктивным Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‡Π΅ΠΌ статичСских.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Π² ПаскалС

Под мноТСством Π² ПаскалС понимаСтся ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ взаимосвязанных элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π•Π³ΠΎ элСмСнты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ порядкового Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ пСрСчислСниСм ΠΈ/ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ. Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹Π΅ слова Set Of говорят, Ρ‡Ρ‚ΠΎ объявлСн мноТСствСнный Ρ‚ΠΈΠΏ:

Type <имя Ρ‚ΠΈΠΏΠ°> = Set Of <Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ>;

Π Π°Π·ΠΌΠ΅Ρ€ мноТСства ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, Π½ΠΎ количСство элСмСнтов Π² Π½Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 256. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мноТСство, состоящСС ΠΈΠ· чисСл, Ρ‚ΠΎ слСдуСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ значСния входящиС Π² Ρ‚ΠΈΠΏ byte (ΠΎΡ‚ 0 Π΄ΠΎ 255).

Π’ ПаскалС для обозначСния элСмСнтов мноТСства ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… послСдниС, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ ΠΈ/ΠΈΠ»ΠΈ пСрСчислСниСм, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

[β€˜A’, β€˜B’, β€˜C’] [0, 1, 2, 5, 9] [1..9] [1, 2, 3, 10..20]

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ мноТСства Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ массивов Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ индСксов (Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ²), ΠΈ поэтому порядок Π½Π΅ Π²Π°ΠΆΠ΅Π½. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π΄Π²Π° мноТСства: [2, 3, 5] ΠΈ [3, 5, 2], Π½Π΅ смотря Π½Π° располоТСниС элСмСнтов, ΠΎΠ½ΠΈ тоТдСствСнны.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструктора мноТСств ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ мноТСствСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ значСния:

I:=[1, 2, 3, 5, 8];
C:=[β€˜b’, β€˜d’, β€˜f’];
B: = [True, False];

Π’ ЯП Pascal Π½Π°Π΄ мноТСствами прСдусмотрСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ОбъСдинСниС (+)

ОбъСдинСниСм мноТСств A ΠΈ B являСтся мноТСство C, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΈΠ»ΠΈ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… элСмСнты.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

[1, 2, 3, 4] + [3, 4, 5] = [1, 2, 3, 4, 5] [β€˜A’, β€˜B’, β€˜C’, β€˜D’] + [β€˜B’, β€˜E’, β€˜G’] = [β€˜A’, β€˜B’, β€˜C’, β€˜D’, β€˜E’, β€˜G’]

ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ (*)

ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ мноТСств A ΠΈ B являСтся мноТСство C, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит элСмСнты ΠΎΠ±ΠΎΠΈΡ… мноТСств.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

[1, 2, 3, 4] * [3, 4, 5] = [3, 4] [β€˜A’, β€˜B’, β€˜C’, β€˜D’] * [β€˜B’, β€˜E’, β€˜G’] = [β€˜B’]

Π Π°Π·Π½ΠΎΡΡ‚ΡŒ (-)

Π Π°Π·Π½ΠΎΡΡ‚ΡŒΡŽ мноТСств A ΠΈ B являСтся мноТСство C, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит элСмСнты мноТСства A, Π½Π΅ вошСдшиС Π² мноТСство B.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

[1, 2, 3, 4] β€” [3, 4, 5] = [1, 2] [β€˜A’, β€˜B’, β€˜C’, β€˜D’] β€” [β€˜B’, β€˜E’, β€˜G’] = [β€˜A’, β€˜C’, β€˜D’]

Π’ΠΎΠΆΠ΄Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (=)

Π”Π²Π° мноТСства ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ, Ссли ΠΎΠ½ΠΈ состоят ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ элСмСнтов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:[1, 2, 3, 4] = [2, 1, 4, 3] => True
[β€˜A’, β€˜B’, β€˜C’, β€˜D’] = [β€˜B’, β€˜E’, β€˜G’] => False

ΠΠ΅Ρ‚ΠΎΠΆΠ΄Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (<>)

Π”Π²Π° мноТСства ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ, Ссли ΠΎΠ½ΠΈ состоят ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… элСмСнтов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

[1, 2, 3, 4] [2, 1, 4, 3] => False
[β€˜A’, β€˜B’, β€˜C’, β€˜D’] [β€˜B’, β€˜E’, β€˜G’] => True

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ (>=)

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мноТСство являСтся подмноТСством ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ мноТСства.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

[1, 2, 3, 4] >= [2, 1] => True
[β€˜A’, β€˜B’, β€˜C’, β€˜D’] >= [β€˜B’, β€˜E’, β€˜G’] => False

БодСрТится (<=)

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мноТСство являСтся подмноТСством Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ мноТСства.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

[1, 2, 3, 4] >= [2, 1] => False
[β€˜A’, β€˜B’] >= [β€˜B’, β€˜A’, β€˜G’] => True

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ IN

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ мноТСствС:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

1 In [1, 2, 3, 4] => True
B In [β€˜A’, β€˜G’] => False

Для добавлСния мноТСству Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π² Паскаль Π΅ΡΡ‚ΡŒ опСрация Include:

Include(<мноТСство>, <элСмСнт>)

Для удалСния ΠΈΠ· мноТСства ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ элСмСнта ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Exclude:

Exclude(<мноТСство>, <элСмСнт>)

НСобходимо ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ добавляСмый/удаляСмый элСмСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ тоТдСствСнного мноТСству Ρ‚ΠΈΠΏΠ°.


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ записи:
90000 90001. . 90002 90003 90004 90005 () 90006 90005 90006 90004 90010 90011 90012 90013 90014 90006 90010 90003 90005 90019 integer 90020 90006 90005 2 90006 90005 -32768..32767 90006 90005 +, -, /, *, Div, Mod, 90027> =, <=, =, <>, <,> 90006 90010 90011 90005 90019 byte 90020 90006 90005 1 90006 90005 0..255 90006 90005 +, -, /, *, Div, Mod, 90027> =, <=, =, <>, <,> 90006 90010 90011 90005 90019 word 90020 90006 90005 2 90006 90005 0..65535 90006 90005 +, -, /, *, Div, Mod, 90027> =, <=, =, <>, <,> 90006 90010 90011 90005 90019 shortint 90020 90006 90005 1 90006 90005 -128..127 90006 90005 +, -, /, *, Div, Mod, 90027> =, <=, =, <>, <,> 90006 90010 90011 90005 90019 longint 90020 90006 90005 4 90006 90005 -2147483648..2147483647 90006 90005 +, -, /, *, Div, Mod, 90027> =, <=, =, <>, <,> 90006 90010 90011 90012 90013 90014 90006 90010 90011 90005 90019 real 90020 90006 90005 6 90006 90005 2,9×10 90096 -39 90097 — 1,7×10 90096 38 90097 90006 90005 +, -, /, *, 90027> =, <=, =, <>, <,> 90006 90010 90011 90005 90019 single 90020 90006 90005 4 90006 90005 1,5×10 90096 -45 90097 — 3,4×10 90096 38 90097 90006 90005 +, -, /, *, 90027> =, <=, =, <>, <,> 90006 90010 90011 90005 90019 double 90020 90006 90005 8 90006 90005 5×10 90096 -324 90097 — 1,7×10 90096 308 90097 90006 90005 +, -, /, *, 90027> =, <=, =, <>, <,> 90006 90010 90011 90005 90019 extended 90020 90006 90005 10 90006 90005 3,4×10 90096 -4932 90097 — 1,1×10 90096 4932 90097 90006 90005 +, -, /, *, 90027> =, <=, =, <>, <,> 90006 90010 90011 90012 90013 90014 90006 90010 90011 90005 90019 boolean 90020 90006 90005 1 90006 90005 true, false 90006 90005 Not, And, Or, Xor, 90027> =, <=, =, <>, <,> 90006 90010 90011 90012 90013 90014 90006 90010 90011 90005 90019 char 90020 90006 90005 1 90006 90005 ASCII 90006 90005 +, 90027> =, <=, =, <>, <,> 90006 90010 90194.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *