Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠΎΠ½ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ — SqrTT
Π€ΡΠ½ΠΊΡΠΈΡ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅) — ΡΡΠΎ… Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π€ΡΠ½ΠΊΡΠΈΡ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅)?
Π£ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΌ. ΡΡΠ½ΠΊΡΠΈΡ.
Π€ΡΜΠ½ΠΊΡΠΈΡΒ β Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈΒ β ΡΡΠΎ ΠΏΠΎΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. Π€ΡΠ½ΠΊΡΠΈΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΎΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ, ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈΒ β ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° (ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°), Π½Π° Π²Ρ ΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ, ΡΠ°ΠΊ ΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ (ΡΡΡΡΠΊΡΡΡΠ°, ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ Ρ.ΠΏ.). ΠΠΎ Ρ ΠΎΠ΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΡΠ°ΠΊΠΆΠ΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΏΡΠΈΡΡΠΌ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΠ΅, ΡΠ°ΠΊ ΠΈ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΠ΅.
ΠΠΎΠ±ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ
ΠΠΎΠ±ΠΎΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ, ΠΊΡΠΎΠΌΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΏΠΎΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° (ΡΠΎ Π΅ΡΡΡ ΡΠ°ΠΊΠΈΡ , Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ). Π ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π΅ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ². ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡΒ β ΠΠΈΡΠΏ. Π Π½ΡΠΌ Π»ΡΠ±Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π»ΡΠ±Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ°, Π»ΡΠ±ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΡΠΎΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π² ΡΠ·ΡΠΊΠ΅ Π₯Π°ΡΠΊΠ΅Π»Π».
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΠ°ΡΠΊΠ°Π»Π΅) ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ (ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ) ΡΡΡΠΊΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΡΠ·ΡΠΊΠ°. Π Π΄ΡΡΠ³ΠΈΡ
β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, β ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ (ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ) ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° (ΠΏΡΠ΅Π²Π΄ΠΎΡΠΈΠΏΠ°[ΠΈΡΡΠΎΡΠ½ΠΈΠΊΒ Π½Π΅Β ΡΠΊΠ°Π·Π°Π½Β 757Β Π΄Π½Π΅ΠΉ]) void
β ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΠΎΠΉ), ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°), Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ (ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ»Π°Π΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ).
Π€ΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
Π’Π°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
Π‘ΡΡΠ»ΠΊΠΈ
Π§Π΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ? β Π₯Π°Π±Ρ Q&A
D3lphi
Π€ΡΠ½ΠΊΡΠΈΡ — ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° — ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π±Π΅Π· Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠΎΠ΄ — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊΠ»Π°ΡΡΡ ΠΈΠ»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ°.
ΠΊΠ°ΠΊ Π±Ρ Π΄Π°, Π½ΠΎ… ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅, ΡΡΠΎ Π±Ρ ΡΠ³ΠΎΠΌΠΎΠ½ΠΈΡΡ Ρ Π°ΠΎΡ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ Π½ΠΎΠ²ΠΈΡΠΊΠ° ))
Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅ Π²ΡΠ΅ ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅, ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ
1 — Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌ, ΠΈΠ· Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎ ΠΠ΅ΡΠΎΠ΄, ΠΊΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ D3lphi, ΡΡΠΎ Π½Π΅ΡΡΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅Π΅ ΠΊΠ»Π°ΡΡΡ. ΠΊΠ»Π°ΡΡ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΠΠ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΊΠ»Π°ΡΡΠ°Ρ (ΡΠ°ΡΠΌ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΠΠ Π±ΡΠ²Π°Π΅Ρ ΡΠΎΠΆΠ΅ ΡΠ°Π·Π½ΠΎΠ΅ ;))
Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΡΠ΅ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΡΠΎΡΠ½ΡΡΡ ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ — ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² ΡΠ΅Π»Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° (Π±ΡΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΏΠΎΠ»Ρ, ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½ΠΎ ΡΡΠΎ ΡΠΆΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°) .. ΠΈ ΠΊΠ°ΠΊ Π²Π΅ΡΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΠ» Griboks — ΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ
Π½ΠΎ .. Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠΎΠ², Π³Π΄Π΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅
Π° Π΅ΡΠ΅ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ .. ΡΡΠ° ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ ΡΠ·ΡΠΊΠΈ, Π³Π΄Π΅ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡ
2 — ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΠ·ΡΠΊΠΎΠ²:
ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΡ Π½Π° ΡΠ·ΡΠΊΠ°Ρ ΡΠΈΠΏΠ° Fortran, Pascal ΠΈΠ»ΠΈ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ , ΠΈ Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° Π²ΠΎΠΎΠ±ΡΠ΅, Π»ΠΈΠ±ΠΎ ΠΈΠ½ΠΎΠΉ ΠΎΠΏΡΡ Π±ΡΠ» Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΎΠΌΠ½Π΅Π΅
ΡΠ΅ΠΉΡΠ°Ρ Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΡΡ ΡΠ·ΡΠΊΠΈ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΠΈΠ΅ΡΡ Π½Π° Π‘ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅, Π΄Π°ΠΆΠ΅ java ΠΈ js Π² Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΎΠΏΡΠΎΡΠ΅ ΡΡΠ°Π½ΡΡ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π‘ΠΈ
Π° Π² Π½Π΅ΠΌ Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ.. Π° Π½Π° ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΊΠ°ΠΊΡΡ Π»ΠΈΠ±ΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ void
ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ C# — Π² ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π²ΡΠ΅ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ. Π° Π»ΡΠ±ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄ ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄, ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ (Π² ΡΡ void ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ)
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΠΈ Π΅ΡΡΡ Π΄Π²Π° Π±ΠΎΠ»ΡΒΡΠΈΡ ΠΏΠΎΠ΄ΒΡ ΠΎΒΠ΄Π° β ΠΈΠΌΠΏΠ΅ΒΡΠ°ΒΡΠΈΠ²ΒΠ½ΠΎΠ΅ ΠΈΒ ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΠ΅. ΠΠ½ΠΈ ΡΡΡΠ΅ΒΡΡΠ²Π΅Π½ΒΠ½ΠΎ ΠΎΡΠ»ΠΈΒΡΠ°ΒΡΡΒΡΡ Π»ΠΎΠ³ΠΈΒΠΊΠΎΠΉ ΡΠ°Π±ΠΎΒΡΡ, Π΅ΡΡ ΠΈΒ ΡΠΎΠ·Π΄Π°ΒΡΡ ΠΏΡΡΠ°ΒΠ½ΠΈΒΡΡ Π²Β Π½Π°Π·Π²Π°ΒΠ½ΠΈΒΡΡ . Π‘Π΅ΠΉΒΡΠ°Ρ ΠΎΠ±ΡΒΡΡΒΠ½ΠΈΠΌ.
π€ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ β ΡΡΠΎ ΠΏΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ?
β ΠΠ΅Ρ. Π€ΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΠ΅ β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎ ΡΡΠ½ΠΊΒΡΠΈΠΈ. Π€ΡΠ½ΠΊΒΡΠΈΠΈ Π΅ΡΡΡ ΠΏΠΎΡΡΠΈ Π²Β Π»ΡΠ±ΡΡ ΡΠ·ΡΒΠΊΠ°Ρ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΡ: ΠΈΒ Π² ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΡΡ , ΠΈΒ Π² ΠΈΠΌΠΏΠ΅ΒΡΠ°ΒΡΠΈΠ²ΒΠ½ΡΡ . ΠΡΠ»ΠΈΒΡΠΈΠ΅ ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΒΠ³ΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΡ ΠΎΡ ΠΈΠΌΠΏΠ΅ΒΡΠ°ΒΡΠΈΠ²ΒΠ½ΠΎΒΠ³ΠΎ β Π²Β ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΒΡ ΠΎΒΠ΄Π΅.
ΠΠ΅ΡΠ°ΡΠΎΡΠ°: ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ½ΠΈΠ³Π° ΠΏΡΠ°Π²ΠΈΠ»
ΠΡΠ΅Π΄ΒΡΡΠ°Π²ΡΒΡΠ΅, ΡΡΠΎ Π²Ρ ΠΎΡΠΊΡΡΒΠ²Π°ΒΠ΅ΒΡΠ΅ ΠΊΠ°ΡΠ΅-ΡΡΠΎΠ»ΠΎΠ²ΡΡ. Π‘Π΅ΠΉΒΡΠ°Ρ ΡΒ Π²Π°Ρ ΡΠ°ΠΌ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠΎΡΡΡΠ΄ΒΠ½ΠΈΒΠΊΠΎΠ²: ΠΏΠΎΠ²Π°ΒΡΠ° ΠΈΒ Π°Π΄ΠΌΠΈΒΠ½ΠΈΒΡΡΡΠ°ΒΡΠΎΒΡΡ.
ΠΠ»Ρ ΠΏΠΎΠ²Π°ΒΡΠΎΠ² Π²Ρ ΠΏΠΈΡΠ΅ΒΡΠ΅ ΡΡΡΒΠΊΠΈΠ΅ ΠΏΠΎΡΠ°ΒΠ³ΠΎΒΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΒΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΒΠ΄ΠΎΒΠ³ΠΎ Π±Π»ΡΒΠ΄Π°. ΠΠ°ΠΏΡΠΈΒΠΌΠ΅Ρ:
- ΠΠ°Π»ΠΈΡΡ Π²ΠΎΠ΄Ρ Π²Β ΠΊΠ°ΡΡΡΡΒΠ»Ρ
- ΠΠΎΡΡΠ°ΒΠ²ΠΈΡΡ ΠΊΠ°ΡΡΡΡΒΠ»Ρ ΡΒ Π²ΠΎΠ΄ΠΎΠΉ Π½Π° ΠΎΠ³ΠΎΠ½Ρ
- ΠΠΎΠ±Π°ΒΠ²ΠΈΡΡ Π²Β ΠΊΠ°ΡΡΡΡΒΠ»Ρ ΡΒ Π²ΠΎΠ΄ΠΎΠΉ ΡΡΠΎΠ»ΡΠΊΠΎ-ΡΠΎ ΡΠΎΠ»ΠΈ
- ΠΡΠ»ΠΈ Π½ΡΠΆΒΠ½ΠΎ ΠΏΡΠΈΒΠ³ΠΎΒΡΠΎΒΠ²ΠΈΡΡ 10 ΠΏΠΎΡΒΡΠΈΠΉ, Π²Π·ΡΡΡ ΠΎΠ΄Π½Ρ ΡΠ²ΡΠΊΒΠ»Ρ. ΠΡΠ»ΠΈ Π½ΡΠΆΒΠ½ΠΎ ΠΏΡΠΈΒΠ³ΠΎΒΡΠΎΒΠ²ΠΈΡΡ 20 ΠΏΠΎΡΒΡΠΈΠΉ, Π²Π·ΡΡΡ Π΄Π²Π΅ ΡΠ²ΡΠΊΒΠ»Ρ.
- ΠΠΎΡΠΈΒΡΡΠΈΡΡ Π²ΡΡ ΡΠ²ΡΠΊΒΠ»Ρ, ΠΊΠΎΡΠΎΒΡΡΡ Π²Ρ Π²Π·ΡΒΠ»ΠΈ
- β¦
ΠΠΎΠ²Π°Ρ Π΄ΠΎΠ»ΒΠΆΠ΅Π½ ΡΠ»Π΅ΒΠ΄ΠΎΒΠ²Π°ΡΡ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΊΒΡΠΈΒΡΠΌ ΡΠΎΠ²ΒΠ½ΠΎ Π²Β ΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅ΒΠ΄ΠΎΒΠ²Π°ΒΡΠ΅Π»ΡΒΠ½ΠΎΒΡΡΠΈ, Π²Β ΠΊΠΎΡΠΎΒΡΠΎΠΉ Π²Ρ ΠΈΡ Π½Π°ΠΏΠΈΒΡΠ°ΒΠ»ΠΈ. ΠΠ΅Π»ΡΒΠ·Ρ ΡΠ½Π°ΒΡΠ°ΒΠ»Π° ΠΏΠΎΡΠΈΒΡΡΠΈΡΡ ΡΠ²ΡΠΊΒΠ»Ρ, Π°Β ΠΏΠΎΡΠΎΠΌ Π²Π·ΡΡΡ Π΅Ρ. ΠΠ΅Π»ΡΒΠ·Ρ ΠΏΠΎΡΠΎΒΠ»ΠΈΡΡ ΠΊΠ°ΡΡΡΡΒΠ»Ρ, Π²Β ΠΊΠΎΡΠΎΒΡΠΎΠΉ Π½Π΅Ρ Π²ΠΎΠ΄Ρ. ΠΠΎΡΡΒΠ΄ΠΎΠΊ Π΄Π΅ΠΉΒΡΡΠ²ΠΈΠΉ Π²Π°ΠΆΠ΅Π½ ΠΈΒ ΠΎΠΏΡΠ΅ΒΠ΄Π΅ΒΠ»ΡΒΠ΅ΡΒΡΡ Π²Π°ΠΌΠΈ. ΠΡΠΎ ΠΏΡΠΈΒΠΌΠ΅Ρ ΠΈΠΌΠΏΠ΅ΒΡΠ°ΒΡΠΈΠ²ΒΠ½ΠΎΒΠ³ΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΡ. ΠΡ ΠΏΠΎΠ²Π΅ΒΠ»Π΅ΒΠ²Π°ΒΠ΅ΒΡΠ΅ ΠΈΡΠΏΠΎΠ»ΒΠ½ΠΈΒΡΠ΅ΒΠ»Π΅ΠΌ. ΠΠΎΠΆΒΠ½ΠΎ ΡΠΊΠ°ΒΠ·Π°ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΒΠ½ΠΈΒΡΠ΅ΒΠ»ΠΈ Π²ΡΠΏΠΎΠ»ΒΠ½ΡΒΡΡ Π²Π°ΡΠΈ Π·Π°Π΄Π°ΒΠ½ΠΈΡ.
ΠΠ»Ρ Π°Π΄ΠΌΠΈΒΠ½ΠΈΒΡΡΡΠ°ΒΡΠΎΒΡΠ° Π²Ρ ΠΏΠΈΡΠ΅ΒΡΠ΅ Π½Π΅ ΠΈΠ½ΡΡΡΡΠΊΒΡΠΈΡ, Π°Β ΠΊΠ°ΠΊ Π±Ρ ΠΊΠ½ΠΈΒΠ³Ρ ΠΏΡΠ°ΒΠ²ΠΈΠ»:
- Π£ Π½Π°Ρ Π½Π΅Π»ΡΒΠ·Ρ ΡΠΎ ΡΠ²ΠΎΒΠΈΠΌ. ΠΡΠ»ΠΈ Π³ΠΎΡΡΠΈ ΠΏΡΠΈΒΡΠ»ΠΈ ΡΠΎ ΡΠ²ΠΎΒΠΈΠΌ, ΡΠΎ ΡΠ΄Π΅ΒΠ»Π°ΡΡ ΠΈΠΌ Π·Π°ΠΌΠ΅ΒΡΠ°ΒΠ½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ΅-ΡΠΎ.
- Π Π·Π°Π»Π΅ Π΄ΠΎΠ»ΠΆΒΠ½ΠΎ Π±ΡΡΡ ΡΠΈΡΡΠΎ. ΠΡΠ»ΠΈ Π²Β Π·Π°Π»Π΅ Π³ΡΡΠ·ΒΠ½ΠΎ, Π²ΡΠ·Π²Π°ΡΡ ΡΠ±ΠΎΡΒΡΠΈΒΠΊΠ°.
- ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ°ΒΠ·ΠΎΒΠ²Π°ΒΠ»Π°ΡΡ ΠΎΡΠ΅ΒΡΠ΅Π΄Ρ, ΠΎΡΠΊΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»ΒΠ½ΠΈΒΡΠ΅Π»ΡΒΠ½ΡΡ ΠΊΠ°ΡΒΡΡ.
ΠΡΠΎ ΡΠΎΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Ρ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΒΠ½ΡΡΡ ΠΈΡ Π°Π΄ΠΌΠΈΒΠ½ΠΈΒΡΡΡΠ°ΒΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ Π²Β ΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅ΒΠ΄ΠΎΒΠ²Π°ΒΡΠ΅Π»ΡΒΠ½ΠΎΒΡΡΠΈ, Π°Β Π² Π»ΡΠ±ΠΎΠΉ Π½Π° ΡΠ²ΠΎΡ ΡΡΠΌΠΎΡΒΡΠ΅ΒΠ½ΠΈΠ΅. ΠΠΎΠΆΒΠ½ΠΎ ΡΠΊΠ°ΒΠ·Π°ΡΡ, ΡΡΠΎ Π·Π°Π΄Π°ΒΡΠ° ΡΡΠΎΒΠ³ΠΎ ΡΠ΅Π»ΠΎΒΠ²Π΅ΒΠΊΠ° β ΠΈΡΠΏΠΎΠ»ΒΠ½ΡΡΡ ΡΡΠ½ΠΊΒΡΠΈΠΈ Π°Π΄ΠΌΠΈΒΠ½ΠΈΒΡΡΡΠ°ΒΡΠΎΒΡΠ°, ΠΈΒ ΠΌΡ ΠΎΠΏΠΈΒΡΠ°ΒΠ»ΠΈ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΒΡΡΠΌ ΡΡΠΈ ΡΡΠ½ΠΊΒΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΒΠ½ΡΡΡ. ΠΡΠΎ ΠΏΡΠΈΒΠΌΠ΅Ρ ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΒΠ³ΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΡ.
β ΠΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΡΡ, Π½Π΅ Π±ΠΎΠΌΒΠ±ΠΈΒΡΠ΅
ΠΠΎΠ½Π΅ΡΒΠ½ΠΎ ΠΆΠ΅, ΡΡΠΎ ΡΠΏΡΠΎΒΡΠ΅ΒΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΒΠΌΠ°ΒΠ½ΠΈΡ. ΠΡ ΡΠ°ΠΌΠΈ ΠΏΠΎΠΏΡΠΎΒΠ±ΡΠΉΒΡΠ΅ ΡΡΠΎ Π½ΠΎΡΒΠΌΠ°Π»ΡΒΠ½ΠΎ ΠΎΠ±ΡΒΡΡΒΠ½ΠΈΡΡ (ΠΌΠΎΠΆΒΠ½ΠΎ ΠΏΡΡΒΠΌΠΎ Π²Β ΠΊΠΎΠΌΒΠΌΠ΅Π½ΒΡΠ°Ρ ).
ΠΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈΒΠΌΠ΅ΒΡΡ ΡΠ·ΡΒΠΊΠΎΠ²: C, Π‘++, Go, Pascal, Java, Python, Ruby
ΠΠΌΠΏΠ΅ΒΡΠ°ΒΡΠΈΠ²ΒΠ½ΠΎΠ΅ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΠ΅ ΡΡΡΡΠΎΒΠ΅ΒΠ½ΠΎ ΡΠ°ΠΊ:
Π ΡΠ·ΡΒΠΊΠ΅ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Ρ, ΠΊΠΎΡΠΎΒΡΡΠ΅ ΡΡΠΎΡ ΡΠ·ΡΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»ΒΠ½ΡΡΡ. ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Ρ ΠΌΠΎΠΆΒΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π²Β ΠΏΠΎΠ΄ΒΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΡ, ΡΡΠΎΒΠ±Ρ Π°Π²ΡΠΎΒΠΌΠ°ΒΡΠΈΒΠ·ΠΈΒΡΠΎΒΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΒΡΠΎΒΡΡΠ΅ ΠΎΠ΄Π½ΠΎΒΡΠΈΠΏΒΠ½ΡΠ΅ Π²ΡΡΠΈΡΒΠ»Π΅ΒΠ½ΠΈΡ. ΠΒ ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΒΠΊΠ΅ Π·Π°ΠΏΠΈΒΡΠ°ΒΠ½Ρ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Ρ Π²Π½ΡΡΒΡΠΈ ΠΏΠΎΠ΄ΒΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΡ, Π²Β ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΒΠΊΠ΅ ΠΎΠ½ΠΈ ΠΈΒ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»ΒΠ½ΡΡΡΒΡΡ.
ΠΡΡΡ ΠΏΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½ΡΠ΅, ΠΊΠΎΡΠΎΒΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°ΒΠ½ΠΈΡΡ Π΄Π°Π½ΒΠ½ΡΠ΅ ΠΈΒ ΠΈΠ·ΠΌΠ΅ΒΠ½ΡΡΡΒΡΡ Π²ΠΎ Π²ΡΠ΅ΒΠΌΡ ΡΠ°Π±ΠΎΒΡΡ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΡ. ΠΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½Π°Ρ β ΡΡΠΎ ΡΡΠ΅ΠΉΒΠΊΠ° Π΄Π»Ρ Π΄Π°Π½ΒΠ½ΡΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½ΡΡ Π½ΡΠΆΒΠ½ΠΎΒΠ³ΠΎ Π½Π°ΠΌ ΡΠΈΠΏΠ°, ΠΏΠΎΠ»ΠΎΒΠΆΠΈΡΡ ΡΡΠ΄Π° ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π·Π½Π°ΒΡΠ΅ΒΠ½ΠΈΠ΅, Π°Β ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠΌΠ΅ΒΠ½ΡΡΡ Π΅Π³ΠΎ Π½Π° Π΄ΡΡΒΠ³ΠΎΠ΅.
ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΒΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠ΅ Π½Π° Π²Ρ ΠΎΠ΄ ΠΏΠΎΠ΄Π°ΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π·Π½Π°ΒΡΠ΅ΒΠ½ΠΈΠ΅, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΒΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΠΈΒΡΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΒΠΊΠΎ ΠΎΡ ΠΈΡΡ ΠΎΠ΄ΒΠ½ΡΡ Π΄Π°Π½ΒΠ½ΡΡ , Π½ΠΎ ΠΈΒ ΠΎΡ Π΄ΡΡΒΠ³ΠΈΡ ΠΏΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½ΡΡ . ΠΠ°ΠΏΡΠΈΒΠΌΠ΅Ρ, ΡΒ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΒΡΠΈΡ, ΠΊΠΎΡΠΎΒΡΠ°Ρ Π²ΠΎΠ·ΒΠ²ΡΠ°ΒΡΠ°ΒΠ΅Ρ ΡΠ°Π·ΒΠΌΠ΅Ρ ΡΠΊΠΈΠ΄ΒΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΊΡΠΏΒΠΊΠ΅ Π²Β ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅. ΠΡ Π΄ΠΎΠ±Π°Π²ΒΠ»ΡΒΠ΅ΠΌ Π²Β ΠΊΠΎΡΒΠ·ΠΈΒΠ½Ρ ΡΠΎΠ²Π°Ρ ΡΡΠΎΒΠΈΒΠΌΠΎΒΡΡΡΡ 1000 β½, Π°Β ΡΡΠ½ΠΊΒΡΠΈΡ Π΄ΠΎΠ»ΠΆΒΠ½Π° Π½Π°ΠΌ Π²Π΅ΡΒΠ½ΡΡΡ ΡΠ°Π·ΒΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΒΡΠΈΠ²ΒΡΠ΅ΠΉΒΡΡ ΡΠΊΠΈΠ΄ΒΠΊΠΈ. ΠΠΎ Π΅ΡΠ»ΠΈ ΡΠΊΠΈΠ΄ΒΠΊΠ° Π·Π°Π²ΠΈΒΡΠΈΡ ΠΎΡ Π΄Π½Ρ Π½Π΅Π΄Π΅ΒΠ»ΠΈ, ΡΠΎ ΡΡΠ½ΠΊΒΡΠΈΡ ΡΠ½Π°ΒΡΠ°ΒΠ»Π° ΠΏΡΠΎΒΠ²Π΅ΒΡΠΈΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π³ΠΎΒΠ΄Π½Ρ Π΄Π΅Π½Ρ, ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΡΠΌΠΎΡΒΡΠΈΡ ΠΏΠΎ ΡΠ°Π±ΒΠ»ΠΈΒΡΠ΅, ΠΊΠ°ΠΊΠ°Ρ ΡΠ΅Π³ΠΎΒΠ΄Π½Ρ ΡΠΊΠΈΠ΄ΒΠΊΠ°.
ΠΠΎΠ»ΡΒΡΠ°ΒΠ΅ΡΒΡΡ, ΡΡΠΎ Π²Β ΡΠ°Π·ΒΠ½ΡΠ΅ Π΄Π½ΠΈ ΡΡΠ½ΠΊΒΡΠΈΡ ΠΏΠΎΠ»ΡΒΡΠ°ΒΠ΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ 1000 β½, Π½ΠΎ Π²ΠΎΠ·ΒΠ²ΡΠ°ΒΡΠ°ΒΠ΅Ρ ΡΠ°Π·ΒΠ½ΡΠ΅ Π·Π½Π°ΒΡΠ΅ΒΠ½ΠΈΡ β ΡΠ°ΠΊ ΡΠ°Π±ΠΎΒΡΠ°ΒΠ΅Ρ ΠΈΠΌΠΏΠ΅ΒΡΠ°ΒΡΠΈΠ²ΒΠ½ΠΎΠ΅ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π²ΡΡ Π·Π°Π²ΠΈΒΡΠΈΡ ΠΎΡ Π΄ΡΡΒΠ³ΠΈΡ ΠΏΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½ΡΡ .
ΠΠΎΡΠ»Π΅ΒΠ΄ΠΎΒΠ²Π°ΒΡΠ΅Π»ΡΒΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»ΒΠ½Π΅ΒΠ½ΠΈΡ ΠΏΠΎΠ΄ΒΠΏΡΠΎΒΠ³ΡΠ°ΠΌΠΌ ΡΠ΅Π³ΡΒΠ»ΠΈΒΡΡΒΠ΅ΡΒΡΡ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΡΠΎΠΌ. ΠΠ½ Π·Π°Π΄Π°ΒΡΡ Π½ΡΠΆΒΠ½ΡΠ΅ ΡΡΠ»ΠΎΒΠ²ΠΈΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΒΡΡΠΌ Π΄Π²ΠΈΒΠΆΠ΅ΡΒΡΡ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠ°. ΠΡΡ Π»ΠΎΠ³ΠΈΒΠΊΠ° ΠΏΠΎΠ»ΒΠ½ΠΎΒΡΡΡΡ ΠΏΡΠΎΒΠ΄ΡΒΠΌΡΒΠ²Π°ΒΠ΅ΡΒΡΡ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΡΠΎΠΌ β ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠΊΠ°ΒΠΆΠ΅Ρ, ΡΠ°ΠΊ ΠΈΒ Π±ΡΠ΄Π΅Ρ. ΠΡΠΎ Π·Π½Π°ΒΡΠΈΡ, ΡΡΠΎ ΡΠ°Π·ΒΡΠ°ΒΠ±ΠΎΡΒΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΒΠ½ΠΎ ΠΏΡΠ΅Π΄ΒΡΠΊΠ°ΒΠ·Π°ΡΡ, Π²Β ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π²ΡΠΏΠΎΠ»ΒΠ½ΠΈΡΒΡΡ β ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡΒΡΠ°ΒΠ΅ΡΒΡΡ ΠΏΡΠ΅Π΄ΒΡΠΊΠ°ΒΠ·ΡΒΠ΅ΒΠΌΡΠΌ, ΡΒ ΠΏΠΎΠ½ΡΡΒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΒΠΊΠΎΠΉ ΡΠ°Π±ΠΎΒΡΡ.
ΠΡΠ»ΠΈ ΡΒ Π½Π°Ρ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΒΡΡΠΉ ΡΡΠΈΒΡΠ°ΒΠ΅Ρ ΡΠΊΠΈΠ΄ΒΠΊΡ, Π΄ΠΎΠ»ΒΠΆΠ΅Π½ Π²ΡΠ·ΡΒΠ²Π°ΡΡΒΡΡ ΡΠΎΠ»ΡΒΠΊΠΎ ΠΏΡΠΈ ΡΠΈΠ½Π°Π»ΡΒΠ½ΠΎΠΌ ΠΎΡΠΎΡΠΌΒΠ»Π΅ΒΠ½ΠΈΠΈ Π·Π°ΠΊΠ°ΒΠ·Π°, ΡΠΎ ΠΎΠ½ Π²ΡΠΏΠΎΠ»ΒΠ½ΠΈΡΒΡΡ ΠΈΠΌΠ΅Π½ΒΠ½ΠΎ Π²Β ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠ½ Π½Π΅ ΠΏΠΎΡΡΠΈΒΡΠ°ΒΠ΅Ρ ΡΠΊΠΈΠ΄ΒΠΊΡ Π·Π°ΡΠ°ΒΠ½Π΅Π΅ ΠΈΒ Π½Π΅ ΠΏΡΠΎΒΠΏΡΒΡΡΠΈΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΎΡΠΌΒΠ»Π΅ΒΠ½ΠΈΡ.
π Π‘ΡΡΡ ΠΈΠΌΠΏΠ΅ΒΡΠ°ΒΡΠΈΠ²ΒΠ½ΠΎΒΠ³ΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΡ Π²Β ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΡΡ ΠΎΠΏΠΈΒΡΡΒΠ²Π°ΒΠ΅Ρ ΡΡΡΒΠΊΠΈΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΒΡΡΠ΅ Π΄ΠΎΠ»ΠΆΒΠ½Ρ ΠΏΡΠΈΒΠ²Π΅ΒΡΡΠΈ ΠΊΠΎΠ΄ ΠΊΒ Π½ΡΠΆΒΠ½ΠΎΠΉ ΡΠ΅Π»ΠΈ.
ΠΠ²ΡΒΡΠΈΡ Π»ΠΎΠ³ΠΈΡΒΠ½ΠΎ, ΠΈΒ Π±ΠΎΠ»ΡΒΡΠΈΠ½ΒΡΡΠ²ΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΡΠΎΠ² ΠΏΡΠΈΒΠ²ΡΠΊΒΠ»ΠΈ ΠΈΠΌΠ΅Π½ΒΠ½ΠΎ ΠΊΒ ΡΠ°ΠΊΠΎΒΠΌΡ ΠΏΠΎΠ²Π΅ΒΠ΄Π΅ΒΠ½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠΎ ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΠ΅ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΠ΅ ΡΠ°Π±ΠΎΒΡΠ°ΒΠ΅Ρ ΡΠΎΠ²Π΅ΡΒΡΠ΅Π½ΒΠ½ΠΎ ΠΈΠ½Π°ΒΡΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈΒΠΌΠ΅ΒΡΡ ΡΠ·ΡΒΠΊΠΎΠ²: Haskell, Lisp, Erlang, Clojure, F#
Π‘ΠΌΡΡΠ» ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΒΠ³ΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΡ Π²Β ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ Π·Π°Π΄Π°ΒΡΠΌ Π½Π΅ ΠΏΠΎΡΠ»Π΅ΒΠ΄ΠΎΒΠ²Π°ΒΡΠ΅Π»ΡΒΠ½ΠΎΡΡΡ Π½ΡΠΆΒΠ½ΡΡ Π½Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄, Π°Β ΠΎΠΏΠΈΒΡΡΒΠ²Π°ΒΠ΅ΠΌ Π²Π·Π°ΒΠΈΒΠΌΠΎΒΠ΄Π΅ΠΉΒΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΒΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΈΒ ΠΏΠΎΠ΄ΒΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠ°ΒΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΡ ΠΎΒΠΆΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΒΡΠ°ΒΡΡ ΠΎΠ±ΡΒΠ΅ΠΊΒΡΡ Π²Β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΠΈ, ΡΠΎΠ»ΡΒΠΊΠΎ Π·Π΄Π΅ΡΡ ΡΡΠΎ ΡΠ΅Π°ΒΠ»ΠΈΒΠ·ΡΒΠ΅ΡΒΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΡ.
ΠΠ°ΠΏΡΠΈΒΠΌΠ΅Ρ, Π²Β ΠΠΠ Π½ΡΠΆΒΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΎΠ±ΡΒΠ΅ΠΊΒΡΡ ΠΈΒ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»Π° ΠΈΡ Π²Π·Π°ΒΠΈΒΠΌΠΎΒΠ΄Π΅ΠΉΒΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΒΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, Π½ΠΎ ΡΠ°ΠΊΒΠΆΠ΅ ΠΌΠΎΠΆΒΠ½ΠΎ ΠΈΒ Π½Π°ΠΏΠΈΒΡΠ°ΡΡ ΠΏΡΠΎΒΡΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΒΡΡΠΉ Π½Π΅ ΠΏΡΠΈΒΠ²ΡΒΠ·Π°Π½ ΠΊΒ ΠΎΠ±ΡΒΠ΅ΠΊΒΡΠ°ΠΌ. ΠΠ½ ΠΊΠ°ΠΊ Π±Ρ ΡΡΠΎΒΠΈΡ Π²Β ΡΡΠΎΒΡΠΎΠ½Π΅ ΠΈΒ Π²Π»ΠΈΒΡΒΠ΅Ρ Π½Π° ΡΠ°Π±ΠΎΒΡΡ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΡ Π²Β ΡΠ΅Π»ΠΎΠΌ β ΠΎΡΠΏΡΠ°Π²ΒΠ»ΡΒΠ΅Ρ ΠΎΠ΄Π½ΠΈ ΠΎΠ±ΡΒΠ΅ΠΊΒΡΡ Π²Π·Π°ΒΠΈΒΠΌΠΎΒΠ΄Π΅ΠΉΒΡΡΠ²ΠΎΒΠ²Π°ΡΡ ΡΒ Π΄ΡΡΒΠ³ΠΈΒΠΌΠΈ, ΠΎΠ±ΡΠ°ΒΠ±Π°ΒΡΡΒΠ²Π°ΒΠ΅Ρ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΒΡΠ°ΒΡΡ ΠΈΒ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π€ΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΠ΅ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΠ΅ Π·Π΄Π΅ΡΡ ΠΈΠ΄ΡΡ Π΅ΡΡ Π΄Π°Π»ΡΒΡΠ΅. ΠΒ Π½ΡΠΌ Π²Π΅ΡΡ ΠΊΠΎΠ΄ β ΡΡΠΎ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»Π° ΡΠ°Π±ΠΎΒΡΡ ΡΒ Π΄Π°Π½ΒΠ½ΡΒΠΌΠΈ. ΠΡ ΠΏΡΠΎΒΡΡΠΎ Π·Π°Π΄Π°ΒΡΒΡΠ΅ Π½ΡΠΆΒΠ½ΡΠ΅ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»Π°, Π°Β ΠΊΠΎΠ΄ ΡΠ°ΠΌ ΡΠ°Π·ΒΠ±ΠΈΒΡΠ°ΒΠ΅ΡΒΡΡ, ΠΊΠ°ΠΊ ΠΈΡ ΠΏΡΠΈΒΠΌΠ΅ΒΠ½ΡΡΡ.
ΠΡΠ»ΠΈ ΠΌΡ ΡΡΠ°Π²ΒΠ½ΠΈΠΌ ΠΏΡΠΈΠ½ΒΡΠΈΒΠΏΡ ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΒΠ³ΠΎ ΠΏΠΎΠ΄ΒΡ ΠΎΒΠ΄Π° ΡΒ ΠΈΠΌΠΏΠ΅ΒΡΠ°ΒΡΠΈΠ²ΒΠ½ΡΠΌ, ΡΠΎ Π΅Π΄ΠΈΠ½ΒΡΡΠ²Π΅Π½ΒΠ½ΠΎΠ΅, ΡΡΠΎ ΡΠΎΠ²ΒΠΏΠ°ΒΠ΄ΡΡ, β ΠΈΒ ΡΠ°ΠΌ, ΠΈΒ ΡΠ°ΠΌ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Ρ, ΠΊΠΎΡΠΎΒΡΡΠ΅ ΡΠ·ΡΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»ΒΠ½ΡΡΡ. ΠΡΡ ΠΎΡΡΠ°Π»ΡΒΠ½ΠΎΠ΅ β ΡΠ°Π·ΒΠ½ΠΎΠ΅.
ΠΠΎΠΌΠ°Π½ΒΠ΄Ρ ΠΌΠΎΠΆΒΠ½ΠΎ ΡΠΎΠ±ΠΈΒΡΠ°ΡΡ Π²Β ΠΏΠΎΠ΄ΒΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΡ, Π½ΠΎ ΠΈΡ ΠΏΠΎΡΠ»Π΅ΒΠ΄ΠΎΒΠ²Π°ΒΡΠ΅Π»ΡΒΠ½ΠΎΡΡΡ Π½Π΅ ΠΈΠΌΠ΅ΒΠ΅Ρ Π·Π½Π°ΒΡΠ΅ΒΠ½ΠΈΡ. ΠΠ΅Ρ ΡΠ°Π·ΒΠ½ΠΈΒΡΡ, Π²Β ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΒΠΊΠ΅ Π²Ρ Π½Π°ΠΏΠΈΒΡΠ΅ΒΡΠ΅ ΠΏΠΎΠ΄ΒΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΡ β ΡΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΒΡΡΠΎ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»Π°, Π°Β ΠΏΡΠ°ΒΠ²ΠΈΒΠ»Π° ΠΏΡΠΈΒΠΌΠ΅ΒΠ½ΡΒΡΡΒΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΒΠ½ΠΎ, Π°Β Π½Π΅ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎ Π½ΠΈΡ ΡΠΊΠ°ΒΠ·Π°ΒΠ»ΠΈ.
ΠΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½ΡΡ Π½Π΅Ρ. ΠΠ΅ΡΒΠ½Π΅Π΅, ΠΎΠ½ΠΈ Π΅ΡΡΡ, Π½ΠΎ Π½Π΅ Π²Β ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΒ ΠΊΠΎΡΠΎΒΡΠΎΒΠΌΡ ΠΌΡ ΠΏΡΠΈΒΠ²ΡΠΊΒΠ»ΠΈ. ΠΒ ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΠΌ ΡΠ·ΡΒΠΊΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΒΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½ΡΡ ΡΠΎΠ»ΡΒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΈΒ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΒΠ³ΠΎ Π·Π½Π°ΒΡΠ΅ΒΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½ΠΎΠΉ ΠΈΠ·ΠΌΠ΅ΒΠ½ΠΈΡΡΒΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ. ΠΡΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΒΡΡΠ°Π½ΒΡΡ β Π·Π°ΠΏΠΈΒΡΠ°ΒΠ»ΠΈ ΠΈΒ Π²ΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΒΠ½ΠΎ ΡΠΎΠ»ΡΒΠΊΠΎ ΠΏΡΠΎΒΡΠΈΒΡΠ°ΡΡ. Π‘Π°ΠΌΠΈ ΠΆΠ΅ ΠΏΡΠΎΒΠΌΠ΅ΒΠΆΡΒΡΠΎΡΒΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΒΡΠ°ΒΡΡ Ρ ΡΠ°ΒΠ½ΡΡΒΡΡ Π²Β ΡΡΠ½ΠΊΒΡΠΈΒΡΡ β ΠΎΠ±ΡΠ°ΒΡΠΈΠ²ΒΡΠΈΡΡ ΠΊΒ Π½ΡΠΆΒΠ½ΠΎΠΉ, Π²Ρ Π²ΡΠ΅ΒΠ³Π΄Π° ΠΏΠΎΠ»ΡΒΡΠΈΒΡΠ΅ ΠΈΡΠΊΠΎΒΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΒΡΠ°Ρ.
Π€ΡΠ½ΠΊΒΡΠΈΠΈ Π²ΡΠ΅ΒΠ³Π΄Π° Π²ΠΎΠ·ΒΠ²ΡΠ°ΒΡΠ°ΒΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΒ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΒΡΠ΅ΒΠ½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π½Π° Π²Ρ ΠΎΠ΄ ΠΏΠΎΡΡΡΒΠΏΠ°ΒΡΡ ΠΎΠ΄Π½ΠΈ ΠΈΒ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½ΒΠ½ΡΠ΅. ΠΡΠ»ΠΈ Π²Β ΠΏΡΠΎΒΡΠ»ΠΎΠΌ ΠΏΡΠΈΒΠΌΠ΅ΒΡΠ΅ ΠΌΡ ΠΎΡΠ΄Π°ΒΠ²Π°ΒΠ»ΠΈ Π²Β ΡΡΠ½ΠΊΒΡΠΈΡ ΡΡΠΌΒΠΌΡ Π²Β 1000 β½, Π°Β Π½Π° Π²ΡΡ ΠΎΒΠ΄Π΅ ΠΏΠΎΠ»ΡΒΡΠ°ΒΠ»ΠΈ ΡΠΊΠΈΠ΄ΒΠΊΡ Π²Β Π·Π°Π²ΠΈΒΡΠΈΒΠΌΠΎΒΡΡΠΈ ΠΎΡ Π΄Π½Ρ Π½Π΅Π΄Π΅ΒΠ»ΠΈ, ΡΠΎ Π²Β ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΠΌ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΠΈ Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΒΡΠΈΡ ΠΏΠΎΠ»ΡΒΡΠΈΡ Π²Β ΠΊΠ°ΡΠ΅ΒΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΒΠΌΠ΅ΡΒΡΠ° 1000 β½, ΡΠΎ ΠΎΠ½Π° Π²ΡΠ΅ΒΠ³Π΄Π° Π²Π΅ΡΒΠ½ΡΡ ΠΎΠ΄Π½Ρ ΠΈΒ ΡΡ ΠΆΠ΅ ΡΠΊΠΈΠ΄ΒΠΊΡ Π½Π΅Π·Π°ΒΠ²ΠΈΒΡΠΈΒΠΌΠΎ ΠΎΡ Π΄ΡΡΒΠ³ΠΈΡ ΠΏΠ΅ΡΠ΅ΒΠΌΠ΅Π½ΒΠ½ΡΡ .
ΠΠΎΠΆΒΠ½ΠΎ ΠΏΡΠΎΒΠ²Π΅ΒΡΡΠΈ Π°Π½Π°ΒΠ»ΠΎΒΠ³ΠΈΡ ΡΒ ΠΌΠ°ΡΠ΅ΒΠΌΠ°ΒΡΠΈΒΠΊΠΎΠΉ ΠΈΒ ΡΠΈΠ½ΡΒΡΠ°ΒΠΌΠΈ: ΡΠΈΠ½ΡΡ 90 Π³ΡΠ°ΒΠ΄ΡΒΡΠΎΠ² Π²ΡΠ΅ΒΠ³Π΄Π° ΡΠ°Π²Π΅Π½ Π΅Π΄ΠΈΒΠ½ΠΈΒΡΠ΅, Π²Β ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ Π΅Π³ΠΎ Π½ΠΈ ΠΏΠΎΡΡΠΈΒΡΠ°ΒΠ»ΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ ΡΠ³Π»Ρ ΡΒ Π½Π°Ρ Π΅ΡΡ Π½ΠΈ Π±ΡΠ»ΠΈ Π²Β Π·Π°Π΄Π°ΒΡΠ΅. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈΒ Π·Π΄Π΅ΡΡ β Π²ΡΡ ΠΏΡΠ΅Π΄ΒΡΠΊΠ°ΒΠ·ΡΒΠ΅ΒΠΌΠΎ ΠΈΒ Π·Π°Π²ΠΈΒΡΠΈΡ ΡΠΎΠ»ΡΒΠΊΠΎ ΠΎΡ Π²Ρ ΠΎΠ΄ΒΠ½ΡΡ ΠΏΠ°ΡΠ°ΒΠΌΠ΅ΡΒΡΠΎΠ².
ΠΠΎΡΠ»Π΅ΒΠ΄ΠΎΒΠ²Π°ΒΡΠ΅Π»ΡΒΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»ΒΠ½Π΅ΒΠ½ΠΈΡ ΠΏΠΎΠ΄ΒΠΏΡΠΎΒΠ³ΡΠ°ΠΌΠΌ ΠΎΠΏΡΠ΅ΒΠ΄Π΅ΒΠ»ΡΒΠ΅Ρ ΡΠ°ΠΌ ΠΊΠΎΠ΄ ΠΈΒ ΠΊΠΎΠΌΒΠΏΠΈΒΠ»ΡΒΡΠΎΡ, Π°Β Π½Π΅ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΡΡ. ΠΠ°ΠΆΒΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Π° β ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»ΠΎ, ΠΏΠΎΡΡΠΎΒΠΌΡ Π½Π΅Ρ ΡΠ°Π·ΒΠ½ΠΈΒΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΠΈΒΡΠ΅ΠΌ ΡΡΠΎ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»ΠΎ, Π²Β Π½Π°ΡΠ°ΒΠ»Π΅ ΠΈΠ»ΠΈ Π²Β ΠΊΠΎΠ½ΒΡΠ΅ ΠΊΠΎΠ΄Π°. ΠΠ»Π°Π²ΒΠ½ΠΎΠ΅, ΡΡΠΎΒΠ±Ρ ΡΒ Π½Π°Ρ ΡΡΠΎ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»ΠΎ Π±ΡΠ»ΠΎ, Π°Β ΠΊΠΎΠΌΒΠΏΠΈΒΠ»ΡΒΡΠΎΡ ΡΠ°ΠΌ ΡΠ°Π·ΒΠ±Π΅ΒΡΡΡΒΡΡ, Π²Β ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Π³ΠΎ ΠΏΡΠΈΒΠΌΠ΅ΒΠ½ΡΡΡ.
Π ΡΡΡΒΡΠΊΠΎΠΌ ΡΠ·ΡΒΠΊΠ΅ Π²ΡΡ ΡΠ°Π±ΠΎΒΡΠ°ΒΠ΅Ρ ΡΠΎΡΒΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅: Π΅ΡΡΡ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»Π° ΠΏΡΠ°ΒΠ²ΠΎΒΠΏΠΈΒΡΠ°ΒΠ½ΠΈΡ ΠΈΒ Π³ΡΠ°ΠΌΒΠΌΠ°ΒΡΠΈΒΠΊΠΈ. ΠΠ°ΠΌ Π½Π΅Π²Π°ΠΆΒΠ½ΠΎ, Π²Β ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΒΠΊΠ΅ ΠΌΡ ΠΈΡ ΠΈΠ·ΡΒΡΠΈΒΠ»ΠΈ, Π³Π»Π°Π²ΒΠ½ΠΎΠ΅ β ΡΡΠΎΒΠ±Ρ ΠΌΡ ΠΈΡ Π²ΠΎΠ²ΡΠ΅ΒΠΌΡ ΠΏΡΠΈΒΠΌΠ΅ΒΠ½ΡΒΠ»ΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΒΡΠ°ΒΠ½ΠΈΠΈ ΡΠ΅ΠΊΒΡΡΠ° ΠΈΠ»ΠΈ Π²Β ΡΡΡΒΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΒΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ½Π°ΒΡΠ°ΒΠ»Π° ΠΏΡΠΎΠΉΒΡΠΈ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»ΠΎ Β«ΠΆΠΈ-ΡΠΈΒ», Π°Β ΠΏΠΎΡΠΎΠΌ ΠΏΡΠ°ΒΠ²ΠΈΒΠ»ΠΎ ΠΏΡΠΎ Β«Π½Π΅ ΡΒ Π³Π»Π°ΒΠ³ΠΎΒΠ»Π°ΒΠΌΠΈΒ», Π½ΠΎ ΠΏΡΠΈΒΠΌΠ΅ΒΠ½ΡΡΡ ΠΌΡ ΠΈΡ Π±ΡΠ΄Π΅ΠΌ Π²Β ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΒΠΊΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΒΠ±ΡΒΠ΅ΡΒΡΡ Π²Β ΡΠ΅ΠΊΒΡΡΠ΅.
π ΠΠΎΠ»ΡΒΡΠ°ΒΠ΅ΡΒΡΡ, ΡΡΠΎ ΡΠΌΡΡΠ» ΡΡΠ½ΠΊΒΡΠΈΒΠΎΒΠ½Π°Π»ΡΒΠ½ΠΎΒΠ³ΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΒΠΌΠΈΒΡΠΎΒΠ²Π°ΒΠ½ΠΈΡ Π²Β ΡΠΎΠΌ, ΡΡΠΎΒΠ±Ρ ΠΎΠΏΠΈΒΡΠ°ΡΡ Π½Π΅ ΡΠ°ΠΌΠΈ ΡΡΡΒΠΊΠΈΠ΅ ΡΠ°Π³ΠΈ ΠΊΒ ΡΠ΅Π»ΠΈ, Π°Β ΠΏΡΠ°ΒΠ²ΠΈΒΠ»Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΒΡΡΠΌ ΠΊΠΎΠΌΒΠΏΠΈΒΠ»ΡΒΡΠΎΡ ΡΠ°ΠΌ Π΄ΠΎΠ»ΒΠΆΠ΅Π½ Π΄ΠΎΠΉΒΡΠΈ Π΄ΠΎ Π½ΡΠΆΒΠ½ΠΎΒΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΒΡΠ°ΒΡΠ°.
Π’ΠΈΠΏΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ / Π₯Π°Π±Ρ
ΠΡΠΎ ΡΡΠ΅ΡΡΡ ΡΡΠ°ΡΡΡ Π² ΡΠΈΠΊΠ»Π΅ Β«Π’Π΅ΠΎΡΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²Β».
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ³ΡΠ°Π΅Ρ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΏΡ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ.
ΠΠΎΠΌΡ Π½ΡΠΆΠ½Ρ ΡΠΈΠΏΡ?
Π ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ² ΡΠ»Π°Π±ΠΎΠΉ. ΠΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ±ΠΎΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΠΎΠ±Π΅Π·ΡΡΠ½ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΠΌΠΈ, ΡΠ°Π΄ΠΎΡΡΠ½ΠΎ ΠΆΠΌΡΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΈΡΡΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, Π»ΡΠ±Π°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π±Π°ΠΉΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΎΠ±Π΅Π·ΡΡΠ½Π°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΡΠ° ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π°. ΠΠΎ Π² Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠ·ΡΠΊΠ°Ρ , Π²ΡΡΠΎΠΊΠΎ ΡΠ΅Π½ΠΈΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ³Π½ΡΡΡ, Π° ΠΎΠ±Π΅Π·ΡΡΠ½Ρ ΠΎΡΡΠ°Π½ΡΡΡΡ Π±Π΅Π· Π±Π°Π½Π°Π½ΠΎΠ², Π·Π°ΡΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π½ΡΠΎΠ² Π±ΡΡΡ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΌΠΈ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π±Π°ΡΡΠ΅Ρ ΠΏΡΠΎΡΠΈΠ² Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΈΠΏΠΎΠ² Π±ΡΠ΄ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π² ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠ°Ρ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΡΠΎ ΠΎΡΡΠ΅ΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Ρ Π½ΠΈΡ Π΅ΡΡΡ ΡΠ°Π½Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ.
ΠΡΠ°ΠΊ, Π²ΠΎΠΏΡΠΎΡ Π² ΡΠΎΠΌ, Ρ
ΠΎΡΠΈΠΌ Π»ΠΈ ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅Π·ΡΡΠ½Ρ Π±ΡΠ»ΠΈ ΡΡΠ°ΡΡΠ»ΠΈΠ²Ρ, ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ?
(ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π½Π΅ ΡΡΠΎΠΈΡ ΠΎΡΠΊΠΎΡΠ±Π»ΡΡΡΡΡ, Π°Π²ΡΠΎΡ ΠΏΡΠΎΡΡΠΎ Π»ΡΠ±ΠΈΡ ΠΌΠ΅Π½Π΅Π΅ ΡΠΊΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠ°ΡΠΎΡΡ, ΡΠ΅ΠΌ ΠΠ‘Π§ ΠΈ Β«ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π°ΠΉΡΒ», Π° Π½Π΅ Π½Π°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΎΠ±Π΅Π·ΡΡΠ½Π°ΠΌΠΈ).
ΠΠ±ΡΡΠ½ΠΎ ΡΠ΅Π»Ρ ΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡΠΈΠΌΠΈ ΠΎΠ±Π΅Π·ΡΡΠ½Π°ΠΌΠΈ β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΠ°Π½ΠΈΡ ΡΠΎΡΠΈΠ½Π΅Π½ΠΈΠΉ Π¨Π΅ΠΊΡΠΏΠΈΡΠ° (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΈΠ»ΠΈ ΠΠΎΠΉΠ½Π° ΠΈ ΠΠΈΡ Π’ΠΎΠ»ΡΡΠΎΠ³ΠΎ). ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΡΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ Π² ΡΠΈΠΊΠ»Π΅ ΡΠ΅Π·ΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡ ΡΠ°Π½ΡΡ Π½Π° ΡΡΠΏΠ΅Ρ . ΠΠ½Π°Π»ΠΎΠ³ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠΉΠ΄Π΅Ρ Π΅ΡΠ΅ Π΄Π°Π»ΡΡΠ΅: ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π ΠΎΠΌΠ΅ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² ΡΠ±Π΅Π΄ΠΈΡΡΡ, ΡΡΠΎ Π½Π° Π½Π΅ΠΌ Π½Π΅ ΡΠ°ΡΡΡΡ Π»ΠΈΡΡΡΡ ΠΈ ΡΡΠΎ ΠΎΠ½ Π½Π΅ Π»ΠΎΠ²ΠΈΡ ΡΠΎΡΠΎΠ½Ρ ΡΠ²ΠΎΠΈΠΌ ΠΌΠΎΡΠ½ΡΠΌ Π³ΡΠ°Π²ΠΈΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ.
Π’ΠΈΠΏΡ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΡΠ΅ΠΌΠΎΡΡΠΈ
Π’Π΅ΠΎΡΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΠΈΠ·ΡΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΡΡΠ΅Π»ΠΎΠΊ. ΠΠ΅ Π»ΡΠ±ΡΠ΅ Π΄Π²Π΅ ΡΡΡΠ΅Π»ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Π½Ρ: ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π΄ΡΡΠ³ΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π²ΡΠΎΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ. ΠΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»Π°. Π§Π΅ΠΌ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΎΠ² ΡΠ·ΡΠΊΠ°, ΡΠ΅ΠΌ Π»ΡΡΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ»ΡΡΡ ΠΏΡΠΎΡΠΈΠ² ΡΡΡΠΎΠ³ΠΎΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ: ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ³Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΠ½Ρ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΡ ΡΡΠ°ΡΠ° Π·Π°ΠΌΠ΅ΡΡ, ΡΡΠΎ ΡΡΡ Π°Π²ΡΠΎΡ Π½Π΅ ΡΡΠ΅Π», ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠ³Π»Π°ΡΠ΅Π½, ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Π΅ΠΉ, ΠΈ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡΠΈΡΡΠΎΠΌ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ ΡΠ·ΡΠΊΠ°Ρ duck-typing ΡΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΎ Π½Π° ΠΆΠΈΠ·Π½Ρ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, duck-typing Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ Π² ΡΡΡΠΎΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΠ΅Π· templates, traits, type classes, interfaces, ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΠ° Π½Π΅Π»ΡΠ·Ρ ΡΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠ³ΠΎ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ.) ΠΈ, Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·ΡΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΡΠ½ΡΠΉ Ρ ΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ°ΠΆΠ΅ Haskell ΠΈΠΌΠ΅Π΅Ρ unsafeCoerce. ΠΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·ΡΠΌΠ½ΠΎ. ΠΠ΅ΡΡΠΎΠ½Π°ΠΆ Π€ΡΠ°Π½ΡΠ° ΠΠ°ΡΠΊΠΈ, ΠΡΠ΅Π³ΠΎΡ ΠΠ°ΠΌΠ·Π°, Π½Π°ΡΡΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π³ΠΈΠ³Π°Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΆΡΠΊΠ°, ΠΈ ΠΌΡ Π²ΡΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ»ΠΎΡΡ (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΏΠ»ΠΎΡ ΠΎ π.
ΠΡΡΠ³ΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°ΡΡΠΎ ΡΠ»ΡΡΡ, Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΡΠΎΠ³Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π― ΠΌΠΎΠ³Ρ ΡΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² Π‘++, ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΡ Π΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Π²ΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π²ΡΠ²Π΅ΡΡΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ² ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. Π Π‘++, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ auto, ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΈΠΏ Π·Π° Π²Π°Ρ.
Π Haskell, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π΄ΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π², Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ° ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΈΠΏΡ ΠΌΠΎΠ³ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ±ΡΡΠ½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π² Haskell β Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠΏΠΎΠ². ΠΠΎΠ·ΠΆΠ΅, Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
Π‘ΡΡΠΎΠ³Π°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠ³Π° Π΄Π»Ρ Π½Π΅ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ½ΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ»ΡΡΠ°ΡΡ, ΠΊΠ°ΠΊ Haskell-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π³ΠΎΠ²ΠΎΡΡΡ: Β«ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ, ΠΎΠ½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ.Β» ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠ΅ΠΊΡΠ½Π° Π² ΡΠΌΡΡΠ»Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π² ΡΡΠ΄Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Haskell Π½Π΅ ΡΡΠ°Π» ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ. ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΈΠ½ΠΈΡΡ Π±Π°Π³ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ»Π°Π±ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΡΡΠΈΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅ΠΌ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΎΡΡΡΠ°Π΅Ρ ΠΎΡ Π³ΡΠ°ΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠΎΠ³ΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° Π² ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ : ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ±ΠΎΡΠΊΠΈ. Π ΡΠ»Π°Π±ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ.
ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΉΠΌΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΉ, Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΡΠΉ, Π° Π½Π΅ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠΌΠ΅Π»ΡΡ Π²Π²ΠΈΠ΄Ρ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ²: Π²Ρ ΠΏΠΎΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π½Π΅ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Ρ ΠΎΠ΄Ρ, Π° Π½Π΅ΠΊΡΡ ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠ²Π½ΡΡ Π²ΡΠ±ΠΎΡΠΊΡ.) Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΏΠ»ΠΎΡ Π°Ρ Π·Π°ΠΌΠ΅Π½Π° Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΏΡ?
ΠΡΠΎΡΡΠ΅ΠΉΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²: ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π’ΠΈΠΏΡ Bool (ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ Π² Haskell) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ· Π΄Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: True ΠΈ False. Π’ΠΈΠΏ Char β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ‘a’ ΠΈΠ»ΠΈ ‘Δ ’.
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ. Π’ΠΈΠΏ String, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΏΠΎ ΡΡΡΠΈ, ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΎΠΌ ΡΠΏΠΈΡΠΊΠ° Char, β ΠΏΡΠΈΠΌΠ΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°.
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ x, ΠΊΠ°ΠΊ Integer:
x :: Integer
ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». Integer Π² Haskell β Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ. ΠΡΡΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Int, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ, ΠΊΠ°ΠΊ int Π² C++.
ΠΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΌ. ΠΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΠ»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ
ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²; Π½ΠΎ, ΠΊΠ°ΠΊ Ρ ΠΈ ΠΎΠ±Π΅ΡΠ°Π», Ρ Π½Π΅ Π±ΡΠ΄Ρ ΡΡΡΠΎΠ³ΠΈΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠΌ. ΠΠ°ΠΆΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ², ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Set, ΠΈ ΠΌΡ Ρ Π½Π΅ΠΉ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π Set, ΠΎΠ±ΡΠ΅ΠΊΡΡ β ΡΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π° ΠΌΠΎΡΡΠΈΠ·ΠΌΡ (ΡΡΡΠ΅Π»ΠΊΠΈ) β ΡΡΠ½ΠΊΡΠΈΠΈ.
Set β ΠΎΡΠΎΠ±Π°Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π²Π½ΡΡΡΡ Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΏΡΡΡΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΎΠ΄ΠΈΠ½, Π½ΠΎ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΄Π²Π°. ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΎΠΆΠ΄Π΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π² ΡΠ΅Π±Ρ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π― ΠΏΠ»Π°Π½ΠΈΡΡΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ Π²ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ Π² ΡΠΈΡΡΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, ΡΠΎ Π΅ΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΡΠ΅Π»ΠΎΠΊ.
Π ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΈΠΏΡ Π² Haskell β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π² Haskell β ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄ β ΠΎΠ½Π° Π·Π½Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ²Π΅Ρ. Π€ΡΠ½ΠΊΡΠΈΡ Π² Haskell Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠ²Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ. ΠΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΅ΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π³ΠΎΠ², ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ½ΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ. ΠΠΎ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ, ΠΈ ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Haskell ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡΡ, Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠ»ΠΈ Π½Π΅Ρ β Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ β Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΠ°. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΡΠ΅-ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊΠΈ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ΄Π΅Ρ, ΠΈΠ»ΠΈ Π³ΡΡΠ·Π½ΡΠΉ Ρ Π°ΠΊ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, β ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π°Π·ΡΠ²Π°Π½Π½ΡΠΌ bottom (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ (bottom) ΡΠ»ΡΡΠΈΡΡΡ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎ-Π΄ΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ Π·Π½Π°Π΅Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΉΡΠ΅.), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ _|_ ΠΈΠ»ΠΈ Π² Unicode β₯. ΠΡΠΎ Β«Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π΅Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ΅ΠΌΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π’Π°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ ΠΊΠ°ΠΊ:
f :: Bool -> Bool
ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ True, False, ΠΈΠ»ΠΈ _|_; ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ bottom Π² ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ², ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π° bottom, ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ bottom ΡΠ²Π½ΠΎ. ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ undefined:
f :: Bool -> Bool
f x = undefined
ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ undefined Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π² bottom, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ ΡΠΈΠΏΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Bool. ΠΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
f :: Bool -> Bool
f = undefined
(Π±Π΅Π· x) ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ bottom Π΅ΡΠ΅ ΠΈ ΡΠ»Π΅Π½ ΡΠΈΠΏΠ° Bool -> Bool.
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ bottom, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠΌΠΈ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ·-Π·Π° bottom, ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠΈΠΏΠΎΠ² Haskell ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Hask, Π° Π½Π΅ Set. Π‘ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π½Π΅ΡΠΊΠΎΠ½ΡΠ°Π΅ΠΌΡΡ ΠΎΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠΉ Π½ΠΎΠΆ ΠΌΡΡΠ½ΠΈΠΊΠ° ΠΈ Π·Π°Π²Π΅ΡΡΡ ΡΡΠΈ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ. Π‘ ΠΏΡΠ°Π³ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ bottom ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Hask ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ Set.
ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ?
ΠΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, Π²Ρ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΠΈ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΎΠΉ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ·ΡΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ°. ΠΠΎ ΡΠΌΡΡΠ» ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΡΠ·ΡΠΊΠ° Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΡΡΠ΄Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°ΡΡ; ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠ°Π½ΠΈΡ, ΡΠ΅Π΄ΠΊΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΈ ΠΏΠΎΡΡΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎ. ΠΡΡΡΠ΄Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΡΡΠΈΡΡΠΎΠ², ΠΈ Π²ΡΡ ΠΊΡΡΡΠ°ΡΠ½Π°Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΡ ΠΊΠ½ΠΈΠ³, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΡΠΎΠ»ΠΊΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ½ΠΊΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ².
ΠΡΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ ΡΠ·ΡΠΊΠ°, Π½ΠΎ ΠΈΠ·-Π·Π° ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ½ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΡ , Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ², Π° Π½Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π³ΠΈΠ³Π°Π½ΡΠΎΠ² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ, ΠΈΠ΄Π΅Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ. Π‘Π΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ C++, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠ°ΡΡΠΎ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ Β«Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΡΒ».
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ, ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π½Π΅ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Ρ, ΠΏΠΎ ΡΡΡΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ Β«Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π΅Β» ΡΠ΅ΡΠ΅Π· ΠΈΠ΄Π΅Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ.
ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ. ΠΡ Π²ΡΠ΅Π³Π΄Π° Β«Π΄ΡΠΌΠ°Π΅ΠΌΒ», ΡΡΠΎ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΈΠΊΡΠΎ Π½Π΅ ΡΠΈΠ΄ΠΈΡ Π·Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ, Π³ΠΎΠ²ΠΎΡΡ: Β«Π, Ρ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.» (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π°Ρ , Π΅ΡΠ»ΠΈ Π±Ρ…) ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ, Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΈΠ²Π»Π΅Π½Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΌΠ°Π΅ΠΌ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ, ΠΈ ΠΌΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ, Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π² Π½Π°ΡΠΈΡ Π³ΠΎΠ»ΠΎΠ²Π°Ρ . ΠΡΠΎΡΡΠΎ, ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ ΡΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π²ΡΠ΅ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Ρ ΠΎΡΠΎΡΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π»ΡΠ΄ΠΈ β Π½Π΅Ρ! ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ Π±ΡΠ»ΠΈ, Π½Π°ΠΌ Π±Ρ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ.
ΠΠΎ Π΅ΡΡΡ ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°. ΠΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅. Π Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Ρ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΎΡΠ΅ΠΌΡ. ΠΡ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΠΌ ΡΡΡΠ΄Π½ΠΎ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΡ, Π»ΡΠ΄ΠΈ, ΡΡΡΠΎΠΈΠ»ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΡΡΡΠΈ Π»Π΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΡ Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΠΎΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ, Π·Π°Π΄Π°ΡΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Ρ. (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π΄Π»Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°, Π°Π²ΡΠΎΡ Π½Π΅ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° Π² Haskell, ΡΠ·ΡΠΊΠ΅, Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π°ΡΡΠ΅ΠΌΡΡΡ Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅:
fact n = product [1..n]
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ [1..n] β ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ n. Π€ΡΠ½ΠΊΡΠΈΡ product ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π°, Π²Π·ΡΡΠΎΠ΅ ΠΈΠ· ΡΡΠ΅Π±Π½ΠΈΠΊΠ°. Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΡΡΠΎ Ρ C:
int fact(int n) {
int i;
int result = 1;
for (i = 2; i <= n; ++i)
result *= i;
return result;
}
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ? (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π°Π²ΡΠΎΡ ΡΠ»Π΅Π³ΠΊΠ° ΡΡ ΠΈΡΡΠΈΠ», Π²Π·ΡΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Haskell. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Ρ ΠΈΡΡΠΈΡΡ Π±ΡΠ»ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΠ΅ΡΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅):
fact 0 = 1
fact n = n * fact (n - 1)
Π₯ΠΎΡΠΎΡΠΎ, Ρ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠ·Π½Π°Ρ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ» Π΄Π΅ΡΠ΅Π²ΡΠΉ ΠΏΡΠΈΠ΅ΠΌ! Π€Π°ΠΊΡΠΎΡΠΈΠ°Π» ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΡΠΎΠ½ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠΎΡΠΈΡΡ: ΠΠ°ΠΊΠΎΠ²Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎ ΡΠ΅ΡΠΈ? ΠΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎ Π±ΡΠ» Π±Ρ Π½Π΅Π»ΠΎΠ²ΠΊΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ, Π²Π΅Π΄ΡΡΠΈΠΉ ΠΊ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΌ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡΠΌ. ΠΠ°Π·Π°Π»ΠΎΡΡ, Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π²Π°ΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΠ°Π΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ. ΠΡΠΎΡΡΠ² ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΠΈΠ· ΡΠ΅ΠΎΡΠΈΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ. ΠΡΠ³Π΅Π½ΠΈΠΎ ΠΠΎΠ΄ΠΆΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΠΌΠΎΠ½Π°Π΄Ρ. ΠΡΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π²Π°ΠΆΠ½ΡΠΌ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π»ΠΎ Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ Π½ΠΎΠ²ΡΡ ΠΆΠΈΠ·Π½Ρ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΎ ΡΠΈΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ, Π½ΠΎ ΠΈ Π΄Π°Π»ΠΎ Π½ΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. Π― Π±ΡΠ΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΌΠΎΠ½Π°Π΄Π°Ρ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π½Π°Π»ΠΈΡΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΡΡΠΎΠ»Ρ Π²Π°ΠΆΠ½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΎΡΡ, Π½ΠΎ Π΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π³Π΄Π΅ ΡΠ΅Π½Π° ΡΠ±ΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ, ΠΈΠ»ΠΈ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠ°Ρ ΠΆΠΈΠ·Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ ΡΠ³ΡΠΎΠ·ΠΎΠΉ. ΠΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π΄ΡΠ°Π²ΠΎΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΡ ΠΌΡΡΠ»Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ·ΡΠΊΠ° Haskell ΠΈΠ΄ΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°ΠΌΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ.
Π§ΠΈΡΡΡΠ΅ ΠΈ ΠΡΡΠ·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π’ΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² C++ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ β ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° ΡΠΈΡΠ»Π°, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠΌΠ½ΠΎΠΆΠΈΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ΅Π±Ρ. ΠΠ½Π° Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ²Π°Π΄ΡΠ°Ρ ΡΠΈΡΠ»Π° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Ρ ΡΠ°Π·Π°ΠΌΠΈ ΠΡΠ½Ρ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° ΡΠΈΡΠ»Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°, Π²ΡΠΎΠ΄Π΅ Π²ΡΠ΄Π°ΡΠΈ Π²ΠΊΡΡΠ½ΠΎΠ³ΠΎ Π½ΠΈΡΡΡΡΠΊΠ° Π²Π°ΡΠ΅ΠΉ ΡΠΎΠ±Π°ΠΊΠ΅. Β«Π€ΡΠ½ΠΊΡΠΈΡΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠ΅ΠΉ.
Π ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΈΡΡΡΠΌΠΈ. Π ΡΠΈΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Haskell, Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΡΡΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΎΡΠΈΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠ΅Π±Ρ ΡΠΈΡΡΡΠΌ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ, ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΡΡΠ»ΡΡΡ ΠΎ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠ°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΠΎΠ·ΠΆΠ΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠ½Π°Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΡΡΠ΅ΠΊΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΅ΡΡΠ΅ΠΌ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΠΎΠ²
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΡΠΈΠΏΡ β ΡΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΡΠΌΠ° ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΡΡΠΎΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ? ΠΠ΅Ρ, ΡΡΠΎ Π½Π΅ void Π² C++, Ρ ΠΎΡΡ ΡΡΠΎΡ ΡΠΈΠΏ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Void Π² Haskell. ΠΡΠΎ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ Π½ΠΈ ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Void, Π½ΠΎ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π΅ Π²ΡΠ·Π²Π°ΡΡ. Π§ΡΠΎΠ±Ρ Π΅Π΅ Π²ΡΠ·Π²Π°ΡΡ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Void, Π° Π΅Π³ΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π΅Ρ. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ β Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ (Ρ ΠΎΡΡ ΡΡΠΎΠ³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»ΡΡΠΈΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π°). ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½Π° ΠΏΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΌΡ ΡΠΈΠΏΡ. Π₯Π°ΡΠΊΠ΅Π»Π»Π΅ΡΡ Π½Π°Π·Π²Π°Π»ΠΈ Π΅Π΅:
absurd :: Void -> a
(ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π½Π° Π‘++ ΡΠ°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ: Π² Π‘++ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.)
(ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ a β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ ΡΠΈΠΏΠΎΠΌ.) ΠΡΠΎ ΠΈΠΌΡ Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΎΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΠ°ΡΡΠΈ-ΠΠΎΠ²Π°ΡΠ΄Π°. Π’ΠΈΠΏ Void ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΏΡΠ°Π²Π΄ΠΈΠ²ΠΎΡΡΡ, Π° ΡΡΠ½ΠΊΡΠΈΡ absurd β ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΈΠ· Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ, ΠΊΠ°ΠΊ Π² Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠΉ ΡΡΠ°Π·Π΅ Β«ex falso sequitur quodlibet.Β» (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΈΠ· Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.)
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΡΠΈΠΏ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ. ΠΡΠΎ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Β«Π΅ΡΡΡΒ». ΠΡ ΠΌΠΎΠ³Π»ΠΈ ΡΡΠ°Π·Ρ Π΅Π³ΠΎ Π½Π΅ ΠΏΡΠΈΠ·Π½Π°ΡΡ, Π½ΠΎ ΡΡΠΎ void Π² C++. ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΎΡ ΠΈ Π² ΡΡΠΎΡ ΡΠΈΠΏ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ· void Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π°. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠΈΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
int f44() { return 44; }
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Β«Π½ΠΈΡΠ΅Π³ΠΎΒ», Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Β«Π½ΠΈΡΠ΅Π³ΠΎΒ» Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏ Β«Π½ΠΈΡΠ΅Π³ΠΎΒ». ΠΡΠ°ΠΊ, ΡΡΠΎ ΠΆΠ΅ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ? ΠΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ, ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²Π½ΠΎ Π΅Π³ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΠΊΠΎΠ΄Π΅. Π Haskell, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: ΠΏΡΡΡΠ°Ρ ΠΏΠ°ΡΠ° ΡΠΊΠΎΠ±ΠΎΠΊ (). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ· Π·Π° Π·Π°Π±Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ (ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ?), Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ void Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΈ Π² C++ ΠΈ Π² Haskell. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ·-Π·Π° Π»ΡΠ±Π²ΠΈ Π₯Π°ΡΠΊΠ΅Π»Ρ ΠΊ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΠΈ, ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ» () ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ Π΄Π»Ρ ΡΠΈΠΏΠ°, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ. ΠΠΎΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π² Haskell:
f44 :: () -> Integer
f44 () = 44
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ, ΡΡΠΎ f44 ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠΈΠΏ (), Π½Π°Π·Π²Π°Π½Π½ΡΠΉ Β«Π΅Π΄ΠΈΠ½ΠΈΡΠ°Β», Π² ΡΠΈΠΏ Integer. ΠΡΠΎΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ f44 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½-ΠΌΠ°ΡΡΠΈΠ½Π³Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ () Π² ΡΠΈΡΠ»ΠΎ 44. ΠΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ():
f44 ()
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° Π²ΡΠ±ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (Π·Π΄Π΅ΡΡ, Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Integer 44). ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΎ f44, ΠΊΠ°ΠΊ ΠΈΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΈΡΠ»Π° 44. ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΡΠΌΠΎΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΡ (ΡΡΡΠ΅Π»ΠΊΡ). Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡΡ Π² Π½Π΅ΠΊΠΈΠΉ ΡΠΈΠΏ Π Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²ΠΎ Π²Π·Π°ΠΈΠΌΠ½ΠΎ-ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° A.
Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ void, ΠΈΠ»ΠΈ, Π² Haskell, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ? Π C++ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², Π½ΠΎ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β Π½Π΅ Π½Π°ΡΡΠΎΡΡΠΈΠ΅, Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. Π§ΠΈΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ: ΠΎΠ½Π° ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π Π² ΠΎΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π Π΅ΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½Π° ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΡ ΠΎΠ½Π° Π΄Π»Ρ Integer:
fInt :: Integer -> ()
fInt x = ()
ΠΡ Π΄Π°Π΅ΡΠ΅ Π΅ΠΉ Π»ΡΠ±ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΈ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ. Π‘Π»Π΅Π΄ΡΡ Π΄ΡΡ Ρ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΠΈ, Haskell ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠΎΠ΄ Π²ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅:
fInt :: Integer -> ()
fInt _ = ()
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΌΡΠ»ΠΎΠΉ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΠ°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΊ Π½Π°Π·Π²Π°ΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π΅Π΄ΠΈΠ½ΠΈΡΡ? ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π΅ unit:
unit :: a -> ()
unit _ = ()
Π C++ Π²Ρ Π±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π΅Π΅ ΡΠ°ΠΊ:
template<class T>
void unit(T) {}
(ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π΄Π°Π±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅ Π² noop, Π»ΡΡΡΠ΅ ΡΠ°ΠΊ):
template<class T>
void unit(T&&) {}
ΠΠ°Π»Π΅Π΅ Π² Β«ΡΠΈΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠΈΠΏΠΎΠ²Β» Π½Π°Π±ΠΎΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π C++ ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ bool, Π° Π² Haskell, ΡΡΠΎ Π½Π΅ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Bool. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π² C++ bool ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² Haskell ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
data Bool = True | False
(Π§ΠΈΡΠ°ΡΡ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΈΡ ΡΠ°ΠΊ: Bool ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ»ΠΈ True ΠΈΠ»ΠΈ False.) Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΡΠΈΠΏ ΠΈ Π² C++:
enum bool {
true,
false
};
ΠΠΎ C++ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ C++11 Β«class enumΒ», Π½ΠΎ ΡΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΡΡΠΎΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°: bool::true ΠΈΠ»ΠΈ bool::false, Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ.
Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Bool ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΎΠ΄Π½ΠΎ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ True ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ β False.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Bool Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Data.Char Π² Haskell ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ IsAlpha ΠΈΠ»ΠΈ isDigit. Π C++ Π΅ΡΡΡ ΠΏΠΎΡ ΠΎΠΆΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° <cctype>, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΈ isalpha ΠΈ isdigit, Π½ΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ int, Π° Π½Π΅ Π±ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΡΡΠΎΡΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² <locale> ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ctype::is(alpha, c) ΠΈ ctype::is(digit, c).
Π’Π΅ΠΎΡΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²: ΠΏΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ: ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ
Π’ΠΈΠΏΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈ ΠΌΠ°Π»ΡΠ΅
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΠ»Π΅ΠΉΡΠ»ΠΈ
Π€ΡΠ½ΠΊΡΠΈΡ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅) ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
Π£ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΌ. ΡΡΠ½ΠΊΡΠΈΡ.
Π€ΡΜΠ½ΠΊΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Β β ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ[en], Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΈ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΡΠ°Π·ΡΡΠ²Π½ΠΎ ΡΠ²ΡΠ·Π°Π½ Π°Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°), Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π² ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π°Π΄ΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Β β ΡΠΎΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π³Π΄Π΅ Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π°.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΡΠΎΠ΅. Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°.
Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΡΠ½ ΠΈ ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΠΈΠ»ΠΈ: Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²), Π° ΡΠ°ΠΊΠΆΠ΅, ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΎΠ΄Π½ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² ΡΡΠ΄Π΅ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π° ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
Π ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ Π² ΡΠ·ΡΠΊΠ°Ρ Ρ ΠΠΠ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ(Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ) ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π° ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅: Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΠΈ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Ρ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ (Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ) ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΊΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ΅Π»Π΅ ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ: ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΌ, Π° ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ΅ΠΉ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ (Π² ΡΡΠ΅ΠΊΠ΅) Π°Π΄ΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ (Π°, ΡΠ°ΠΊΠΆΠ΅, Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΡΠ΅ΠΊΠ΅ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ), ΡΠΎ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ[ | ]
JavaScript[
ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ. Π§Π°ΡΡΡ I β Β«Π₯Π°ΠΊΠ΅ΡΒ»
ΠΠ½Π΅ Π²ΡΠ΅Π³Π΄Π° Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π°, ΠΈ Ρ ΠΎΡΠ΅Π½Ρ ΡΠ°Π΄, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ. ΠΠ°ΠΆΠ΅ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΠΎΡ ΡΠ΅ΡΠΈΡ ΠΏΡΠΎ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ Π΅ΡΠ΅ Π΄Π°Π»Π΅ΠΊΠ° ΠΎΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ :). ΠΠ΅ Π±ΡΠ΄Ρ Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΠΈΠΈ, ΡΠΊΠ°ΠΆΡ Π»ΠΈΡΡ, ΡΡΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π― Π½Π°ΡΠ°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΅ΡΠ΅ Π² Π΄Π΅ΡΡΡΠ²Π΅, ΠΈ Π³ΠΎΠ΄Π°ΠΌ ΠΊ Π΄Π²Π°Π΄ΡΠ°ΡΠΈ ΠΏΡΡΠΈ ΠΌΠ½Π΅ ΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Ρ Π²ΡΠ΅ Π·Π½Π°Ρ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π»ΠΎ ΡΠ°ΡΡΡΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΌΠΎΠ·Π³Π°, Π²ΡΠ΅ ΠΌΡΡΠ»ΠΈΠΌΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π½Ρ. ΠΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΡΡΠ΅Π½ΠΈΠ΅, Π±ΡΠ΄ΡΠΎ Ρ ΡΡΠΎ-ΡΠΎ ΡΠΏΡΡΡΠΈΠ», ΡΡΠΎ-ΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΎΠ½ΠΊΠΎΠ΅ ΠΈ Π½Π΅ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π² Π΄Π΅Π²ΡΠ½ΠΎΡΡΡΠ΅ Π³ΠΎΠ΄Ρ, Π² ΡΠΊΠΎΠ»Π΅ ΠΌΠ΅Π½Ρ ΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Pascal (ΠΎ Π΄Π°, ΡΠ»Π°Π²Π° Turbo Pascal 5.5! β ΠΡΠΈΠΌ. ΡΠ΅Π΄.), ΠΏΠΎΡΠΎΠΌ Π±ΡΠ» C ΠΈ C++. Π ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅ Fortran ΠΈ ΠΏΠΎΡΠΎΠΌ Java, ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π° ΡΠ°Π±ΠΎΡΠ΅. Π― Π·Π½Π°Π» Python ΠΈ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊΠΎΠ², Π½ΠΎ Π²ΡΠ΅ ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ ΡΠΎ. Π ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Computer Science Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ»ΠΎ. ΠΠ΄Π½Π°ΠΆΠ΄Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π»Π΅ΡΠ° ΡΠ΅ΡΠ΅Π· ΠΡΠ»Π°Π½ΡΠΈΠΊΡ Ρ Π½Π΅ ΠΌΠΎΠ³ Π·Π°ΡΠ½ΡΡΡ, ΠΈ ΠΌΠ½Π΅ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ. ΠΠ°ΠΊΠΈΠΌ-ΡΠΎ Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΠΊΠ½ΠΈΠ³Π° ΠΏΡΠΎ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Haskell. ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ³Π΄Π° Ρ ΠΏΠΎΠ½ΡΠ» ΠΈΡΡΠΈΠ½Π½ΡΠΉ ΡΠΌΡΡΠ» Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«ΠΊΡΠ°ΡΠΎΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΠΆΠ΅ΡΡΠ²Β».
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Ρ Π²ΡΡΡΠΈΠ» Haskell, Ρ ΡΠ°ΠΊ ΠΈ Π³ΠΎΠ²ΠΎΡΡ: Π² ΡΠ°ΠΌΠΎΠ»Π΅ΡΠ΅. ΠΡΠΎΡ ΡΠΏΠΈΠ·ΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠΎΠ±ΡΠ΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ ΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΌΠ½Π΅ Π½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ. ΠΡΠΈΡΠ»ΠΎΡΡ Π½Π°ΠΏΡΡΡΡΡΡ ΠΈ ΠΈΠ·ΡΡΠΈΡΡ Π²ΠΎΠΏΡΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ. Π Π·Π½Π°Π΅ΡΡ, ΠΏΡΠΎΡΠ»ΠΎ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π»ΠΈ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ², Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΆΠ΅ Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ Π² Java, Π²ΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ² β Π² Π‘++, ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ β Π² Scala. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΎΡΡΠ². Π Π² ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΡΡΠ°ΡΠ΅ΠΉ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΡΠ΅Π±Π΅ ΠΏΡΠΎ ΠΏΡΠΈΠ΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΈ ΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ.
ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡΠΈΠΊΠΈ ΡΠ°ΡΡΠΎ Π½Π° ΠΏΠΎΡΠ΅Ρ Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡΠΊΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΠΈ ΡΠΎΠΏΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Β«ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ½ΠΈΠ³, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠ΅Π±Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ ΡΡΠΈΠ΄ΡΠ°ΡΡΒ». ΠΡΠ»ΠΈ Π±Ρ ΠΏΠ΅ΡΠ΅Π΄ΠΎ ΠΌΠ½ΠΎΠΉ ΡΡΠΎΡΠ»Π° Π·Π°Π΄Π°ΡΠ° ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠ΅Π±Π΅ ΡΠΊΠΎΠ»ΡΠΊΠΎ-ΡΠΎ ΡΠ°ΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ, ΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, Π΄ΠΎΡΡΠ°Π»ΠΎΡΡ Π±Ρ ΠΊΠ½ΠΈΠ³Π΅ ΠΠ±Π΅Π»ΡΡΠΎΠ½Π° ΠΈ Π‘Π°ΡΡΠΌΠ°Π½Π° Β«Π‘ΡΡΡΠΊΡΡΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒ». ΠΠ½Π΅ Π΄Π°ΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, ΠΊΡΠΎ Π½Π΅ ΡΠΈΡΠ°Π» ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ.
ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΠΈ Π΅ΡΡΡ ΡΠ·ΡΠΊ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Lisp. ΠΠΎΠΎΠ±ΡΠ΅, ΡΡΠΎ ΡΠ΅Π»ΠΎΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠΎΠ², ΠΊΡΠ΄Π° Π²Ρ ΠΎΠ΄ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ·ΡΠΊ Π΄Π»Ρ JVM ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Clojure. ΠΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΎΠ½ Π½Π΅ ΠΎΡΠΎΠ±ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·ΡΠΊ Scheme, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π² MIT ΠΈ Π΄ΠΎ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ Π΄Π²ΡΡ ΡΡΡΡΡΠ½ΡΡ Π³ΠΎΠ΄ΠΎΠ² ΡΠ»ΡΠΆΠΈΠ» ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π₯ΠΎΡΡ ΡΠ΅ΠΉΡΠ°Ρ Π²Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΡΡΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ ΠΊΠ½ΠΈΠ³Π°, Π±ΡΠ» Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΊΡΡΡ ΠΏΠΎ Python, ΠΎΠ½Π° Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ»Π° ΡΠ²ΠΎΠ΅ΠΉ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ±Π»ΠΎΠΆΠΊΠ° Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Β«Π‘ΡΡΡΠΊΡΡΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒ»
ΠΠΎΡΡΠ°ΡΠ°ΡΡΡ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠ·ΡΠΊΠ΅ Scheme ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΠ± ΠΈΠ΄Π΅Π΅, ΡΡΠΎΡΡΠ΅ΠΉ Π·Π° ΡΠ·ΡΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ Lisp ΠΎΡΠ΅Π½Ρ ΡΡΠ°ΡΡΠΉ (ΠΈΠ· Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ² Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΡΠ°ΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Fortran), ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Π΅ΠΌ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠ°Π»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ. ΠΠ°Π»Π΅Π΅ Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Lisp, ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ β Scheme.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π² ΡΠ·ΡΠΊΠ΅ Lisp, Ρ
ΠΌ, ΡΠ»Π΅Π³ΠΊΠ° ΡΠΏΠΎΡΠ½ΡΠΉ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ΄Π΅Ρ, Π»Π΅ΠΆΠ°ΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΡΠΎΡΡΠ° ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ
S-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠ΅ ΡΠ΅Π±Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ 2 + 3 Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ (+ 2 3)
. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π΄Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΡΠ°ΡΠΈ, (+ 2 10 (* 3.14 2))
ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ :). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠΏΠΈΡΠΊΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠ½Π°Ρ Π½ΠΎΡΠ°ΡΠΈΡ. Π ΡΠ»ΡΡΠ°Π΅ ΡΠ·ΡΠΊΠ° Lisp ΡΠ°ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ β Β«Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΎ ΡΠ΅ΠΌ ΡΒ» π β ΠΏΠΎ ΡΡΡΠΈ, Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. Π’Π°ΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Lisp ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ.
Π Π°Π· ΡΠΆ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
Π’ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½Π° ΡΠΎΠ½ΠΊΠΎΡΡΡ, Π·Π½Π°ΡΠΈΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½Π΅Π½Π°. ΠΡΠΆΠ½ΠΎ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠ°ΠΊ ΠΌΡ Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΡΠΎ Π΅ΡΡΡ Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΠΌΡΡΠ»Π΅, ΡΠΊΠΎΡΠ΅Π΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅, Π·Π½Π°Π½ΠΈΠ΅, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π΅ Π½Π° Π²ΠΎΠΏΡΠΎΡ Β«ΠΊΠ°ΠΊ?Β». ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΠ±Π΅Π»ΡΡΠΎΠ½ ΠΈ Π‘Π°ΡΡΠΌΠ°Π½ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ. Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΈΠ½ΡΡΠΎ. ΠΠΎ Ρ Π²ΡΠ΅ ΠΆΠ΅ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΡΡΠΈ Π΄Π²Π° ΡΠΌΡΡΠ»Π° ΡΠ»ΠΎΠ²Π° Β«ΡΡΠ½ΠΊΡΠΈΡΒ» Ρ ΠΎΡΡ Π±Ρ Ρ ΡΠ΅Π±Ρ Π² Π³ΠΎΠ»ΠΎΠ²Π΅.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ β ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄. ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π½Π΅ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ:
(define (sq-roots a b c)
(let ((D (- (* b b) (* 4 a c))))
(if (< D 0)
(list)
(let ((sqrtD (sqrt D)))
(let ((x1 (/ (- (- b) sqrtD) (* 2.0 a)))
(x2 (/ (+ (- b) sqrtD) (* 2.0 a))))
(list x1 x2))))))
ΠΠ°, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ ΡΡ ΠΏΠΎΠ΄ΡΠΌΠ°Π», β ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π½Π° Scheme. ΠΠΎ ΡΡΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π³Π»ΡΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠ΄Π΅ΡΡ sq-roots
β ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ ΡΡΠ΅Ρ
ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ let
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΊΠΎΠ±ΠΎΠΊ. ΠΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, ΠΏΡΠΎΡΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΠ΄Π΅ΡΡ (list)
β ΡΡΠΎ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΡΠ½Π΅ΠΉ Π½Π΅Ρ, Π° (list x1 x2)
β ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· Π΄Π²ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
. Π Π½Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ sq-roots
ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ if
. ΠΠΎΡ Π·Π΄Π΅ΡΡ-ΡΠΎ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ
ΡΠ·ΡΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ C, Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
if
β ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π° Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΠ° else. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅Π»ΡΠ·Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π½Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ² ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ°Ρ
Π°ΡΠ΅. Π ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°Ρ
Π°ΡΠΎΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ, Π° Π»ΠΈΡΡ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· ΡΠ·ΡΠΊΠ° C. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΠ°, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΈ a[i]
Π΄Π»Ρ ΡΠ·ΡΠΊΠ° C β ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ *(a + i)
. ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΉ, Ρ Π½ΠΈΠΌ ΡΠ²ΡΠ·Π°Π½ Π·Π°Π±Π°Π²Π½ΡΠΉ ΡΡΡΠ΅ΠΊΡ: ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ *(i + a)
, Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Ρ
Π°ΡΠ° ΠΈΠ· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ i[a]
! ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Ρ
Π°ΡΠ° Π² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ desugaring.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΡΠ·ΡΠΊΡ Scheme, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π²Π°ΠΆΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Ρ
Π°ΡΠ°. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ (Π² Lisp ΠΈ Scheme ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠΎΠΉ) define
. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, (define pi 3.14159)
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pi
. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
(define square (lambda (x) (* x x)))
ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ
(define (square x) (* x x))
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΡΠΊΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΠΎΠΉ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, Π° Π²ΡΠΎΡΠΎΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½. ΠΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΠΆΠ½Π΅Π΅? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° let
Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅:
(let ((x 5) (y 2)) (* x y))
(apply (lambda (x y) (* x y)) (list 5 2))
ΠΠ΄Π΅ΡΡ ΠΎΠ±Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΌΠΈ, Π° apply
ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΡΠΏΠΈΡΠΊΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π±ΡΠ²Π°ΡΡ ΡΠΈΡΡΡΠΌΠΈ ΠΈ Π½Π΅ΡΠΈΡΡΡΠΌΠΈ. Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΈ, ΠΊ Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Haskell ΠΈ Clean. Π ΡΠΈΡΡΡΡ ΡΠ·ΡΠΊΠ°Ρ Π½Π΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ². ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ. ΠΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΠ΄ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ, Ρ ΠΎΡΡ Π² ΡΠΆΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΡΠ·ΡΠΊΠ°Ρ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΈΡΡΠΎΡΠΌΠ½ΠΎ, ΠΈ Π½Π° ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΠΈΡΡΡ ΠΊΠΎΠ΄ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°. Π―Π·ΡΠΊΠΈ ΡΠΈΠΏΠ° Lisp, OCaml ΠΈΠ»ΠΈ Scala Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΈ Π² ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π·Π°ΡΠ°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ½Ρ.
ΠΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° β ΠΈΠ·ΡΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Scheme. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π», Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ set!
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΠ±ΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ SICP. Π‘Π΅ΠΉΡΠ°Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π΄Π»Ρ Π½Π°Ρ.
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΡΠΌΡΡΠ°Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, β ΡΡΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠ². Π ΠΊΠ°ΠΊ ΠΆΠ΅ Π±ΡΡΡ? ΠΠ½ΠΎΠ³ΠΈΡ ΠΈΠ· Π½Π°Ρ ΡΡΠ°Ρ, ΡΡΠΎ ΡΠ΅ΠΊΡΡΡΠΈΡ β ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ. ΠΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ΅ΠΊΡΡΡΠΈΡ Π² ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠ΅ΠΌ, ΡΠΎ Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ ΡΠ΅Π±Ρ, ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡ. Π ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ Π²ΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΈΠ½ΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΡΡ, ΡΠ΅ΠΊΡΡΡΠΈΠΈ Ρ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠΎΠΌ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΡΡΠΊΠ°ΠΉ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ β succ
ΠΈ prev
. ΠΠ΅ΡΠ²Π°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ, Π½Π° 1 Π±ΠΎΠ»ΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° Π²ΡΠΎΡΠ°Ρ β Π½Π° 1 ΠΌΠ΅Π½ΡΡΠ΅Π΅. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
(define (add x y)
(if (eq? y 0) x (add (succ x) (prev y))))
(define (add-1 x y)
(if (eq? y 0) x (succ (add-1 x (prev y)))))
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈ Π²ΡΠΎΡΡΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ? ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΎΡΠΎΠ± Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ ΠΏΠΎ ΡΠ°Π³Π°ΠΌ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
(add 3 4) =>
(add 4 3) =>
(add 5 2) =>
(add 6 1) =>
(add 7 0) =>
7
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
(add-1 3 4) =>
(succ (add-1 3 3)) =>
(succ (succ (add-1 3 2))) =>
(succ (succ (succ (add-1 3 1)))) =>
(succ (succ (succ (succ (add-1 3 0))))) =>
(succ (succ (succ (succ 3)))) =>
(succ (succ (succ 4))) =>
(succ (succ 5)) =>
(succ 6) =>
7
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΠΈ Π² ΡΠΎΠΌ ΠΈ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ², ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ°ΡΡΠ΅Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΌ, Π° Π²ΡΠΎΡΠΎΠΉ β ΡΠ΅ΠΊΡΡΡΠΈΠ²ΡΠΌ. Π’Π°ΠΊ, Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Π²ΠΎΡΡΠΎΠ²ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°.
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΡΡΠ΄Ρ Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ΅ΠΉ, β ΡΠΏΠΈΡΠΊΠΈ. ΠΠ½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ
. ΠΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
, ΡΠΏΠΈΡΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΠΌΠΈ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π³ΠΎΠ»ΠΎΠ²Π° β Ρ
Π²ΠΎΡΡ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ cons
, Π° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΈ Ρ
Π²ΠΎΡΡΡ ΡΠΏΠΈΡΠΊΠ° β ΡΡΠ½ΠΊΡΠΈΠΈ car
ΠΈ cdr
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π’Π°ΠΊ, ΡΠΏΠΈΡΠΎΠΊ (list 1 2 3)
β ΡΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ (cons 1 (cons 2 (cons 3 '())))
. ΠΠ΄Π΅ΡΡ '()
β ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
(define (sum lst)
(if (null? lst)
0
(+ (car lst) (sum (cdr lst)))))
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΡΠΎ ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°. Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΏΠΈΡΠΊΠΎΠ², Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΠΎΡΠ΅ΠΌΡ. Π ΡΠ΅ΠΉΡΠ°Ρ Π»ΠΈΡΡ Π·Π°ΠΌΠ΅ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° 1, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π΄Π»ΠΈΠ½Ρ ΡΠΏΠΈΡΠΊΠ°.
Π Π°Π· ΡΠΆ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ Π±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
(define (map f lst)
(if (null? lst)
lst
(cons (f (car lst)) (map f (cdr lst)))))
Π€ΡΠ½ΠΊΡΠΈΡ map
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ f
ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°. ΠΠ°ΠΊ Π±Ρ ΡΡΠΎ ΡΡΡΠ°Π½Π½ΠΎ Π½ΠΈ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΎ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΡΠΏΠΈΡΠΊΠ° length
ΡΠ΅ΡΠ΅Π· sum
ΠΈ map
:
(define (length lst)
(sum (map (lambda (x) 1) lst)))
ΠΡΠ»ΠΈ ΡΡ Π²Π΄ΡΡΠ³ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅ΡΠΈΠ», ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΠΎ, ΡΠΎ Π΄Π°Π²Π°ΠΉ ΠΏΠΎΠ΄ΡΠΌΠ°Π΅ΠΌ Π²ΠΎΡ Π½Π°Π΄ ΡΠ΅ΠΌ: ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²?
Π’ΠΎ Π΅ΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ cons
, car
ΠΈ cdr
ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ: Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° lst
Π²Π΅ΡΠ½ΠΎ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (cons (car lst) (cdr lst))
ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ lst
. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
(define (cons x xs)
(lambda (pick)
(if (eq? pick 1) x xs)))
(define (car f) (f 1))
(define (cdr f) (f 2))
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ? ΠΠ΄Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ cons
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ, Π»ΠΈΠ±ΠΎ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΠ΅Π³ΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ΄Π½Π° ΠΏΡΠΈΡΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ·ΡΠΊΠ° Lisp Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠΎΠ², Π° ΡΠΏΠΈΡΠΎΠΊ β ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π² ΡΠ·ΡΠΊΠ΅. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡΡΠΎ Β«Π·Π°ΠΊΠ°Π²ΡΡΠΈΡΡΒ» ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠΎΠΌΠΎΠ².
ΠΡΠΎΠΌΡ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ('hello 'world)
, ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ '(hello world)
, ΠΈΠ»ΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ (quote (hello world))
. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠΎΠ² Lisp Π΅ΡΡΡ ΡΡΡΠΎΠΊΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΡΡΡΡ quote
. Π§ΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Ρ ΡΠΎΡΠΌΡΠ»Π°ΠΌΠΈ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠΌΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ (ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ»ΡΠΆΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ Maple ΠΈ Mathematica).
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ΅ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π― Π΄ΡΠΌΠ°Ρ, ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π±Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ, ΠΊΡΠΎ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠΊΠΎΠ»Ρ (Ρ ΠΎΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΡΠ΅ ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ β Π·Π΄Π΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠ°ΡΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ, ΠΏΡΠΎΡΡΠΎ ΡΡΠΈΡΠ°Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ, Π½ΠΎ ΡΡΠΎ Π½ΠΈΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΡΡΡΡ Π΄Π΅Π»Π°).
Π’Π°ΠΊ ΡΡΠΎ Ρ Π»ΠΈΡΡ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π» ΡΡΡΡ Π΄Π΅Π»Π°, Π΄Π΅ΡΠ°Π»ΠΈ ΠΎΡΡΠ°Π²Π»Ρ ΡΠΈΡΠ°ΡΠ΅Π»Ρ (ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠ°ΠΊ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡ ΠΊΠ½ΠΈΠ³Ρ Β«Π‘ΡΡΡΠΊΡΡΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒ»).
(define (deriv exp var)
(cond ((number? exp) 0)
((variable? exp)
(if (same-variable? exp var) 1 0))
((sum? exp)
(make-sum (deriv (addend exp) var)
(deriv (augend exp) var)))
((product? exp)
(make-sum
(make-product (multiplier exp)
(deriv (multiplicand exp) var))
(make-product (deriv (multiplier exp) var)
(multiplicand exp))))
(else
(error "unknown expression type - DERIV" exp))))
ΠΠ΄Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ deriv
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΏΡΠΎΡ
ΠΎΠ΄ΡΡ Π² ΡΠΊΠΎΠ»Π΅. ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ number?
, variable?
ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΡΡ ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ make-product
ΠΈ make-sum
. ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠΊΠ° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ Π½Π°ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ cond
β ΡΡΠΎ Π°Π½Π°Π»ΠΎΠ³ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch
Π² ΡΠ°ΠΊΠΈΡ
ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ C ΠΈ Java.
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ top-down ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΈΡΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
(define (variable? x) (symbol? x))
(define (same-variable? v1 v2)
(and (variable? v1) (variable? v2) (eq? v1 v2)))
(define (make-sum a1 a2) (list '+ a1 a2))
(define (make-product m1 m2) (list '* m1 m2))
(define (sum? x)
(and (pair? x) (eq? (car x) '+)))
(define (addend s) (cadr s))
(define (augend s) (caddr s))
(define (product? x)
(and (pair? x) (eq? (car x) '*)))
(define (multiplier p) (cadr p))
(define (multiplicand p) (caddr p))
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΉ cadr
ΠΈ caddr
. ΠΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Scheme, ΡΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π½ΠΎ Π±Π΅Π· ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
(deriv '(+ x 3) 'x) =>
(+ 1 0)
(deriv '(* (* x y) (+ x 3)) 'x) =>
(+ (* (* x y) (+ 1 0))
(* (+ (* x 0) (* 1 y)) (+ x 3)))
ΠΠ»Ρ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° 0) Π·Π°Π΄Π°ΡΠ° ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ°Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ. ΠΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Π·ΡΡΡ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ SICP, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ (ΠΊΠ½ΠΈΠ³Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅).
ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ, Lisp ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ². Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ°Π·Π±ΠΎΡΠ° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠ°Π²Π°ΠΉ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Ρ Π°Ρ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅:
(define (desugar-define def)
(let ((fn-args (cadr def))
(body (caddr def)))
(let ((name (car fn-args))
(args (cdr fn-args)))
(list 'define name (list 'lambda args body)))))
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ:
(desugar-define '(define (succ x) (+ x 1))) =>
(define succ (lambda (x) (+ x 1)))
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ (define x 5)
.
ΠΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Ρ
Π°Ρ Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ:
(define (sugared? def)
(and (eq? (car def) 'define)
(list? (cadr def))))
Π’Π°ΠΊΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ ΠΏΡΡΠΌΠΎ Π² ΡΡΠ½ΠΊΡΠΈΡ desugar-define
, ΡΠ΄Π΅Π»Π°Π² ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Ρ
Π°ΡΠ°, ΠΎΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π±Ρ Π½Π΅ ΠΌΠ΅Π½ΡΠ»ΠΎΡΡ (Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ). ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠ½ΡΡΡ Π²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ map
:
(map desugar-define prog)
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π½Π΅ ΡΡΠ°Π²ΠΈΠ» ΡΠ΅Π±Π΅ Π·Π°Π΄Π°ΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎ Scheme ΡΠΊΠΎΠ»Ρ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ. ΠΠ½Π΅ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠ° ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΡΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΡ ΡΡΠ΄Π΅ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΈ Π²ΡΠ΅ΠΉ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅ ΠΎΡΠ°ΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΌ ΠΎΡΠ΅Π½Ρ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ Scheme, ΡΠΎ ΡΠΈΠ»ΡΠ½ΡΠ΅ Π΄ΡΡ ΠΎΠΌ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΌΠ°Ρ Π½ΡΡΡΡΡ Π½Π° MIT-Scheme, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ β ΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠ΅Π±Π½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ Dr. Racket. Π ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Scheme.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅? Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ
- Home
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠ°Π·Π°Π΄
- Agile Testing
- BugZilla
- Cucumber
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
- 000 JTL
- 000
- 000 JR
- 000 9274000
000
000 JM
- LoadRunner
- Π ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- Mantis
- ΠΠΎΡΡΠ°Π»ΡΠΎΠ½
- QTP
- ΠΠ°Π·Π°Π΄
- Π¦Π΅Π½ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° (ALM)
- RPA
- SAP Testing
- 000
- RPA
- 0003 SAP Testing Management
So0004 TestLink
SAP
- ΠΠ°Π·Π°Π΄
- ABAP
- APO 9 0004
- ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠΉ
- Basis
- BODS
- BI
- BPC
- CO
- ΠΠ°Π·Π°Π΄
- CRM
- Crystal Reports
- FICO
- 000
MM
MM
MM
- ΠΠ°Π·Π°Π΄
- PI / PO
- PP
- SD
- SAPUI5
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
- Successfactors
- SAP Tutorials
ΠΠ°Π·Π°Π΄
Web
- Web
ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ AngularJS
- ΠΠ°Π·Π°Π΄
- Java
- JSP
- Kotlin
- Linux
- Linux
- Kotlin
- Linux
- Perl
js
- ΠΠ°Π·Π°Π΄
- PHP
- PL / SQL
- PostgreSQL
- Python
- ReactJS
- Ruby & Rails
- Scala
- SQL
- SQL
- UML
- VB.Net
- VBScript
- ΠΠ΅Π±-ΡΠ»ΡΠΆΠ±Ρ
- WPF
000
000
0003 SQL
000
0003 SQL
000
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈΡΠ΅!
- ΠΠ°Π·Π°Π΄
- ΠΡΡ Π³Π°Π»ΡΠ΅ΡΡΠΊΠΈΠΉ ΡΡΠ΅Ρ
- ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ
- Android
- ΠΠ»ΠΎΠΊΡΠ΅ΠΉΠ½
- Business Analyst
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°
- CCNA
- ΠΠ±Π»Π°ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ
- 00030003 COBOL 9000 Compiler
- 9000 ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- 00030002 9000 Compiler 9000
- Ethical Hacking
- Π£ΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ Excel
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go
- IoT
- ITIL
- Jenkins
- MIS
- Π‘Π΅ΡΡ
- ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠ°Π·Π°Π΄
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΠ±Π·ΠΎΡΡ
- Salesforce
- SEO
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
- VB A
Big Data
- ΠΠ°Π·Π°Π΄
- AWS
- BigData
- Cassandra
- Cognos
- Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ
- HBOps
- HBOps
- MicroStrategy
0003
0003
0003
.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ — ΡΡΠΎ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΡΠ°ΡΡΡΡ ΡΠ²ΡΠ·Π°ΡΡ Π²ΡΠ΅ ΠΈ Π²ΡΡ Π² ΡΠΈΡΡΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ . ΠΡΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠΏ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΠ°ΡΡ, Π° Π½Π΅ Π½Π° ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ°ΡΡ (Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠΉ Π½Π° ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ).
Clojure, Common Lisp, Erlang, Haskell ΠΈ Scala — ΠΎΠ΄Π½ΠΈ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.ΠΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π»ΡΠΌΠ±Π΄Π°-ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π½ΠΈΠΆΠ΅:
ΠΡΠΌΠ±Π΄Π°-ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
ΠΠΌΠ΅ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΡΠ΅Π½ΠΊΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΌΠ±Π΄Π°-ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΠ»ΠΎΠ½Π·ΠΎ Π§Π΅ΡΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Lambda Calculus ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.ΠΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π²ΡΡΠΈΡΠ»ΠΈΠΌΠΎ. Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΡΠ°ΠΌΡΠΌ Π΅ΠΌΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Π²ΡΠ΅Ρ .
ΠΠΎ ΡΠ²ΠΎΠΈΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ Π»ΡΠΌΠ±Π΄Π°-ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΌΠ°ΡΠΈΠ½Ρ Π’ΡΡΡΠΈΠ½Π³Π°, Π·Π°Π»ΠΎΠΆΠΈΠ²ΡΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π»ΡΠΌΠ±Π΄Π°-ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠ½ΠΎΠ²Ρ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΡ ΠΎΡΠ΅Π½ΠΊΡ.
ΠΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ
ΠΡΡΡ 5 ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ.
Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π΄Π²Π° Π²Π°ΠΆΠ½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
- ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π±Π΅Π· ΡΡΠ΅ΡΠ° Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ². ΠΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡΡ
- ΠΠ΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Ρ. Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π»ΠΈΠ±ΠΎ Π²ΡΠ΄Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π»ΡΠ±ΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Ρ.Π΅. Ρ Π½ΠΈΡ Π½Π΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ²
.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΊΡΡΡΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ, Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ.ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠΎΡΠ°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ:
- ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ
- Π Π°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
- ΠΠΎΠΆΠ΄ΠΈΡΠ΅ΡΡ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
Π Π΅ΠΊΡΡΡΠΈΡ
Π ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅Ρ ΡΠΈΠΊΠ»ΠΎΠ² for ΠΈ while. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΡΠ΅ΠΊΡΡΡΠΈΡ Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.Π Π΅ΠΊΡΡΡΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ΅Π±Ρ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ.
Π‘ΡΡΠ»ΠΎΡΠ½Π°Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΎΡΠ½Π°Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ.ΠΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π‘ΡΡΠ»ΠΎΡΠ½Π°Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π΄Π°ΠΆΠ΅ ΠΌΠ°Π»Π΅ΠΉΡΠΈΠ΅ ΡΠ°Π½ΡΡ Π»ΡΠ±ΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π»ΡΠ±ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π΅Π΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°
Π€ΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠΈΠ»Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΊΠ»Π°ΡΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Ρ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π² ΡΡΡΡΠΊΡΡΡΠ°Ρ Π΄Π°Π½Π½ΡΡ .
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ / ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π² ΡΠ·ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ, Ρ. Π. ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.Π₯ΠΎΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ.
ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π² ΡΠΎΡΠΌΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°
- ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²Π²ΠΎΠ΄Π°, ΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡΡ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΈΠΌΠΈ.ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ΄Π°ΡΡΡΡ ΠΈΡ ΡΠΈΠ³Π½Π°ΡΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠ·-Π·Π° ΠΏΡΠΈΡΠΎΠ΄Ρ ΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄Π°Π½Π½ΡΡ Π·Π° Π΅Π΅ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ
- ΠΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π»Π΅Π½ΠΈΠ²ΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
- Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ Π²ΡΠ΄Π°ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ ΡΠΊΡΡΡΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
- ΠΡΠΎΡ ΡΡΠΈΠ»Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠΎ ΡΠ»ΡΡΡΠ°Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π°.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
- ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ΅ΠΉ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
- Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π·Π°ΠΏΠΈΡΡ ΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΡ ΡΠ΄ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°
- Π₯ΠΎΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π»Π΅Π³ΠΊΠΎ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΡ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΡΠ»ΠΎΠΆΠ½ΠΎ.
- ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π§Π°ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅Π»ΡΡ , Π° Π½Π΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Clojure, Erlang, F #, Haskell ΠΈ Racket, ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΈ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
WhatsApp ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Erlang, ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 100 ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 1,5 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π°ΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ.
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΠΆΠ½ΡΠΉ Π·Π½Π°ΠΌΠ΅Π½ΠΎΡΠ΅Ρ ΡΡΠΈΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ — Haskell.ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Facebook Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠΏΠ°ΠΌΠ°. ΠΠ°ΠΆΠ΅ JavaScript, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΠΆΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅Π»ΠΈ Π² ΡΠ°Π·Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, R Π² ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ ΠΈ J, K ΠΈ Q Π² ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠΉ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Lex / Yacc ΠΈ SQL, Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠ° ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²:
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ
Π‘Π²ΠΎΠ΄ΠΊΠ°
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΈΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅.
Π
C ++ 11, C # 3.0 ΠΈ Java 8 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΡΡΠΈΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Scala.
Π₯ΠΎΡΡ Scala ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΌ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΡΡΠΈΠ»ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ΅ ΡΠΈΡΠ°ΡΡ:
.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° F #
- 8 ΠΌΠΈΠ½ΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ — ΡΡΠΎ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΏΠΎΡ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . Π’ΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ — ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ F #.Π ΡΠ΅Π»ΠΎΠΌ, Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ:
- Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅
- ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ
- ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
- ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π°ΠΆΠ½Π΅Π΅ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ
Π ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΡΡΠ°ΡΠ΅ΠΉ Π²Ρ ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ F #. ΠΠΎΠΏΡΡΠ½ΠΎ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΠΈΡΠ΅ΡΡ F #.
Π’Π΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΡΡΠΈΡΡ.ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ:
- Π€ΡΠ½ΠΊΡΠΈΡ — ΡΡΠ½ΠΊΡΠΈΡ — ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π°. ΠΠΎΠ»Π΅Π΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ Π½Π°Π±ΠΎΡ. ΠΡΠΎΡ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΌ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π²ΠΎΠΏΠ»ΠΎΡΠ°Π΅ΡΡΡ Π² ΠΆΠΈΠ·Π½Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΡΠ°ΠΌΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ (ΠΈ Π²Π°ΠΆΠ½Π°Ρ) ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ — ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ — ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.Π F # ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ΠΎ ΠΈΠ»ΠΈ ΡΠ²Π½ΠΎ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΎ. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ.
- Π§ΠΈΡΡΠΎΡΠ° — Π§ΠΈΡΡΠΎΡΠ° — ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ Π΅Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΡΠΎ Π΅Π΅ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ². Π§ΠΈΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ²ΠΎΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
- Π‘ΡΡΠ»ΠΎΡΠ½Π°Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ — Π‘ΡΡΠ»ΠΎΡΠ½Π°Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ — ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ, Π½Π΅ Π²Π»ΠΈΡΡ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
- ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ — ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ΠΌΠ΅ΡΡΠ΅. ΠΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠΈΡΡΠ΅Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅.
ΠΡΠΈΠΌΠ΅ΡΡ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ
Π‘Π°ΠΌΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΈ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΡ ΠΏΡΠΎΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ 1 ΠΊ ΡΠ΅Π»ΠΎΠΌΡ ΡΠΈΡΠ»Ρ:
ΠΏΡΡΡΡ addOne x = x + 1
ΠΠ³ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΡΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
val addOne: x: int -> int
ΠΠΎΠ΄ΠΏΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°Π½Π° ΡΠ°ΠΊ: Β« addOne
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ int
Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ x
ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ int
Β».ΠΠΎΠ»Π΅Π΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, addOne
— ΡΡΠΎ , ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» Π² Π½Π°Π±ΠΎΡ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π». ΠΠ°ΡΠΊΠ΅Ρ ->
ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π F # Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠΈΠ³Π½Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ.
ΠΡΠ°ΠΊ, ΠΏΠΎΡΠ΅ΠΌΡ Π²Π°ΠΆΠ½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΡ? Π ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΡΡΠΎ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Π°, ΡΠ΅ΠΌ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠ³Π½Π°ΡΡΡΠ° ΡΠΈΠΏΠ°! Π’ΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ addOne
Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 ΠΊ ΡΠ΅Π»ΠΎΠΌΡ ΡΠΈΡΠ»Ρ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int
, Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ.ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ (Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°ΡΡΡΡ Π΅Π΅ ΡΠΈΠΏΠ°), Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π»ΡΠ±ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ addOne
. ΠΡΠΎ ΡΠΎΠ»ΡΠΎΠΊ ΠΊ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ — ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ addOne
. Π’Π΅Π»ΠΎ addOne
— ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
// 'x + 1' - ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅!
ΠΏΡΡΡΡ addOne x = x + 1
ΠΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ addOne
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΎΠΊΠ°
:
ΠΏΡΡΡΡ addOne x = x.ToString () + "1"
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
val addOne: x: 'a -> ΡΡΡΠΎΠΊΠ°
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² F # ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ToString ()
, ΡΠΈΠΏ x
Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅), Π° ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠΈΠΏ — ΡΡΠΎ ΡΡΡΠΎΠΊΠ°
.
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ — ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΉ. Π£ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΠ±ΡΡΠ½ΡΠΉ — , Π΅ΡΠ»ΠΈ
:
// ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π΅ΡΠ΅ΡΠ½ΠΎ Π»ΠΈ 'x' Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° mod
ΠΏΡΡΡΡ isOdd x = x% 2 <> 0
ΠΏΡΡΡΡ addOneIfOdd input =
ΠΏΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ =
Π΅ΡΠ»ΠΈ Π²Ρ
ΠΎΠ΄ isOdd, ΡΠΎ
Π²Π²ΠΎΠ΄ + 1
Π΅ΡΠ΅
Π²Π²ΠΎΠ΄
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ if
Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΡΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
, ΡΠ΄Π΅Π»Π°Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ if
ΡΠ΅Π»ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ addOneIfOdd
.ΠΠ»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
, — ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ, unit
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ:
ΠΏΡΡΡΡ printString (str: string) =
printfn "Π‘ΡΡΠΎΠΊΠ°:% s" str
ΠΠΎΠ΄ΠΏΠΈΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
val printString: str: string -> unit
ΠΠ»ΠΎΠΊ Π’ΠΈΠΏ
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ.ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Β«ΡΠ°Π±ΠΎΡΠ°ΡΡΒ», Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅Π΅ Π½Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΎ ΡΠ΅Π·ΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠΈΡΡΠ΅Ρ Ρ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π³Π΄Π΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ , Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠΌΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² C # ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½ ΡΠ°ΠΊ:
bool IsOdd (int x) => x% 2! = 0;
int AddOneIfOdd (Π²Π²ΠΎΠ΄ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°)
{
var result = input;
Π΅ΡΠ»ΠΈ (IsOdd (Π²Π²ΠΎΠ΄))
{
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = Π²Π²ΠΎΠ΄ + 1;
}
Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ;
}
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ C # ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ Π² ΡΡΠΈΠ»Π΅ C Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ½Π°ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
Π ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Π΄ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². Π₯ΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π½Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΡΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅:
- ΠΡΠ΅Π³Π΄Π° Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π²Ρ ΠΎΠ΄Π°.
- ΠΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ².
Π ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΡΡ
.Π ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π²ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΡΠ²ΠΎΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ
ΡΡΡΠ΅ΠΊΡΠΎΠ². Π ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ f (x) = x + 1
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ f (x)
Π·Π°Π²ΠΈΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ x
. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ Ρ ΡΠΈΡΡΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΈΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²ΠΈΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΡΠ²ΠΎΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΡ ΠΊ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠ°ΠΌ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠΈΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ:
ΠΏΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ = 1
ΠΏΡΡΡΡ addOneToValue x = x + Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π€ΡΠ½ΠΊΡΠΈΡ addOneToValue
ΡΠ²Π½ΠΎ Π½Π΅ΡΠΈΡΡΠ°Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ 1.ΠΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠΈΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ:
ΠΏΡΡΡΡ addOneToValue x =
printfn "x is% d" x
Ρ
+ 1
Π₯ΠΎΡΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΠ½Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x
Π² Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π₯ΠΎΡΡ Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠ»ΠΎΡ
ΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠΈΡΡΠ°Ρ.ΠΡΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΠ°ΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π³ΠΎ-ΡΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡ Π±ΡΡΠ΅ΡΠ° Π²ΡΠ²ΠΎΠ΄Π°, ΡΠΎ Π²ΡΠ·ΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΡΡ Π΄ΡΡΠ³ΡΡ ΡΠ°ΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° printfn
Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΡΡΠΎΠΉ:
ΠΏΡΡΡΡ addOneToValue x = x + 1
Π₯ΠΎΡΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ Π½Π΅ Π»ΡΡΡΠ΅ , ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ printfn
, ΠΎΠ½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ΅, ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅Π»Π°Π΅Ρ, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.ΠΡΠ·ΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π· Π΄Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ: ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΡΠΈΡΡΠΎΡΠΎΠΉ, — ΡΡΠΎ ΡΠΎ, ΠΊ ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΠΌΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ.
ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡΡ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ — Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ. Π F # Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π½Π° ΠΌΠ΅ΡΡΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ²Π½ΠΎ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠΈΡΠ΅ ΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ°Π±ΠΎΡΠ° Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Β«ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΒ» Π½Π° Β«ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β».
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ 1 ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ:
ΠΏΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ = 1
ΠΏΡΡΡΡ secondValue = Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ + 1
Π F # ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ , Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
; Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°:
ΠΏΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ = 1
value = value + 1 // ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅!
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ·ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΡΡΠ°ΡΠΈΡ. Π F # ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π΄Π°ΠΆΠ΅ Π½Π° ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ . Π ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡΡ (ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅), ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π½Π°Π±ΠΎΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ, Π° ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π‘ΠΊΡΡΡΠ½ΠΎ ΡΡΠΎ ΡΠ°ΡΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΡ ΡΡΠΈΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½Π° ΡΠΎΠ·Π΄Π°Π»Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΡΠ°ΠΊΠΈΡ Π²Π΅ΡΠ΅ΠΉ, ΠΊΠ°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎΡΡΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠ΅ΡΠ²ΠΎΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΠΈΡΡΠ»Π΅Π΄ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ, ΠΊΠ°ΠΊ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ .
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
Π‘Π΅ΡΠΈΡ Β«Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅Β» — Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° F #. Π Π½Π΅ΠΌ ΠΏΡΠ°Π³ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ F # Π΄Π»Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ.
.
Π‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Β· GitHub Pages
Π‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Β· GitHub Pages
Π€Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½
Π‘Π°ΠΉΡ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΠΎ ΡΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ, Π½Π΅
ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠ»ΠΈ ΡΡΠΎ Π²Π°Ρ ΡΠ°ΠΉΡ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ΅Π³ΠΈΡΡΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ URL-Π°Π΄ΡΠ΅ΡΡ.
ΠΠ»Ρ ΠΊΠΎΡΠ½Π΅Π²ΡΡ
URL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, http://example.com/
) Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ
index.html
ΡΠ°ΠΉΠ».
ΠΡΠΎΡΡΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ GitHub Pages .
.