ΠΠ΅ΡΠ²ΡΠΌ ΠΊΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π² Unix, Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ C) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° signal, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠ°Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΌΠ΅:
signal (signal_code, your_routine)
Ρ ΡΡΡΠ΅ΠΊΡΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ - ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ your_routine, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, Π²ΡΠ΄Π°Π²Π°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»Π° (signal_code). ΠΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»Π° - ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SIGILL (Π½Π΅Π²Π΅ΡΠ½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ - illegal instruction) ΠΈΠ»ΠΈ SIGFPE (ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ - floating-point exception). Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ signal, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠ°Π±ΠΎΡΠ°Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»Π°. ΠΡΠ΄Π΅Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° signal, Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π² Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ - your_routine, ΠΏΡΡΠ°ΡΡΠΈΠΉΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ. ΠΠ΅Π΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ, Π·Π°Π²Π΅ΡΡΠΈΠ² ΡΠ°Π±ΠΎΡΡ, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠΎΡΠΊΡ, Π³Π΄Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ (Π² Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅). ΠΡΠΎ ΠΎΠΏΠ°ΡΠ½ΠΎ, Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΈΠ· ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ.
Π§ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ»ΡΡΠ°Π΅Π² - ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠΎΠ±ΠΎΠΉ ΡΠΎΡΠΊΠΈ, Π½ΠΎ Π½Π΅ ΡΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΡΡ ΡΡ Π΅ΠΌΡ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈ Π½Π° C, Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ signal Ρ Π΄Π²ΡΠΌΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ: setjmp, Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΌΠ°ΡΠΊΠ΅Ρ Π² ΡΠΎΡΠΊΡ, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΈ longjmp Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊ ΠΌΠ°ΡΠΊΠ΅ΡΡ. Π‘ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ setjmp-longjmp ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π²Π΅ΡΡΠΌΠ° Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π½Π΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΠ-ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ Π² ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠ°ΠΊ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ - Ada ΠΏΡΠΈΠΌΠ΅Ρ
ΠΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Π·ΡΡΡΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π±Π½ΠΈΠΊΠ°12.1) ΠΏΠΎ ΡΠ·ΡΠΊΡ Ada.
sqrt (x: REAL) return REAL is
begin
if x < 0.0 then
raise Negative
else
normal_square_root_computation
end
exception
when Negative =>
put ("Negative argument")
return
when others => ...
end -- sqrt
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»ΡΡ Π΄Π»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Ada, ΠΈ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π±ΡΡΡΡΠΎ (ΠΎΠ½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ). ΠΠΎΡΡΠΎΠΌΡ Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠΎΡΡΠ΄ΠΎΡΠ½ΠΎ ΠΊΡΠΈΡΠΈΠΊΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠΎ Π±ΡΠ» Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ, ΠΎΠ½ ΡΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ada ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π²ΠΎΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΊΠΎΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
Π¦Π΅Π»ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠ½Ρ ΠΈΠ· Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°. ΠΠΎ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ? Π ΡΠ·ΡΠΊΠ΅ Ada Π½Π΅Ρ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°ΡΡΠ°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π».
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ raise Exc ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Exc. ΠΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Ρ Π²Π°ΡΠ΅Π½ΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ exception, ΠΈΠΌΠ΅ΡΡΠΈΡ Π²ΠΈΠ΄:
exception
when code_a1, code_a2, ...=> Instructions_a;
when code_b1, ... => Instructions_b;
...
ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΠ΄ΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΡΠ°ΡΡΠΈ when, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π΅ΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ when others, ΡΠΎ Π΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΠ΄ΠΎΠ² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ when. ΠΡΠ»ΠΈ Π½Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° when others, ΠΈ ΠΊΠΎΠ΄ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠΎ ΠΏΠΎΠΈΡΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈΡΡ Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΅ΡΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅Ρ, ΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° main ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΠ°Π·ΠΎΠΌ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ±ΡΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Negative Π·Π°Ρ Π²Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ? ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π·:
put ("Negative argument")
return
ΠΠ°ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ - Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ ΠΊ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ, Π½Π΅ Π±ΡΠ΄ΡΡΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Π° ΠΎ ΡΠΎΠ±ΡΡΠΈΠΈ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ. ΠΡΠΏΠΎΠΌΠΈΠ½Π°Ρ ΡΠ½ΠΎΠ²Π° ΠΎ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Ada, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π°ΡΡΠΈΠ»Π»Π΅ΡΠΈΠΉΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ½Π°ΡΡΠ΄Ρ ΠΌΠΎΠ³ΡΡ ΡΠΏΠ°ΡΡΡ Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΡΠ΅Ρ ΡΠΎΠ»Π΄Π°Ρ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠ΄ Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ ΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠ»Π°Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ°, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Ρ ΡΠΆΠ΅, ΡΠ΅ΠΌ C-Unix ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π² ΡΠΎΡΠΊΠ΅, Π³Π΄Π΅ ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ when, Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠΉΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ return, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ; ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π±ΡΠ΄ΡΠΎ Π±Ρ Π²ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ.
ΠΡΠΎΡ ΠΊΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅Ρ Π΄Π°Π΅Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΡΠΎΠΊ Ada-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ: ΠΏΠΎΡΡΠΈ Π½ΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΊΠΈΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ when Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ return. Π‘Π»ΠΎΠ²ΠΎ "ΠΏΠΎΡΡΠΈ" ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅ΡΡΡ ΠΎΡΠΎΠ±ΡΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠ»ΡΡΠ°ΠΉ Π»ΠΎΠΆΠ½ΠΎΠΉ ΡΡΠ΅Π²ΠΎΠ³ΠΈ (false alarm), Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅. ΠΠΏΠ°ΡΠ½ΠΎ ΠΈ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ Π½Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΡΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠΊΠ°Π·. Π―Π·ΡΠΊ Ada ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ: ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ exception ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ raise Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ.
ΠΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ·ΡΠΊΠ° Ada
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π»ΠΈΠ±ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ raise, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.
ΠΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΡΠΎΠ³Ρ ΠΊ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΠΎΡΠ»ΡΠΆΠ°Ρ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ.
ΠΡΠΈΠ½ΡΠΈΠΏΡ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΡΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° Π½Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
1 ΠΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ (Retrying) - ΠΏΠΎΠΏΡΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΏΡΠΈΠ²Π΅Π΄ΡΠΈΠ΅ ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ Π²ΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π°.
2 ΠΡΠΊΠ°Π· (Failure) - ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ "ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠ°Π½ΠΈΠΊΠ°" (organized panic): ΡΠΈΡΡΠΊΠ° ΡΡΠ΅ΠΊΠ° ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΠΈ ΠΎΡΡΠ΅Ρ ΠΎΠ± ΠΎΡΠΊΠ°Π·Π΅ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΠ»ΡΡΠ°ΠΉ (3) Π² ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ) Π² ΡΠ΅Π΄ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠΊΠ»ΠΈΠΊΠΎΠΌ Π½Π° "Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅Π²ΠΎΠ³Ρ". ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ², ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π·Π²ΡΠ΅Π΄Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΎΡΠΊΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΠ»ΡΡΠ°Ρ - Π»ΠΎΠΆΠ½ΠΎΠΉ ΡΡΠ΅Π²ΠΎΠ³ΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ C-Unix. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π² ΡΡΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΡΠΎ ΠΎΠΊΠ½ΠΎ, ΡΠΎΠ³Π΄Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π±Π΅Π·Π²ΡΠ΅Π΄Π½ΡΠΌ, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π² ΠΏΡΠ΅ΡΠ²Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΠΎ Π΄Π°ΠΆΠ΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΡΡΡ Π»ΡΡΡΠΈΠ΅ ΠΏΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΠ»ΠΎΡΡ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Ρ Π»ΠΎΠΆΠ½ΡΠΌΠΈ ΡΡΠ΅Π²ΠΎΠ³Π°ΠΌΠΈ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
ΠΠΎΠΆΠ½ΡΠ΅ ΡΡΠ΅Π²ΠΎΠ³ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π»ΠΈΡΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ - Π±Π»Π°Π³ΠΎΠΏΡΠΈΡΡΠ½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², Π½ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΡΡΠ΄Π½ΠΎΡΡΠΈ, Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΎ Π±Ρ Π°Π±ΡΡΡΠ΄Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ Π»ΠΎΠΆΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠΈ.
ΠΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ - Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Π½Π°Π΄Π΅ΠΆΠΈΠ²Π°ΡΡΠ°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ: ΠΌΡ ΠΏΠΎΡΠ΅ΡΠΏΠ΅Π»ΠΈ ΠΏΠΎΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π±ΠΈΡΠ²Π΅, Π½ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ³ΡΠ°Π»ΠΈ Π²ΠΎΠΉΠ½Ρ. Π₯ΠΎΡΡ Π½Π°Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΠΏΠΎΡΠ΅ΡΠΏΠ΅Π» Π½Π΅ΡΠ΄Π°ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² Π΄ΡΡΠ³ΡΡ ΡΠ°ΠΊΡΠΈΠΊΡ. ΠΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ, ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΎΡΠ»Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΠΏΡΡΠΎΠΊ, ΠΏΡΠΈΠ²Π΅Π΄ΡΠΈΡ ΠΊ Π½Π΅ΡΠ΄Π°ΡΠ΅, Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π½Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ("ΠΠΈΡΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, ΡΡΡ. ΠΠ±ΡΡΠ½ΡΠ΅, Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ, ΡΡΡ").