Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ОписаниС языка PascalABC.NETΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 14

Автор W Cat

end.

ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· выводится False, Π²Ρ‚ΠΎΡ€ΠΎΠΉ - True.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ is ΠΈ as ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса, содСрТащСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса.

1 способ.

if b is Derived then

Derived(b).p;

2 способ.

var d: Derived := b as Derived;

d.p;

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

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ new ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

new ИмяКласса(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Π°)

Она Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ конструктор класса ИмяКласса ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ созданный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

НапримСр:

type

My = class

constructor Create(i: integer);

begin

end;

end;

var m: My := new My(5);

Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½Ρ‹ΠΌ способом создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° являСтся Π²Ρ‹Π·ΠΎΠ² конструктора Π² стилС Object Pacal:

var m: My := My.Create(5);

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π²Ρ‚ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°:

var m := new My(5);

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


ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ typeof ΠΈ sizeof

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ sizeof(имя Ρ‚ΠΈΠΏΠ°) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ для этого Ρ‚ΠΈΠΏΠ° Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ….

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ typeof(имя Ρ‚ΠΈΠΏΠ°) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ для этого Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса System.Type. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования typeof:

type

Base = class ... end;

Derived = class(Base) ... end;

var b: Base := new Derived;

begin

writeln(b.GetType = typeof(Derived));

end.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ явного привСдСния Ρ‚ΠΈΠΏΠΎΠ²

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ явного привСдСния Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄

ИмяВипа(Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅)

ΠΈ позволяСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Ρ‚ΠΈΠΏΡƒ ИмяВипа. Π’ΠΈΠΏ выраТСния ΠΈ Ρ‚ΠΈΠΏ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ИмяВипа Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΊ порядковому Ρ‚ΠΈΠΏΡƒ, Π»ΠΈΠ±ΠΎ ΠΊ Ρ‚ΠΈΠΏΡƒ указатСля, Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ наслСдником Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π»ΠΈΠ±ΠΎ Ρ‚ΠΈΠΏ выраТСния Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ интСрфСйс с ΠΈΠΌΠ΅Π½Π΅ΠΌ ИмяВипа. Π’ случаС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΊ Ρ‚ΠΈΠΏΡƒ указатСля Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ.

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

type

pinteger = ^integer;

Season = (Winter,Spring,Summer,Autumn);

var i: integer;

b: byte;

p: pointer := @i;

s: Season;

begin

i := integer('z');

b := byte(i);

i := pinteger(p);

s := Season(1);

end.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊ Ρ‚ΠΈΠΏΡƒ Object происходит ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°.

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

var i: integer := 5;

begin

var o: Object := Object(i);

end.

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ опрСдСляСт порядок выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π²Ρ‹ΡΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.

Π’Π°Π±Π»ΠΈΡ†Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

@, not, ^, +, - (ΡƒΠ½Π°Ρ€Π½Ρ‹Π΅), new

1 (Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΉ)

*, /, div, mod, and, shl, shr, as, is

2

+, - (Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅), or, xor

3

=, <>, <, >, <=, >=, in, =

4 (низший)

Для измСнСния порядка выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² выраТСниях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ скобки.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹: ΠΎΠ±Π·ΠΎΡ€

Π’ PascalABC.NET ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания

Боставной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° for

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° foreach

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»Π° while ΠΈ repeat

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π±ΠΎΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° case

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ try except

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ try finally

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ raise

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ break, continue ΠΈ exit

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ goto

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ lock

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ with

ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

пСрСмСнная := Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

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

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания замСняСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ выраТСния.

НапримСр:

i := i + 1; // ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π½Π° 1

Π’ PascalABC.NET ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания со Π·Π½Π°Ρ‡ΠΊΠ°ΠΌΠΈ +=, -=, *=, /=. Для числовых Ρ‚ΠΈΠΏΠΎΠ² дСйствиС Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² описано здСсь. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² += ΠΈ *= для строк описано здСсь ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² +=, -= ΠΈ *= для мноТСств - здСсь. Π˜Ρ… дСйствиС для ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… описано здСсь.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ +=, -=, *=, /= ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ смысл: a #= b ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ a := a # b, Π³Π΄Π΅ # - Π·Π½Π°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ +, -, *, /.

НапримСр:

a += 3; // ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ a Π½Π° 3

b *= 2; // ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ b Π² 2 Ρ€Π°Π·Π°

ΠžΠΏΠ΅Ρ€Ρ‚ΠΎΡ€ /= Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ, Ссли Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ слСва - Ρ†Π΅Π»ΠΎΠ΅.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ +=, -=, *=, /= ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ со свойствами классов ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π² Π»Π΅Π²ΠΎΠΉ части.

Боставной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ (Π±Π»ΠΎΠΊ)

Боставной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для объСдинСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½. Он ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

begin

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

end

Π’ PascalABC.NET составной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ называСтся Π±Π»ΠΎΠΊΠΎΠΌ. (Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ Π² ПаскалС Π±Π»ΠΎΠΊΠΎΠΌ называСтся Ρ€Π°Π·Π΄Π΅Π» описаний, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Ρ‚ составной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€; Π² PascalABC.NET принято Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ составного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°).ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ символом ";". ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова begin ΠΈ end, ΠΎΠΊΠ°ΠΉΠΌΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹ΠΌΠΈ скобками.

НапримСр:

s := 0;

p := 1;

for var i:=1 to 10 do

begin

p := p * i;

s := s + p

end

ΠŸΠ΅Ρ€Π΅Π΄ end Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΡΡ ;. Π’ этом случаС считаСтся, Ρ‡Ρ‚ΠΎ послСдним ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π΄ end являСтся пустой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий.

Помимо ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π² Π±Π»ΠΎΠΊΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈΠ±Π»ΠΎΡ‡Π½Ρ‹Π΅ описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

begin

var a,b: integer;

var r: real;

readln(a,b);

x := a/b;

writeln(x);

ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… символов, Π½Π΅ выполняСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄Π²ΡƒΡ… случаях:

1. Для использования символа ; послС послСднСго ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² Π±Π»ΠΎΠΊΠ΅:

begin

a := 1;

b := a;

end

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² языкС Паскаль символ ; раздСляСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ считаСтся, Ρ‡Ρ‚ΠΎ послС послСднСй ; находится пустой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ; ΠΏΠ΅Ρ€Π΅Π΄ end Π² Π±Π»ΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π½Π΅Ρ‚. 1. Для ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ мСста, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π° послСдним ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² Π±Π»ΠΎΠΊΠ΅::

label a;

begin

goto a;

x := 1;

a:

end

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡ‹.

Полная Ρ„ΠΎΡ€ΠΌΠ° условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

if условиС then ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1

else ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2

Π’ качСствС условия указываСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Если условиС оказываСтся истинным, Ρ‚ΠΎ выполняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС выполняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ Ρ„ΠΎΡ€ΠΌΠ° условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

if условиС then ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

Если условиС оказываСтся истинным, Ρ‚ΠΎ выполняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС происходит ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ случаС конструкции Π²ΠΈΠ΄Π°

if условиС1 then

if условиС2 then ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1

else ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2

else всСгда относится ΠΊ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΌΡƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ if, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Π΅Ρ‚ΠΊΠ° else Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°. Если Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ else ΠΎΡ‚Π½ΠΎΡΠΈΠ»Π°ΡΡŒ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ if, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ составной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

if условиС1 then

begin

if условиС2 then ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1

end

else ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2

НапримСр:

if a<b then

min := a

else min := b;

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π’ PascalABC.NET ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ составного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° begin-end Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’Π°ΠΊΠΈΠ΅ описания Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈΠ±Π»ΠΎΡ‡Π½Ρ‹ΠΌΠΈ.

Π’Π½ΡƒΡ‚Ρ€ΠΈΠ±Π»ΠΎΡ‡Π½ΠΎΠ΅ описаниС ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΠΎΡ€ΠΌ:

список ΠΈΠΌΠ΅Π½: Ρ‚ΠΈΠΏ;

ΠΈΠ»ΠΈ

имя: Ρ‚ΠΈΠΏ := Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅;

ΠΈΠ»ΠΈ

имя: Ρ‚ΠΈΠΏ = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅; // Для совмСстимости с Delphi