[x]. ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½.
[x]. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ.
[x]. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΠ.
ΠΠ΅ΠΊΡΠΈΡ 12. ΠΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π½Π°ΡΡΡΠ°Π΅ΡΡΡ: ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΡΠ°Π²ΠΈΡΡΡ ΡΡΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ, Π½ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΠΏΡΠΈΡΠ²ΠΎΡΡΡΡΡΡ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΏΡΠΈ ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΌΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ Π½ΠΈΠΌΠΈ.
ΠΠ°Π·ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ° ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π·Π°ΡΠ°ΡΡΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ PL/I ΠΈ Ada, ΡΠ°ΡΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ: Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΡΡΠΈΠ½Π½ΠΎ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΎΠ½ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ ΡΠ»ΡΠΆΠ±Ρ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠΈΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ goto, Π½Π°ΡΡΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΠ°ΡΠΈΡΠ΅Π½Π½ΠΎΡΡΠΈ.
Π ΡΡΠ°ΡΡΡΡ, ΡΠ΅ΠΎΡΠΈΡ ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΠΎΠ½ΡΡΠ°ΠΊΡΡ, Π²Π²Π΅Π΄Π΅Π½Π½Π°Ρ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΡΠ°ΠΌΠΊΠΈ Π΄Π»Ρ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ.
ΠΡΠΊΠ°Π·Ρ
ΠΠ΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎ Π°Π½ΠΎΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΏΡΠ΅ΡΡΠ²Π°ΡΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΡΠΊΠ°Π·Π°, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ· ΠΈΠ΄Π΅ΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ - ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡΠΊΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠ΅ΡΠ²Π½ΠΎΠ΅ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° - ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΎΠ±Π»Π°ΡΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π’Π°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ, Π½ΠΎ Π² ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ Π²ΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ. Π ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΡΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ½Π° Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ. ΠΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅, ΠΈΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅ΠΌ Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΈΠ»ΠΈ Π² Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΡΡΠ΅Π½ΠΎ ΠΏΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΈΠ±ΠΎ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½Ρ (Π² Π΄Π²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ).
Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΠΌ (failure).
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ: ΡΡΠΏΠ΅Ρ , ΠΎΡΠΊΠ°Π·
ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠΏΠ΅ΡΠ΅Π½, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ. ΠΡΠ·ΠΎΠ² Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΡΠΏΠ΅ΡΠ΅Π½.
ΠΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠΌΠΈΠ½Ρ "ΠΎΡΠΊΠ°Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ" ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ "ΠΎΡΠΊΠ°Π·", ΠΊΠ°ΠΊ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° "Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉΡΡ ΠΎΡΠΊΠ°Π·ΠΎΠΌ". ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ, Π½ΠΈ Π΄Π°Π²Π°ΡΡ ΠΎΡΠΊΠ°Π·. ΠΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ Π²ΡΠ·ΠΎΠ²Ρ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΠΎΡΠΊΠ°Π·Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ "ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅". ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΊΠ°Π·Ρ ΠΈΠ·-Π·Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ (Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ), ΠΏΡΠ΅ΡΡΠ²Π°ΡΡΠΈΡ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ - ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΎΡΠΊΠ°Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΡΠ°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΎΡΠΊΠ°Π·Π°. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΎΡΠΊΠ°Π·, Π½Π°ΠΏΠΈΡΠ°Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΡΠ°ΡΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠ΅Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΡΠΊΠ°Π· ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ - ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠΊΠ°Π· ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΊΠ°Π·Ρ.
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΡ (fault) - Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΡ ΠΊ ΠΏΠ°Π³ΡΠ±Π½ΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄Π΅ΡΠ΅ΠΊΡ (defect) - Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΏΠΎΡΠΎΠ±Π½Π°Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΊΠ°Π·Π°ΠΌ, ΠΎΡΠΈΠ±ΠΊΠ° (error) - Π½Π΅Π²Π΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ Π΄Π΅ΡΠ΅ΠΊΡΠ°ΠΌ. ΠΡΠΊΠ°Π· - ΡΡΠΎ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΡ; ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π·Π°ΡΠ°ΡΡΡΡ, ΡΠΎΠΆΠ΅ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΡ, Π½ΠΎ ΡΠ°ΠΊΠΎΠ²ΡΠΌ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π»ΠΎΡΡ, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ°Π·Π΄Π΅Π»ΠΈΠ² ΠΈΡ Π½Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ r Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ.
1 ΠΠΎΠΏΡΡΠΊΠ° ΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° a.f ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎ a = Void.
2 ΠΠΎΠΏΡΡΠΊΠ° ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Void ΠΊ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΠΎΠΉ (expanded) ΡΠ΅Π»ΠΈ.
3 ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
4 ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ΅ΠΉ ΠΊ ΠΎΡΠΊΠ°Π·Ρ.
5 ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅ r Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π΅.
6 ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΠ΅ r Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅.
7 ΠΠ½Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π΅ ΠΈΠ»ΠΈ Π²ΡΡ ΠΎΠ΄Π΅.
8 ΠΠ½Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΈΠΊΠ»Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ from ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π°.
9 ΠΡΠ΅ΡΠ°ΡΠΈΡ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Π½Π΅ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΈΠΊΠ»Π°.
10 ΠΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ check.
11 ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΡΠ²Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π‘Π»ΡΡΠ°ΠΉ (1) ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ: Π²ΡΠ·ΠΎΠ² a.f ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ», ΠΊΠΎΠ³Π΄Π° ΠΊ a ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ, Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° a Π½Π΅ void. ΠΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΎΡΡ Π² Π»Π΅ΠΊΡΠΈΠΈ 8 ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
Π‘Π»ΡΡΠ°ΠΉ (2) ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ void Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ "ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅" (attachment) ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ "ΠΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅" Π»Π΅ΠΊΡΠΈΠΈ 8 ΠΎΡΠΌΠ΅ΡΠ°Π»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎ ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ void, ΡΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π‘Π»ΡΡΠ°ΠΉ (3) ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
Π‘Π»ΡΡΠ°ΠΉ (4) Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π·Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π² Π½Π΅ΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½Π° Π½Π΅ ΡΠΌΠΎΠ³Π»Π° ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ Π½ΠΈΠΆΠ΅, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π²ΡΡΠ΅ΠΊΠ°ΡΡΠ΅Π΅ ΠΈΠ· (4):
ΠΡΠΊΠ°Π·Ρ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡΠΊΠ°Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - ΠΏΡΠΈΡΠΈΠ½Π° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
Π‘Π»ΡΡΠ°ΠΈ (5)-(10) ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΠ΅ΡΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅: assertion (require) Π΄Π»Ρ (5), assertion (loop) Π΄Π»Ρ (8) ΠΈ (9) ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π‘Π»ΡΡΠ°ΠΉ (11) ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ raise, Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΠ΅ΠΉ (Π·Π°ΠΆΠΈΠ³Π°ΡΡΠ΅ΠΉ) ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΡΡΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.
Π‘ΠΈΡΡΠ°ΡΠΈΠΈ ΠΎΡΠΊΠ°Π·Π°
Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ΅ΡΠΈΡΡΡΡ ΠΎΡΠΊΠ°Π· (ΠΏΡΠΈΡΠΈΠ½Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ):
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: ΡΠ»ΡΡΠ°ΠΈ ΠΎΡΠΊΠ°Π·Π°
ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΊΠ°Π·Ρ, Π΅ΡΠ»ΠΈ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠΈΠ»ΠΎΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΠΌΠΎΠ³Π»Π° Ρ Π½ΠΈΠΌ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·Π° ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Ρ: ΠΎΡΠΊΠ°Π· Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΠ·-Π·Π° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π° ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ - ΠΎΡΠΊΠ°Π· ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠ»ΡΡΠ°ΠΉ (4)).
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ, - ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ - ΠΈ ΡΠΎΠ³ΠΎ, Ρ ΡΠ΅ΠΌ ΠΌΡ Π±Ρ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, - ΠΎΡΠΊΠ°Π·Π°. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·ΡΡΠΊΠΈΠ²Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΎΡΠΊΠ°Π·Ρ. Π§ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΠ³Π΄Π° Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠ²Π°Π½ΠΎ ΠΈΠ·-Π·Π° Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ?
ΠΠΎΠΌΠΎΡΡ Π² Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠ°Π·ΡΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° ΠΌΠΎΠ³ΡΡ Π΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ . ΠΠΌΠΈ ΠΌΡ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΠ·ΡΠΊΠ° C, ΠΏΡΠΈΡΠ΅Π΄ΡΠ΅ΠΌΡ ΠΈΠ· Unix, ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ΅Π±Π½ΠΈΠΊΡ ΠΏΠΎ ΡΠ·ΡΠΊΡ Ada.
ΠΠ°ΠΊ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ - C-Unix ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠ΅ΡΠ²ΡΠΌ ΠΊΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π² Unix, Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ C) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° signal, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠ°Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΌΠ΅:
signal (signal_code, your_routine)
Ρ ΡΡΡΠ΅ΠΊΡΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ - ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ your_routine, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, Π²ΡΠ΄Π°Π²Π°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»Π° (signal_code). ΠΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»Π° - ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SIGILL (Π½Π΅Π²Π΅ΡΠ½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ - illegal instruction) ΠΈΠ»ΠΈ SIGFPE (ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ - floating-point exception). Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ signal, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.