Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ
ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ°ΠΏΠΎΠ²: Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΎΠ², Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ), ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
" Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ" .
ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ.
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠ΅Π»ΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΠ΅Π½ Π°Π΄ΡΠ΅ΡΠ°ΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π΄ΡΠ΅ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅, ΡΠ°ΠΊ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ° ΠΎΡΡΠ°ΡΡΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ. ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ:
Β· ΠΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ (Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ) ΡΠ΅ΠΊΡΡΠ°.
Β· ΠΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ.
Β· Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ.
Β· ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ°.
Β· ΠΠ°Π»ΠΈΡΠΈΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ Π·Π½Π°ΡΠΈΠΌΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π»ΠΎΠΆΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ Π½ΡΠΆΠ΅Π½. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ³ΡΠ°Π΅Ρ Π½Π΅ ΠΌΠ°Π»ΡΡ ΡΠΎΠ»Ρ. Π¦Π΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°. ΠΠ»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
Β· ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° Π² ΠΠΠ€. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ, Π½Π΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ, Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
Β· Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠΊΠ°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°.
Β· ΠΠΎΡΡΡΠΎΠΈΡΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Π»Π΅ΠΊΡΠ΅ΠΌ.
Β· ΠΠΎΡΡΡΠΎΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ. ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
Β· ΠΠΎΡΡΡΠΎΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π°.
1.Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ.
1.1 Π’ΡΠ°Π½ΡΠ»ΡΡΠΎΡ.
Π’ΡΠ°Π½ΡΠ»ΡΡΠΎΡ — ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ»ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π΅ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π¦Π΅Π»Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ — ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ½ΡΡΠ΅Π½ Π°Π΄ΡΠ΅ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΠ°. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ-ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠΎΠ², Π°Π΄ΡΠ΅ΡΠ°ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ) ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ.
Π―Π·ΡΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² (ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄) ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· ΠΏΡΠ°Π²ΠΈΠ»Π° Π² ΡΠΈΠ»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡΠΎΠ³ΠΎΠ²ΠΈΠ·Π½Ρ. Π’ΡΠ°Π½ΡΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ.
ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ°ΠΏΠΎΠ²: Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΎΠ², Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ), ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²ΡΠ·Π°ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. Π‘Π²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΡΠ²ΡΠ·Π΅ΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠΎΠΌ (ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ Π±ΡΡΡ ΡΠ°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°), Π° Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π½Π°ΡΠ°Π»Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ.
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΡΠ°ΠΏ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ , Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
1.2 ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ.
Π ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· — ΠΏΡΠΎΡΠ΅ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ) Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ «ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈ» (ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ΅ Π±ΡΠΊΠ² Π² ΡΠ»ΠΎΠ²Π°). ΠΡΡΠΏΠΏΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠ°ΠΊ ΡΠΎΠΊΠ΅Π½, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π»Π΅ΠΊΡΠ΅ΠΌΠΎΠΉ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»Π΅ΠΊΡΠ΅ΠΌ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡΠ° ΡΠ·ΡΠΊΠΎΠ². Π―Π·ΡΠΊ, Π° ΡΠΎΡΠ½Π΅Π΅ Π΅Π³ΠΎ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ°, Π·Π°Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π»Π΅ΠΊΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΠ΅ΡΠΈΡΡΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΠ°ΠΊ ΠΏΠΎΡΠΎΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ±ΠΎΡΠΊΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ Π»Π΅ΠΊΡΠ΅ΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΡΠΌ ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ) ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌ (ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌ) ΡΠΎΠΊΠ΅Π½ΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΎΠΉ ΡΠ·ΡΠΊΠ°. ΠΡΠΈ ΡΡΠΎΠΌ Π»ΡΠ±Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° (Π»Π΅ΠΊΡΠ΅ΠΌΠ°), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΡΠΎΠΊΠ΅Π½ ΡΠ·ΡΠΊΠ°, ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉΡΠΎΠΊΠ΅Π½-ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠΊΠ΅Π½ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠΊΠ΅Π½Π° (ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠΊΠ΅Π½Π°) ΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π»Π΅ΠΊΡΠ΅ΠΌΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°.
Π¦Π΅Π»Ρ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°, ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ΅ (ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ Π±Ρ ΠΊ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ).
1.3 Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ.
Π ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· — ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π»Π΅ΠΊΡΠ΅ΠΌ (ΡΠ»ΠΎΠ², ΡΠΎΠΊΠ΅Π½ΠΎΠ²) ΡΠ·ΡΠΊΠ° Ρ Π΅Π³ΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΎΠΉ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° (ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ). ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ (ΠΏΠ°ΡΡΠ΅Ρ) — ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ»ΠΈ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·.
ΠΡΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠ±ΡΡΠ½ΠΎ — Π² Π΄Π΅ΡΠ΅Π²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΡΠΊΡΡΡΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΠ΅Π²Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΠ΅Π²Π° ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ , Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
1.4 ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π°.
ΠΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ°Π·ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ°Π·Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠ΄Π°Ρ ΡΠΎΠΉ ΠΠΠ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°. Π§ΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΊΠΎΠ΄Π° ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ Π΅Π³ΠΎ ΠΎΡ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΠΠ, Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ (Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ). ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ (Π² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅). ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ Π΅Π³ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π»Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈ, Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π° Π½Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ°Ρ , ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΡ ΡΠ°Π±ΠΎΡ ΠΈ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°. ΠΠΎΡΡΠΎΠΌΡ Π² Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ° ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ². ΠΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ 2 ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°, ΡΠΎ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° Π² ΡΠ΅Π³ΠΈΡΡΡ-Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΠΈ «ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅» Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²Π½ΠΈΠ· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠ΅ΠΊΠ°. ΠΡΠΎΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄, ΠΎΠΊΠ°Π·Π°Π²ΡΠΈΠΉΡΡ Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ°, ΠΏΠΎΠ΄Π°Π΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΠΠ£. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ.
2.ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ.
2.1 Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° Π² ΠΠΠ€. Π’Π΅ΡΠΌΠΈΠ½Π°Π»Ρ, Π½Π΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ, Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΠ°ΡΠΈΠ°Π½Ρ Π·Π°Π΄Π°Π½ΠΈΡ:
<οΏ½ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°> := <οΏ½ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ><οΏ½ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ><οΏ½ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ> := Begin<οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΉ>End<οΏ½ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ > := Int<οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ > |.
Int<οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ><οΏ½ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ >
<οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ > := <οΏ½ΠΠ΄Π΅Π½Ρ>; | <οΏ½ΠΠ΄Π΅Π½Ρ> ,<οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ><οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΉ>:= <οΏ½ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅> |.
<οΏ½ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅><οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΉ><οΏ½ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅> := <οΏ½ΠΠ΄Π΅Π½Ρ> := <οΏ½ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅> ;
<οΏ½ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅> := <οΏ½Π£Π½.ΠΎΠΏ.><οΏ½ΠΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅> | <οΏ½ΠΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅><οΏ½ΠΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅>: = (<οΏ½ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅>) | <οΏ½ΠΠΏΠ΅ΡΠ°Π½Π΄> |.
< ΠΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ><οΏ½ΠΠΈΠ½.ΠΎΠΏ.><οΏ½ΠΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅>
<οΏ½Π£Π½.ΠΎΠΏ.> := «-» .
<οΏ½ΠΠΈΠ½.ΠΎΠΏ.> := «-» | «+» | «*» | «/» .
<οΏ½ΠΠΏΠ΅ΡΠ°Π½Π΄> := <οΏ½ΠΠ΄Π΅Π½Ρ> |.
<οΏ½ΠΠ΄Π΅Π½Ρ> := <οΏ½ΠΡΠΊΠ²Π°><οΏ½ΠΠ΄Π΅Π½Ρ> | <οΏ½ΠΡΠΊΠ²Π°>
:= <οΏ½Π¦ΠΈΡΡΠ°> | <οΏ½Π¦ΠΈΡΡΠ°>
Π€ΠΎΡΠΌΠ° ΠΠ΅ΠΊΡΡΠ° — ΠΠ°ΡΡΠ° — Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ», ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ΅ΡΠ²Π΅ΡΠΊΠ° Vt — Π°Π»ΡΠ°Π²ΠΈΡ, ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ ΠΈΠ· Π½ΠΈΡ ΡΡΡΠΎΡΡΡΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΠΌΡΠ΅ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΎΠΉ; VnΠ°Π»ΡΠ°Π²ΠΈΡ, ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΌΠΈ (Π½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ. P — ΠΠ°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ», ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΡΠΎΠΈΡΡΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ°; S — Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ.
ΠΠ΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ:
N={.
S=<οΏ½ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°>
D=<οΏ½ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ >
F=<οΏ½ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ>
P=<οΏ½ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΠ΅ΡΠ°ΡΠΈ>
V=<οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ >
I=<οΏ½ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>
G=<οΏ½Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΉ>
A=<οΏ½ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅>
E=<οΏ½ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅>
H=<οΏ½ΠΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅>
O=<οΏ½ΠΠΏΠ΅ΡΠ°Π½Π΄>
C=.
N=<οΏ½Π¦ΠΈΡΡΠ°>
}.
Π’Π΅ΡΠΌΠΈΠ½Π°Π»Ρ:
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ΡΠ»ΠΎΠ²Π°ΡΠ·ΡΠΊΠ°:
T={begin, end, integer, print}.
Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ:
R={:=, .();}.
ΠΠ»ΡΠ°Π²ΠΈΡ:
A=…
ΠΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
B=;
Π£Π½Π°ΡΠ½Π°Ρ ΠΎΠΏΡΠ΅Π°ΡΠΈΡ:
U={-}.
Π¦ΠΈΡΡΡ:
C=…
ΠΡΠ°Π²ΠΈΠ»Π°:
1. S=DF.
2. F=begin G end.
3. G=A.
4. G=AG.
5. A=I:=E.
6. I=LI.
7. I=L.
8. E=UH.
9. E=H.
10. H=(E).
11. H=O.
12. H= HBH.
13. O=I.
14. O=C.
15. C=NC.
16. C=N.
17. D=integer V.
18. V=I;
19. V=I, V.
20. P=print I.
2.2 ΠΠ°ΡΠΊΠ°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΏΠ°ΡΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΡΠ°Π±Π»ΠΈΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ², Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π°.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Ρ ΡΠ°ΡΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°:
.
///ΠΠ°ΡΡΠ΅Ρ
publicstaticclassReader.
.
///ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉΠ°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ
publicstaticclassLexicalAnalyzer.
.
///ΠΠ΅ΠΊΡΠ΅ΠΌΡ.
publicenumLexems.
{.
None, Name, Number, Begin, End, Multiplication, Division,.
Plus, Minus, Equal, NotEqual, Less, LessOrEqual, More, MoreOrEqual, Int,.
Print, LeftBracket, RightBracket, Semi, Comma, EOF, Determine,.
LongInt, Until, Do, EndUntil.
}.
.
///ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ΡΠ»ΠΎΠ²ΠΎ.
internalstructKeyWord.
{.
publicstring word;
publicLexemslex;
}.
.
///ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ.
publicenumtCat.
{.
Const, Var, Type.
}.
.
///Π’ΠΈΠΏ.
publicenumtType.
{.
None, Int, LInt, Bool.
}.
.
///ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
publicstructIdentificator.
{.
publicstring name;
publictCat category;
publictType type;
}.
.
///Π’Π°Π±Π»ΠΈΡΠ°ΠΈΠΌΠ΅Π½.
publicstaticclassNameTable.
.
///Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉΠ°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ
publicstaticclassSyntaxAnalyzer.
.
/// ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΏΠΎΡΡΡΠΈΠΊΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
publicstaticclassPostFix.
.
///ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΠΊΠΎΠ΄Π°.
publicstaticclassCodeGenerator.
ΠΠ°Π»ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΡΠΈΡ.1), Ρ Π²Π΅ΡΡ Π½ΠΈΠΌ ΠΌΠ΅Π½Ρ:
Π ΠΈΡ. 1 ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
2.3 ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ.
ΠΠ»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠΈΠΏΠ° Π»Π΅ΠΊΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΡΠΈΠΏΡ: ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ ΡΠΈΡΠ»Π°.
publicenumLexems.
{.
None, Name, Number, Begin, End, Multiplication, Division,.
Plus, Minus, Equal, NotEqual, Less, LessOrEqual, More, MoreOrEqual, Int,.
Print, LeftBracket, RightBracket, Semi, Comma, EOF, Determine,.
LongInt, Until, Do, EndUntil.
}.
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΏ Π»Π΅ΠΊΡΠ΅ΠΌΡ:
.
///ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ΡΠ»ΠΎΠ²ΠΎ.
internalstructKeyWord.
{.
publicstring word;
publicLexemslex;
}.
publicstaticvoid Initialize ().
{.
keywords = newKeyWord[10];
keywordPointer = 0;
currentLexem = 0;
currentName = null;
AddKeyword («Begin», Lexems. Begin);
AddKeyword («End», Lexems. End);
AddKeyword («Integer», Lexems.Int);
AddKeyword («Long Integer», Lexems. LongInt);
AddKeyword («Print», Lexems. Print);
AddKeyword («UNTIL», Lexems. Until);
AddKeyword («DO», Lexems. Do);
AddKeyword («ENDUNTIL», Lexems. EndUntil);
}.
Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠ»Π°ΡΡΠ° LexicalAnalyzerΠ±ΡΠ΄Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°: Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² ΡΠ·ΡΠΊΠ° ΠΈ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅, ΡΠ°Π·Π±ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π»Π΅ΠΊΡΠ΅ΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΅Ρ ΡΠΈΠΏΠ°.
.
///ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉΠ°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ
publicstaticclassLexicalAnalyzer.
{.
privatestaticKeyWord[] keywords;
privatestaticintkeywordPointer;
privatestaticstringcurrentName;
privatestaticLexemscurrentLexem;
.
///ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
publicstaticvoid Initialize ().
{.
keywords = newKeyWord[10];
keywordPointer = 0;
currentLexem = 0;
currentName = null;
AddKeyword («Begin», Lexems. Begin);
AddKeyword («End», Lexems. End);
AddKeyword («Integer», Lexems.Int);
AddKeyword («Long Integer», Lexems. LongInt);
AddKeyword («Print», Lexems. Print);
AddKeyword («UNTIL», Lexems. Until);
AddKeyword («DO», Lexems. Do);
AddKeyword («ENDUNTIL», Lexems. EndUntil);
}.
.
///Π’Π΅ΠΊΡΡΠ΅Π΅ΠΈΠΌΡ.
publicstaticstringCurrentName.
{.
get.
{.
returncurrentName;
}.
}.
.
///Π’Π΅ΠΊΡΡΠ°ΡΠ»Π΅ΠΊΡΠ΅ΠΌΠ°.
publicstaticLexemsCurrentLexem.
{.
get.
{.
returncurrentLexem;
}.
}.
.
///ΠΠΎΠ±Π°Π²ΠΈΡΡΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ΡΠ»ΠΎΠ²ΠΎ.
///ΡΠ»ΠΎΠ²ΠΎ.
///Π»Π΅ΠΊΡΠ΅ΠΌΠ°.
publicstaticboolAddKeyword (string keyword, Lexemslex).
{.
if (keywordPointer.
{.
KeyWord kw = newKeyWord ();
kw.word = keyword;
kw.lex = lex;
keywords[keywordPointer++] = kw;
returntrue;
}.
returnfalse;
}.
.
///ΠΠΎΠ»ΡΡΠΈΡΡΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ΡΠ»ΠΎΠ²ΠΎ.
///ΡΠ»ΠΎΠ²ΠΎ.
publicstaticLexemsGetKeyword (string keyword).
{.
for (inti = keywordPointer — 1; i>= 0; i—).
{.
if (keywords[i]. word == keyword).
{.
return keywords[i]. lex;
}.
}.
returnLexems.Name;
}.
.
///Π Π°Π·ΠΎΡΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ Π»Π΅ΠΊΡΠ΅ΠΌΡ.
publicstaticvoidParseNextLexem ().
{.
while (char.IsWhiteSpace (Reader.CurrentChar)).
Reader.ReadNextChar ();
if (char.IsLetter (Reader.CurrentChar)).
ParseIdentificator ();
elseif (char.IsDigit (Reader.CurrentChar)).
ParseNumber ();
elseif (Reader.CurrentChar == 'n').
{.
Reader.ReadNextChar ();
currentLexem = Lexems. None;
}.
elseif (Reader.CurrentChar == '<').
{.
Reader.ReadNextChar ();
if (Reader.CurrentChar == '=').
{.
Reader.ReadNextChar ();
currentName = «<=»;
currentLexem = Lexems. LessOrEqual;
}.
else.
{.
currentName = «<» ;
currentLexem = Lexems. Less;
}.
}.
elseif (Reader.CurrentChar == '>').
{.
Reader.ReadNextChar ();
if (Reader.CurrentChar == '=').
{.
Reader.ReadNextChar ();
currentName = «>=»;
currentLexem = Lexems. MoreOrEqual;
}.
else.
{.
currentName = «>» ;
currentLexem = Lexems. More;
}.
}.
elseif (Reader.CurrentChar == '=').
{.
Reader.ReadNextChar ();
if (Reader.CurrentChar == '=').
{.
Reader.ReadNextChar ();
currentName = «==»;
currentLexem = Lexems. Equal;
}.
else.
{.
currentName = «=»;
currentLexem = Lexems. Determine;
}.
}.
elseif (Reader.CurrentChar == '!').
{.
Reader.ReadNextChar ();
if (Reader.CurrentChar == '=').
{.
Reader.ReadNextChar ();
currentName = «≠»;
currentLexem = Lexems. NotEqual;
}.
else.
Errors.Error («ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»»);
}.
elseif (Reader.CurrentChar == '+').
{.
Reader.ReadNextChar ();
currentName = «+» ;
currentLexem = Lexems. Plus;
}.
elseif (Reader.CurrentChar == '*').
{.
Reader.ReadNextChar ();
currentName = «*» ;
currentLexem = Lexems. Multiplication;
}.
elseif (Reader.CurrentChar == '/').
{.
Reader.ReadNextChar ();
currentName = «/» ;
currentLexem = Lexems. Division;
}.
elseif (Reader.CurrentChar == ',').
{.
Reader.ReadNextChar ();
currentName = «,» ;
currentLexem = Lexems. Comma;
}.
elseif (Reader.CurrentChar == ';').
{.
Reader.ReadNextChar ();
currentName = «;» ;
currentLexem = Lexems. Semi;
}.
elseif (Reader.CurrentChar == '(').
{.
Reader.ReadNextChar ();
currentName = «(«;
currentLexem = Lexems. LeftBracket;
}.
elseif (Reader.CurrentChar == ')').
{.
Reader.ReadNextChar ();
currentName = «)» ;
currentLexem = Lexems. RightBracket;
}.
elseif (Reader.CurrentChar == char. MinValue).
{.
currentName = «EOF» ;
currentLexem = Lexems. EOF;
}.
else.
Errors.Error («ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»!»);
}.
.
///Π Π°Π·ΠΎΠ±ΡΠ°ΡΡΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
privatestaticvoidParseIdentificator ().
{.
stringidentificator = string. Empty;
int count = 0;
do.
{.
identificator += Reader. CurrentChar;
if (identificator == «Long»).
{.
Reader.ReadNextChar ();
identificator += Reader. CurrentChar;
count++;
}.
Reader.ReadNextChar ();
if (++count > 20).
Errors.Error («Chars overflow»);
}.
while (char.IsLetter (Reader.CurrentChar));
currentName = identificator;
currentLexem = GetKeyword (identificator);
}.
.
///Π Π°Π·ΠΎΠ±ΡΠ°ΡΡΡΠΈΡΠ»ΠΎ.
privatestaticvoidParseNumber ().
{.
string number = string. Empty;
do.
{.
number += Reader. CurrentChar;
Reader.ReadNextChar ();
}.
while (char.IsDigit (Reader.CurrentChar));
try.
{.
Int32.Parse (number);
}.
catch (OverflowException).
{.
Errors.Error («ΠΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠΌ»);
}.
currentName = number;
currentLexem = Lexems. Number;
}.
}.
2.3 Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠ»Π°ΡΡ classReader, Π΄Π°Π»Π΅Π΅ Π½Π°ΡΠ½Π΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ.
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΡΠΊΡΡ Π·Π°ΠΏΠΈΡΡ:
publicstaticclassPostFix.
{.
privatestaticList res;
privatestaticStack stack;
.
///ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
publicstaticvoid Initialize ().
{.
res = newList ();
stack = newStack ();
}.
.
///ΠΠΎΠ±Π°Π²ΠΈΡΡ.
publicstaticvoid Add (Lexemslexem).
{.
switch (lexem).
{.
caseLexems.Name:
{.
string temp = LexicalAnalyzer. CurrentName;
res.Add (temp);
}.
break;
caseLexems.Number:
{.
string temp = LexicalAnalyzer. CurrentName;
res.Add (temp);
}.
break;
caseLexems.LeftBracket:
{.
stack.Push (Lexems.LeftBracket);
}.
break;
caseLexems.RightBracket:
{.
while (stack.Peek () ≠ Lexems. LeftBracket).
{.
res.Add (ConvertToString (stack.Pop ()));
}.
stack.Pop ();
}.
break;
caseLexems.Minus:
caseLexems.Plus:
{.
Lexemslex = newLexems ();
if (stack.Count> 0).
lex = stack. Peek ();
while (lex == Lexems.Plus.
|| lex == Lexems.Minus.
|| lex == Lexems.Multiplication.
|| lex == Lexems. Division).
{.
res.Add (ConvertToString (stack.Pop ()));
if (stack.Count> 0).
lex = stack. Peek ();
else.
break;
}.
stack.Push (lexem);
}.
break;
caseLexems.Multiplication:
caseLexems.Division:
{.
Lexemslex = newLexems ();
if (stack.Count> 0).
lex = stack. Peek ();
while (lex == Lexems.Multiplication.
|| lex == Lexems. Division).
{.
res.Add (ConvertToString (stack.Pop ()));
if (stack.Count> 0).
lex = stack. Peek ();
else.
break;
}.
stack.Push (lexem);
}.
break;
caseLexems.Determine:
{.
stack.Push (lexem);
}.
break;
}.
}.
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π΄Π»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°: ΠΠ»ΠΎΠΊ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π±Π»ΠΎΠΊ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π±Π»ΠΎΠΊ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΏΠ΅ΡΠ°ΡΡ, Π±Π»ΠΎΠΊ ΡΠΈΠΊΠ»Π° UNTIL.
publicstaticvoidCompille ().
{.
PostFix.Initialize ();
CodeGenerator.DeclairDataSegment ();
LexicalAnalyzer.Initialize ();
NameTable.Initialize ();
ParseVariables ();
CodeGenerator.DeclairVariables ();
CodeGenerator.DeclairSegmentOfStackAndCode ();
CheckLexem (Lexems.Semi);
if (LexicalAnalyzer.CurrentLexem == Lexems. Begin).
LexicalAnalyzer.ParseNextLexem ();
ParseInstructionSequence ();
CheckLexem (Lexems.End);
CodeGenerator.DeclairEndMainProc ();
CodeGenerator.DeclairPrint ();
CodeGenerator.DeclairCodeEnd ();
if (Errors.ErrorsCount == 0).
Errors.Error («Compille success»);
}.
publicstaticvoidParseCycle ().
{.
CheckLexem (Lexems.Until);
CodeGenerator.AddLabel ();
stringupperLabel = CodeGenerator. GetCurrentLabel ();
CodeGenerator.AddLabel ();
stringlowerLabel = CodeGenerator. GetCurrentLabel ();
CodeGenerator.AddInstruction (upperLabel + «:»);
ParseExpression ();
CheckLexem (Lexems.Do);
ParseInstructionSequence ();
CheckLexem (Lexems.EndUntil);
CodeGenerator.AddInstruction («jmp «+ upperLabel);
CodeGenerator.AddInstruction (lowerLabel + «:»);
}.
staticvoidParseVariables ().
{.
CheckLexem (Lexems.None);
CheckLexem (Lexems.Int);
if (LexicalAnalyzer.CurrentLexem ≠ Lexems.Name).
Errors.Error («ΠΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ»);
else.
{.
NameTable.AddIdentificator (LexicalAnalyzer.CurrentName, tCat. Var);
LexicalAnalyzer.ParseNextLexem ();
}.
while (LexicalAnalyzer.CurrentLexem == Lexems. Comma).
{.
LexicalAnalyzer.ParseNextLexem ();
if (LexicalAnalyzer.CurrentLexem ≠ Lexems.Name).
Errors.Error («ΠΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ»);
else.
{.
NameTable.AddIdentificator (LexicalAnalyzer.CurrentName, tCat. Var);
LexicalAnalyzer.ParseNextLexem ();
}.
}.
2.4 ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΠΊΠΎΠ΄Π°.
LITconst — ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΠΊΠΎΠ½ΡΡΠ°Π½ΡΡΠ²Π²Π΅ΡΡΠΈΠ½ΡΡΡΠ΅ΠΊΠ°.
LOAD n — ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ n Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
STO n — Π·Π°ΠΏΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ n (ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅).
JMP k — Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ k.
JEQ k — ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ k Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° Π΄Π²ΡΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°.
JLT k — ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ k, Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ° ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π½ΠΈΠΌ ΡΠΈΡΠ»Π° ΡΡΠ΅ΠΊΠ°.
JLE k — ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ k, Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ° ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π·Π° Π½ΠΈΠΌ ΡΠΈΡΠ»Ρ ΡΡΠ΅ΠΊΠ°.
JGT k — ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ k, Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ° Π±ΠΎΠ»ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π½ΠΈΠΌ ΡΠΈΡΠ»Π° ΡΡΠ΅ΠΊΠ°.
JGE k — ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ k, Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ° Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π·Π° Π½ΠΈΠΌ ΡΠΈΡΠ»Ρ ΡΡΠ΅ΠΊΠ°.
JNE k — ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ k Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ²Π° Π΄Π²ΡΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°.
ADR — ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° Π°Π΄ΡΠ΅ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
STAD — ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ Π°Π΄ΡΠ΅ΡΠ° Π΄Π°Π½Π½ΡΡ .
ADD — ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
MUL — ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
SUB — Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ° ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
DIV — Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
AND — Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ «Π» (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅) Π΄Π²ΡΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
OR — Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ «ΠΠΠ» (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅) Π΄Π²ΡΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
DIV — Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π½ΠΈΠΌ.
XOR — ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2 Π΄Π²ΡΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°. NOT — Π·Π½Π°ΠΊΠΎΠ²Π°Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ°.
NOL — ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½Π°Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ°. NOP — ΠΏΡΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ .
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠΌ, ΠΌΠ΅ΡΠΎΠ΄Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΊΠΎΠ΄Π° Π±ΡΠ΄ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°. ΠΠΎ ΠΌΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΡΡΠΎΠΊ.
.
/// ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π°.
publicstaticclassCodeGenerator.
{.
privateconstint MAX_NUMBER_STRINGS = 1000;
privatestaticstring[] code = newstring[MAX_NUMBER_STRINGS];
privatestaticintcodePointer = 0;
privatestaticintcountLabels = 0;
.
///ΠΠΎΠ±Π°Π²ΠΈΡΡΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ.
publicstaticvoidAddInstruction (stringinstraction).
{.
code[codePointer++] = instraction;
}.
.
///ΠΠΎΠ±Π°Π²ΠΈΡΡΠΌΠ΅ΡΠΊΡ.
publicstaticvoidAddLabel ().
{.
countLabels++;
}.
.
///ΠΠ΅ΡΠ½ΡΡΡΡΠ΅ΠΊΡΡΡΡΠΌΠ΅ΡΠΊΡ.
publicstaticstringGetCurrentLabel ().
{.
return" label" + countLabels. ToString ();
}.
.
///ΠΠΏΠΈΡΠ°ΡΡΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΄Π°Π½Π½ΡΡ .
publicstaticvoidDeclairDataSegment ().
{.
AddInstruction («data segment para public «data» «);
}.
.
/// ΠΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΡΡΠΊΠ° ΠΈ ΠΊΠΎΠ΄Π°.
publicstaticvoidDeclairSegmentOfStackAndCode ().
{.
AddInstruction («PRINT_BUF DB ' ' DUP (10)»);
AddInstruction («BUFEND DB '$'»);
AddInstruction («data ends»);
AddInstruction («stk segment stack»);
AddInstruction («db 256 dup („?“)»);
AddInstruction («stk ends»);
AddInstruction («code segment para public «code» «);
AddInstruction («main proc»);
AddInstruction («assume cs: code, ds: data, ss: stk»);
AddInstruction («movax, data»);
AddInstruction («movds, ax»);
}.
.
/// ΠΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ½Π΅Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ.
publicstaticvoidDeclairEndMainProc ().
{.
AddInstruction («mov ax, 4c00h»);
AddInstruction («int 21h»);
AddInstruction («main endp»);
}.
.
/// ΠΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ½Π΅ΠΉ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π°.
publicstaticvoidDeclairCodeEnd ().
{.
AddInstruction («code ends»);
AddInstruction («end main»);
}.
.
///ΠΠΏΠΈΡΠ°ΡΡΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
publicstaticvoidDeclairVariables ().
{.
LinkedListNode node = NameTable.GetIdentificators.First;
while (node ≠ null).
{.
if (SyntaxAnalyzer.Type == tType.Int).
AddInstruction (node.Value.name + «dw 1»);
if (SyntaxAnalyzer.Type == tType. LInt).
AddInstruction (node.Value.name + «dl 1»);
node = node. Next;
}.
}.
.
///ΠΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΏΠ΅ΡΠ°ΡΡ.
publicstaticvoidDeclairPrint ().
{.
AddInstruction («PRINT PROC NEAR»);
AddInstruction («MOV CX, 10»);
AddInstruction («MOV DI, BUFEND — PRINT_BUF»);
AddInstruction («PRINT_LOOP:»);
AddInstruction («MOV DX, 0»);
AddInstruction («DIV CX»);
AddInstruction («ADD DL, '0'»);
AddInstruction («MOV [PRINT_BUF + DI — 1], DL»);
AddInstruction («DEC DI»);
AddInstruction («CMP AL, 0»);
AddInstruction («JNE PRINT_LOOP»);
AddInstruction («LEA DX, PRINT_BUF»);
AddInstruction («ADD DX, DI»);
AddInstruction («MOV AH, 09H»);
AddInstruction («INT 21H»);
AddInstruction («RET»);
AddInstruction («PRINT ENDP»);
}.
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ) ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ. Π’Π°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ) Π² ΡΠ΅Π³ΠΈΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ mov. ΠΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅.
Π’Π°Π±Π»ΠΈΡΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ. | ΠΠ½ΡΡΡΡΠΊΡΠΈΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°. | |
add. | ||
; | sub. | |
*. | mul. | |
div. | ||
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ a + b Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
mov ax, a.
movbx b.
addax, bx.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ ax. ΠΠΎ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π³Π΄Π΅-ΡΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΠ»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ: ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ push — ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° Π½Π° Π²Π΅ΡΡ ΡΡΠΊΡ ΡΡΠ΅ΠΊΠ°, pop — ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π² ΡΠ΅Π³ΠΈΡΡΡ. ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΡΠ΅ΠΊ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ Π΅Π³ΠΎ.
3.Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΡΡΠ΅Ρ ΡΡΠ°ΠΏΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Π°Π²Π°ΡΡ Π΅ΠΉ Π½Π° Π²Ρ ΠΎΠ΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΠΈ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ°ΠΏΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ 1:
Inta, s, r;
Begin.
a=c+b;
Print a;
End.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Π’Π°Π±Π»ΠΈΡΠ° ΠΡΠΈΠΌΠ΅Ρ 2:
Integer a, s, r;
Begin.
s=5;
r=9;
u=0;
a=s+r;
s=((a*4)/2)ggg*r+10;
EndΠ Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π’Π°Π±Π»ΠΈΡΠ°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π±ΡΠ»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°, Π² ΡΡΠ΅Π΄Π΅ VisualStudio 2008, Π½Π° ΡΠ·ΡΠΊΠ΅ C#.
ΠΠΎΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ ΡΠ΅Π»Ρ Π±ΡΠ»Π° Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠ° ΠΏΡΡΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π°Π΄Π°Ρ:
Β· ΠΠΎΡΡΡΠΎΠ΅Π½ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Ρ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ.
Β· ΠΠΎΡΡΡΠΎΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Ρ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ.
Β· ΠΠΎΡΡΡΠΎΠ΅Π½ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ·ΡΠΊΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² SWITCH ΠΈ WHILE.
Β· ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ.
Β· .