2. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠ° ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±Ρ ΠΎΠ΄Π° Π³ΡΠ°ΡΠ° Π² Π³Π»ΡΠ±ΠΈΠ½Ρ
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π³ΡΠ°ΡΠ° Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΏ:
Type List = ^S;
S = record;
inf : Byte;
next : List;
end;
Π’ΠΎΠ³Π΄Π° Π³ΡΠ°Ρ Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Var Gr : array[1..n] of List;
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π° Π³ΡΠ°ΡΠ°. ΠΡΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ Π³ΡΠ°ΡΠ°, ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΠ±Ρ ΠΎΠ΄ Π³ΡΠ°ΡΠ° Π² Π³Π»ΡΠ±ΠΈΠ½Ρ, ΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²: ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΈ Π½Π΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ.
ΠΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π° Π³ΡΠ°ΡΠ° Π² Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΌΡ Π±Π΅ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ ΠΈ, ΠΎΡΡΡΠΊΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π½Π΅ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ (Π½ΠΎΠ²ΡΡ) Π²Π΅ΡΡΠΈΠ½Ρ v, ΡΠΌΠ΅ΠΆΠ½ΡΡ Ρ Π½Π΅ΠΉ. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ Π²Π΅ΡΡΠΈΠ½Ρ v Π·Π° Π½Π΅Π½ΠΎΠ²ΡΡ ΠΈ ΠΎΡΡΡΠΊΠΈΠ²Π°Π΅ΠΌ Π»ΡΠ±ΡΡ ΡΠΌΠ΅ΠΆΠ½ΡΡ Ρ Π½Π΅ΠΉ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ. ΠΡΠ»ΠΈ ΠΆΠ΅ Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π²Π΅ΡΡΠΈΠ½Ρ Π½Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ Π½Π΅ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠ½, ΡΠΎ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ ΡΡΡ Π²Π΅ΡΡΠΈΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅ Π² ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π½Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ. ΠΠ±Ρ ΠΎΠ΄ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π² Π³ΡΠ°ΡΠ΅ Π½Π΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½ΠΎΠ²ΡΡ Π½Π΅ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠ½.
ΠΠ° ΡΠ·ΡΠΊΠ΅ Pascal ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±Ρ ΠΎΠ΄Π° Π² Π³Π»ΡΠ±ΠΈΠ½Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Procedure Obhod(gr : Graph; k : Byte);
Var g : Graph; l : List;
Begin
nov[k] := false;
g := gr;
While g^.inf <> k do
g := g^.next;
l := g^.smeg;
While l <> nil do begin
If nov[l^.inf] then Obhod(gr, l^.inf);
l := l^.next;
End;
End;
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΈΠΏΠ° Graph ΠΈΠΌΠ΅Π»ΠΎΡΡ Π² Π²ΠΈΠ΄Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠ° ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΏΠΈΡΠΊΠΎΠ². ΠΠ°ΡΡΠΈΠ² nov[i] β ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², i-ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ True, Π΅ΡΠ»ΠΈ i-Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° Π½Π΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½Π°, ΠΈ False β Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±Ρ ΠΎΠ΄Π°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΡΡΡΠΈΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ΅ΠΊ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½Π°, ΠΎΠ½Π° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ΅ΠΊ, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ½Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠ½, ΡΠΌΠ΅ΠΆΠ½ΡΡ Ρ Π½Π΅ΠΉ.
3. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠ° ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΏΠΈΡΠΊΠΎΠ². ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±Ρ ΠΎΠ΄Π° Π³ΡΠ°ΡΠ° Π² ΡΠΈΡΠΈΠ½Ρ
ΠΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Type List = ^Tlist;
Tlist = record
inf : Byte;
next : List;
end;
Graph = ^TGpaph;
TGpaph = record
inf : Byte;
smeg : List;
next : Graph;
end;
ΠΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅ Π³ΡΠ°ΡΠ° Π² ΡΠΈΡΠΈΠ½Ρ ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ°Π·Ρ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ, ΡΠΌΠ΅ΠΆΠ½ΡΠ΅ Ρ Π½Π΅ΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠ΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΠΈΠ½Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½ ΠΏΡΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π½Π°ΠΈΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ Π² Π³ΡΠ°ΡΠ΅.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π° Π³ΡΠ°ΡΠ° Π² ΡΠΈΡΠΈΠ½Ρ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅:
Procedure Obhod2(v);
{Π²Π΅Π»ΠΈΡΠΈΠ½Ρ spisok, nov β Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅}
Begin
queue = O;
queue <= v;
nov[v] = False;
While queue <> O do
Begin
p <= queue;
For u in spisok(p) do
If nov[u] then
Begin
nov[u] := False;
queue <= u;
End;
End;
End;
ΠΠΠΠ¦ΠΠ― β 11. ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
1. ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ Π² Pascal. ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ½Π°ΡΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ½ΠΈΠ·Ρ Π²Π²Π΅ΡΡ . ΠΠ½Π°ΡΠ°Π»Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΠΠ. ΠΠ°ΡΠ΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡ, Π΅Π΅ ΡΡΠ°Π»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°, ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΈ, Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π·Π°Π΄Π°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ°). ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π»ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅, ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΈ Π΄Ρ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ΅ΡΠ°ΡΡ Π·Π°Π΄Π°ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ» Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ, Ρ. Π΅. ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΈΡΠ°Π»ΡΡ ΡΠ²ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π»Π° Π² ΡΠ΅Π±Ρ ΡΡΠΈ ΡΡΠ°ΠΏΠ°:
1) ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·;
2) ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
3) ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠΎ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ 60-Ρ Π³. XX Π²., ΡΡΠ°Π»ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅Π³Π»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΡΠ΅ΡΠ°Π΅ΠΌΠ°Ρ Π·Π°Π΄Π°ΡΠ°.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π΅ΡΡΠΌΠ° Π±Π»ΠΈΠ·ΠΊΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π½Π°ΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ²ΠΎΠ»ΡΡΠΈΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΠΊΡΡΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΌΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ:
1) ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠ΅ΠΉ. ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡΡΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ ΡΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ β ΠΎΠ±ΡΠ΅ΠΊΡ;
2) ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π΅Π³ΠΎ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π³ΠΎΡΡ ΠΊ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠΎΠ΄Ρ ΠΈ Π΄Π°Π½Π½ΡΠΌ Π²ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²;
3) ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠΎΠΌ. ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π½ΠΈΠ· ΠΈ Π²Π²Π΅ΡΡ ΠΏΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΡΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅ΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ.
ΠΠΎΠ²ΠΎΡΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ Π² ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠΎΠΉ, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π΅ΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π»ΠΈΠ±ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΈΠΌΠ΅Π½ΡΡΡΠΈΠΉ ΠΏΠΎΠ»Π΅: ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈΠ»ΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ°.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡΠ»ΠΈ ΡΠΈΠΏ Π’2 Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ ΡΠΈΠΏΠ° Π’1, ΡΠΎ ΡΠΈΠΏ Π’2 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠΌ ΡΠΈΠΏΠ° Π’1, Π° ΡΠ°ΠΌ ΡΠΈΠΏ Π’1 ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ ΡΠΈΠΏΠ° Π’2. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π·ΠΈΡΠΈΠ²Π½ΡΠΌ, Ρ. Π΅. Π΅ΡΠ»ΠΈ Π’Π Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ Π’2, Π° Π’2 Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ Π’1, ΡΠΎ Π’Π Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ Π’1. ΠΠ±Π»Π°ΡΡΡ (Π΄ΠΎΠΌΠ΅Π½) ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΈ ΠΈΠ· Π²ΡΠ΅Ρ Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠ².
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, type
type
Point = object
X, Y: integer;
end;
Rect = object
A, B: TPoint;
procedure Init(XA, YA, XB, YB: Integer);
procedure Copy(var R: TRectangle);
procedure Move(DX, DY: Integer);
procedure Grow(DX, DY: Integer);
procedure Intersect(var R: TRectangle);
procedure Union(var R: TRectangle);
function Contains(P: Point): Boolean;
end;
StringPtr = ^String;
FieldPtr = ^TField;
TField = object
X, Y, Len: Integer;
Name: StringPtr;
constructor Copy(var F: TField);
constructor Init(FX, FY, FLen: Integer; FName: String);
destructor Done; virtual;
procedure Display; virtual;
procedure Edit; virtual;
function GetStr: String; virtual;
function PutStr(S: String): Boolean; virtual;
end;
StrFieldPtr = ^TStrField;
StrField = object(TField)
Value: PString;
constructor Init(FX, FY, FLen: Integer; FName: String);
destructor Done; virtual;
function GetStr: String; virtual;
function PutStr(S: String): Boolean;
virtual;
function Get: string;
procedure Put(S: String);
end;
NumFieldPtr = ^TNumField;
TNumField = object(TField)
private
Value, Min, Max: Longint;
public
constructor Init(FX, FY, FLen: Integer; FName: String;
FMin, FMax: Longint);
function GetStr: String; virtual;
function PutStr(S: String): Boolean; virtual;
function Get: Longint;
function Put(N: Longint);
end;
ZipFieldPtr = ^TZipField;
ZipField = object(TNumField)
function GetStr: String; virtual;
function PutStr(S: String): Boolean;
virtual;
end.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅ΠΌΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°.
Π’ΠΈΠΏ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ ΡΠΈΠΏ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
2. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΎΡΠ΅ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ°ΡΠ»Π΅Π΄Π½ΠΈΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠΌ (Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ) ΡΠΈΠΏΠΎΠΌ, Π° ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΡΠΈΠΏ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠΈΠΌ (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ) ΡΠΈΠΏΠΎΠΌ.
Π Π°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Pascal Π½Π΅ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Borland Pascal ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΠ·ΡΠΊ Pascal Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²Π°Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ, Π½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½Π°Ρ. Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Β«objectΒ». Π’ΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΡΠΉ, ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π² ΠΌΠ°Π½Π΅ΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Pascal, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΎΠΌΠΎΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ) ΡΠΈΠΏΠ° Π² ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Β«objectΒ».