ΠΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»
ΠΠ· ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΡΠ»Π΅Π΄ΡΡΡ ΠΏΡΡΡ ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ:
[x]. ΠΡΡΠΌΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (Direct Mapping).
[x]. ΠΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (Few Interfaces).
[x]. Π‘Π»Π°Π±Π°Ρ ΡΠ²ΡΠ·Π½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (Small interfaces - weak coupling).
[x]. Π―Π²Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ (Explicit Interfaces).
[x]. Π‘ΠΊΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ) (Information Hiding).
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΠ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΊΠ°ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ - ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΈ ΡΡΡΠΎΠ³ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ.
ΠΡΡΠΌΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠ±Π°Ρ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΡΠ»ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΡΠΎ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ:
ΠΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΠ· Π΄Π²ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΠΈ:
[x]. ΠΠ΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΡ: ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±Π»Π΅Π³ΡΠΈΡ ΠΎΡΠ΅Π½ΠΊΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
[x]. ΠΠ΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ: Π΅ΡΠ»ΠΈ ΡΠΆΠ΅ Π±ΡΠ»Π° ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²ΠΈΡΡΡΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΎΡΠΏΡΠ°Π²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»Ρ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ.
ΠΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
ΠΡΠ°Π²ΠΈΠ»ΠΎ ΠΠΈΠ½ΠΈΠΌΡΠΌΠ° ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ², ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ²ΡΠ·Ρ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠΎΠ΄ΡΠ»ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ), ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠ°Π²ΠΈΠ»ΠΎ ΠΠΈΠ½ΠΈΠΌΡΠΌΠ° ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΡΠ°ΠΊΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ.
Π ΠΈΡ. 3.7. ΠΠΈΠ΄Ρ ΡΡΡΡΠΊΡΡΡ ΠΌΠ΅ΠΆΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ
Π ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ· n ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΠΈΡΠ»ΠΎ ΠΌΠ΅ΠΆΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ n-1, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ (A), ΡΠ΅ΠΌ ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ n (n - 1)/2, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ (B).
ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΠΈ ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΡΡΠΈ: Π΅ΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π΅ΠΉ, ΡΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΠΈΡΡΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ (ΡΡΠΎΠ±Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ), ΠΏΠΎΠ½ΡΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
ΠΠ°ΡΠΈΠ°Π½Ρ (A) Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠ²ΡΠ·Π΅ΠΉ, n-1, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π΅ΡΡΠΌΠ° ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ: ΠΎΠ΄ΠΈΠ½ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½ΠΈΠΌ. ΠΠΎ ΠΈΠΌΠ΅ΡΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ "Π΄Π΅ΠΌΠΎΠΊΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅" ΡΡΡΡΠΊΡΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ (C), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ²ΡΠ·Π΅ΠΉ. Π ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π΄Π²ΡΠΌΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΌΠΈ ΡΠΎΡΠ΅Π΄ΡΠΌΠΈ, ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π»Π°ΡΡΠΈ Π·Π΄Π΅ΡΡ Π½Π΅Ρ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΡΡΡ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π½ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ, ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌ. ΠΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΡΡΡΡΠΊΡΡΡΡ, ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅ΠΌΠΈΡΡΡΡ ΠΠ-ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ.
Π‘Π»Π°Π±Π°Ρ ΡΠ²ΡΠ·Π½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
ΠΡΠ°Π²ΠΈΠ»ΠΎ Π‘Π»Π°Π±ΠΎΠΉ ΡΠ²ΡΠ·Π½ΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π° Π½Π΅ ΠΊ ΡΠΈΡΠ»Ρ ΡΠ²ΡΠ·Π΅ΠΉ:
ΠΡΠ»ΠΈ Π΄Π²Π° ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΡΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ½ΠΆΠ΅Π½Π΅Ρ-ΡΠ»Π΅ΠΊΡΡΠΈΠΊ ΡΠΊΠ°Π·Π°Π» Π±Ρ, ΡΡΠΎ ΠΊΠ°Π½Π°Π»Ρ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½ΠΈΡ:
Π ΠΈΡ. 3.8. ΠΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π»Π°Π±ΠΎΠΉ ΡΠ²ΡΠ·Π½ΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΠΈ ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΡΡΠΈ.
ΠΡΠΎΠ±ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΠ· ΡΠ·ΡΠΊΠ° Fortran, Π·Π½Π°ΠΊΠΎΠΌΠ°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ ΠΊΠ°ΠΊ "ΠΎΠ±ΡΠΈΠΉ Π±Π»ΠΎΠΊ Π΄Π»Ρ ΠΌΡΡΠΎΡΠ°" ("garbage common block"). ΠΠ±ΡΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ Π² Fortran'Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π²ΠΈΠ΄Π°:
COMMON /ΠΎΠ±ΡΠ΅Π΅_ΠΈΠΌΡ/ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ1 : ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρn.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² Π±Π»ΠΎΠΊΠ΅, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΠΎ Π²ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΡ , ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ COMMON Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠΈΠΌ_ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΠ΅ΡΠ΅Π΄ΠΊΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Fortran'Π΅, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ COMMON Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π»ΡΠ±ΡΠΌ Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π·Π΄Π΅ΡΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ; ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΠΈ (ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΡΡΠΈ (ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ) ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΡΡΠ΄Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΡΠΌΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠ° ΠΎΡΠ²ΡΡΠ΅Π½Π½Π°Ρ Π³ΠΎΠ΄Π°ΠΌΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ Π»ΡΠ±ΠΈΠΌΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ, Ρ ΠΎΡΡ ΠΈ Π²Π΅Π΄Π΅Ρ ΠΊ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π½ΠΎΡΠ½ΡΠΌ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΌ Π±Π΄Π΅Π½ΠΈΡΠΌ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ΡΡ ΡΠ·ΡΠΊΠ°ΠΌΠΈ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ, ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π±Π»ΠΎΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π² ΡΠ·ΡΠΊΠ΅ Algol ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ, Π² Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, Π² ΡΠ·ΡΠΊΠ΅ Pascal, ΠΌΠΎΠΆΠ½ΠΎ "Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ" Π±Π»ΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π²Π½ΡΡΡΠΈ ΠΏΠ°Ρ begin ... end, Π²Π½ΡΡΡΡ Π΄ΡΡΠ³ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ². Π ΡΠΎΠΌΡ ΠΆΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΌΡΡΠ» Π»ΠΈΡΡ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ (syntactic scope) ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
local -- ΠΠ°ΡΠ°Π»ΠΎ Π±Π»ΠΎΠΊΠ° B1
x, y: INTEGER
do
... ΠΠΎΠΌΠ°Π½Π΄Ρ Π±Π»ΠΎΠΊΠ° B1 ...
local -- ΠΠ°ΡΠ°Π»ΠΎ Π±Π»ΠΎΠΊΠ° B2
z: BOOLEAN
do
... ΠΠΎΠΌΠ°Π½Π΄Ρ Π±Π»ΠΎΠΊΠ° B2 ...
end -- ΠΠΎΠ½Π΅Ρ Π±Π»ΠΎΠΊΠ° B2
local -- ΠΠ°ΡΠ°Π»ΠΎ Π±Π»ΠΎΠΊΠ° B3
y, z: INTEGER
do
... ΠΠΎΠΌΠ°Π½Π΄Ρ Π±Π»ΠΎΠΊΠ° B3 ...
end -- ΠΠΎΠ½Π΅Ρ Π±Π»ΠΎΠΊΠ° B3
... ΠΠΎΠΌΠ°Π½Π΄Ρ Π±Π»ΠΎΠΊΠ° B1 (ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅) ...
end -- ΠΠΎΠ½Π΅Ρ Π±Π»ΠΎΠΊΠ° B1
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ x Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΡΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ z (ΠΎΠ΄Π½Π° ΡΠΈΠΏΠ° BOOLEAN, Π΄ΡΡΠ³Π°Ρ ΡΠΈΠΏΠ° INTEGER) ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ B2 ΠΈ B3 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ x, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ y ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π»ΠΎΠΊΠ° B1, Π½ΠΎ Π΅Π΅ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±Π»ΠΎΠΊΠ° B3, Π³Π΄Π΅ Π΄ΡΡΠ³Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΈΠΏΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π°Π΄ ΡΠ°ΠΌΠΎΠΉ Π±Π»ΠΈΠΆΠ½Π΅ΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ y. Π Pascal'Π΅ ΡΡΠΎΡ Π²ΠΈΠ΄ Π±Π»ΠΎΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈΡΡ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ (ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ).3.4)
ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π±Π»ΠΎΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ "ΠΌΡΡΠΎΡΠ½ΠΎΠ³ΠΎ" ΠΎΠ±ΡΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° Fortran'Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ (Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ) ΡΡΠΎΠ²Π½Π΅. Π ΡΠ·ΡΠΊΠ°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ·ΡΠΊΠ° Π‘ ΡΠ°ΠΊΠΈΠΌ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ (external). (Π ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ ΡΠΌ. Π»Π΅ΠΊΡΠΈΠΈ 10 ΠΊΡΡΡΠ° "ΠΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ". ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ "ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½Π°Ρ ΡΠΎΠ»Ρ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠΎΡΡΠ° (selective exports)".)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π‘Π»Π°Π±ΠΎΠΉ ΡΠ²ΡΠ·Π½ΠΎΡΡΠΈ ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΠΎΠ·Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΅Π΅ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΌ ΠΊΡΡΡΠ΅. Π―Π·ΡΠΊ Simula - ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ ΠΎΡ Algol'Π° - ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±Π»ΠΎΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½Π΅ΠΉ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΈ ΡΡΠΎΠ²Π½Ρ: ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²; ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠΎΠ²; ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ (Π°ΡΡΠΈΠ±ΡΡΠΎΠ² (attributes) ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² (routines)). ΠΠ»Π°ΡΡΠ΅ΡΡ ΡΠΊΠΎΡΠ΅Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΡΠ΅ΠΌ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π»ΡΠ±ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ; Π½ΠΎ ΠΊΠ»Π°ΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΏΠ»ΠΎΡΠΊΡΡ (flat) ΡΡΡΡΠΊΡΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΡΡΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΈΠ·Π»ΠΈΡΠ½Π΅ΠΌΡ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ.
Π―Π²Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
Π§Π΅ΡΠ²Π΅ΡΡΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΠΊ ΡΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΡΠΎΡΠ°Π»ΠΈΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π² ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ: ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎΠ±Ρ Π»ΡΠ±ΡΠ΅ ΠΏΠ΅ΡΠ΅Π³ΠΎΠ²ΠΎΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π»ΠΈΡΡ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΈ Π±ΡΠ»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΡΠΌΠΈ; Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π³ΠΎΠ²ΠΎΡΡ Π±ΡΠ»ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈ Π³Π»Π°ΡΠ½ΡΠΌΠΈ!