Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΡ Β«ΠΊΡΠ΅ΡΡΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈΒ»
ΠΡΡΡΡΠΎΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡ Π±ΡΡΡΡΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Code Gear/Builder C++ ΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Code Gear/Builder C++ — Π±ΡΡΡΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (RAD — Rapid Application… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΡ Β«ΠΊΡΠ΅ΡΡΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈΒ» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
- ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ
- ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
- ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
- ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
- ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- ΠΡΠ²ΠΎΠ΄Ρ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ
ΠΊΡΠ΅ΡΡΠΈΠΊΠΈ Π½ΠΎΠ»ΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌ
ΠΠ°Π½ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ (n*n, Π³Π΄Π΅ n = 1…65 536) Π΄Π»Ρ ΠΈΠ³ΡΡ Π² «ΠΊΡΠ΅ΡΡΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ».
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊ Π½Π°ΠΈΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ.
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ — ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ (ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π΅ n*n, Π³Π΄Π΅ n = 1…65 536).
ΠΠ»Π΅ΡΠΊΠ° — ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΏΠΎΠ»Π΅.
ΠΡΠ΅ΡΡΠΈΠΊ — ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΈΠ³ΡΠΎΠΊΠΎΠ², Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ Ρ ΠΎΠ΄Π°.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ 1 ΠΊΠ»Π΅ΡΠΊΡ ΠΏΠΎΠ»Ρ.
ΠΠΎΠ»ΠΈΠΊ — ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΈΠ³ΡΠΎΠΊΠΎΠ², Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ Ρ ΠΎΠ΄Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ 1 ΠΊΠ»Π΅ΡΠΊΡ ΠΏΠΎΠ»Ρ.
ΠΠ³ΡΠΎΠΊ — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠ³ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Ρ ΠΎΠ΄ΠΈΡΡ ΠΊΡΠ΅ΡΡΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π½ΠΎΠ»ΠΈΠΊΠΎΠΌ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΎΠ΄Π°.
ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
ΠΡΠ±ΠΎΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π±ΡΡΡΡΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ»Π° Π²ΡΠ±ΡΠ°Π½Π° IDE Code Gear ΠΈ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ (Code Gear/Builder C++), ΡΠ²Π»ΡΡΡΠ΅Π³ΠΎΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ Borland C++ Builder.
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Code Gear/Builder C++ Ρ Π΅Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄ΡΡΠ³ΠΈΠΌ, ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π·ΡΠΌΠ½ΡΡ 32/64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Code Gear/Builder C++:
Β· ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Unicode. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Windows. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Unicode Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ Windows ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Unicode-ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊ ΠΈ ANSI-ΡΡΡΠΎΠΊΠΈ.
Β· Π½ΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Generics ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ C++, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π°;
Β· Π½ΠΎΠ²Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° VCL Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°;
Β· Π²Π΅Π±-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° VCL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°Π·Π²ΠΈΡΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ AJAX;
Β· ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅;
Β· Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π°Π· Π΄Π°Π½Π½ΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΌΡ Π² ΡΠΎΡΡΠ°Π² ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ Builder Architect ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Embarcadero ER/Studio. [9]
ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ±ΠΎΡΠ° ΡΠ»ΡΠΆΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ:
ΠΡΡΡΡΠΎΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡ Π±ΡΡΡΡΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Code Gear/Builder C++ ΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Code Gear/Builder C++ - Π±ΡΡΡΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (RAD — Rapid Application Development). Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Code Gear/Builder C++ - Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ Π²Π΅ΡΡΠΌΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Code Gear/Builder C++ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ 32/64-Π±ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π₯Π°ΡΠ°ΠΊΡΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π² Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π·Π°Π΄Π°ΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ°Π·ΡΡΠ΄Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . Π ΡΠΎΡΡΠ°Π² Code Gear/Builder C++ Π²Ρ ΠΎΠ΄ΠΈΡ Π²ΡΡΠΎΠΊΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ ΡΠ·ΡΠΊΠ° C++, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΡΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. Code Gear/Builder C++ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π³ΠΎΡΠΎΠ²ΡΠ΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡΡΡΠΏ ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ ΠΠΠ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ·ΡΠΊΠ° Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ Π΅Π΅ ΡΠ°ΡΡΠ΅ΠΉ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ «ΠΠ»ΠΈΠ΅Π½Ρ — Π‘Π΅ΡΠ²Π΅Ρ». Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. Code Gear/Builder C++ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΡΠ΅Ρ Π·Π²Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΡΡΡΡ «ΡΠΎΠ½ΠΊΠΈΠΉ» ΠΊΠ»ΠΈΠ΅Π½Ρ, ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠ΅Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Code Gear/Builder C++ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ:
ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ;
ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠΈΡΠΎΠΊΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°;
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π²ΡΠ±ΠΎΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Ρ ΠΎΠ΄Π° Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΎΡ Ρ ΠΎΠ΄ ΡΡ ΡΠ΄ΡΠΈΡ ΡΠ°Π½ΡΡ Π²ΡΠΈΠ³ΡΡΡΠ° ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΡΠ΅Ρ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Ρ ΠΎΠ΄ΠΎΠ² Π² Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΎΡΠ΅Π½ΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Ρ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ°Π³Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ.
ΠΠΈΠ½ΠΈΠΌΠ°ΠΊΡΠ½ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ (ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡ) — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ. Π£ΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Ρ, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡ ΠΎΡΠ΅Π½ΠΈΡΡ. ΠΠ»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ, Π·Π°Π΄Π°ΡΠ° ΠΊΠΎΡΠΎΡΡΡ — Π½Π°ΠΉΡΠΈ Π½Π°ΠΈΠ»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΡΠ±ΡΡΠΎΠΊ.
ΠΡΠΈΡΠ΅ΡΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
1. Π‘ΡΡΠΎΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ. Π‘ΡΠΎΠ»Π±ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΈΡΡ ΠΎΠ΄Π°ΠΌ. Π‘ΡΡΠΎΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠΌ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠΌ. Π ΡΡΠ΅ΠΉΠΊΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈ Π΄Π°Π½Π½ΠΎΠΌ ΠΈΡΡ ΠΎΠ΄Π΅ ΠΈ ΠΏΡΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ.
2. Π‘ΡΡΠΎΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ. Π ΡΡΠ΅ΠΉΠΊΠ°Ρ ΠΌΠ°ΡΡΠΈΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ — ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΏΡΠΈ Π΄Π°Π½Π½ΠΎΠΌ ΠΈΡΡ ΠΎΠ΄Π΅ (ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅) ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΏΡΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ. Π‘ΠΎΠΆΠ°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, ΡΠ΅ΡΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
3. ΠΠΈΠ½ΠΈΠΌΠ°ΠΊΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ (Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅) ΠΈΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ. Π Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (ΡΡΡΠΎΠΊΡ), ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠ°:
ΠΠΏΠΈΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
ΠΠΎΠ»Π΅ n*m, Π³Π΄Π΅ n — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, m — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ.
weights[i, j] - Π²Π΅Ρ ΠΏΠΎΠ»Ρ i, j (ΠΎΡΠ΅Π½ΠΊΠ°) Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Ρ ΠΎΠ΄Ρ ΠΈΠ³ΡΡ.
size — Π΄Π»ΠΈΠ½Π° Π²ΡΠΈΠ³ΡΡΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.
depth — Π³Π»ΡΠ±ΠΈΠ½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ΅Π½ΠΎΠΊ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡ Π΅ΠΌΡ:
Π·Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π»ΠΈΠ½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΠΏΠΎ 1-ΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠ΅ — 2 ΠΎΡΠΊΠ°.
Π·Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π»ΠΈΠ½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΠΏΠΎ 2-Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΊΠ»Π΅ΡΠΊΠΈ — 4 ΠΎΡΠΊΠ°.
Π·Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π»ΠΈΠ½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΠΏΠΎ 3-ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΊΠ»Π΅ΡΠΊΠΈ — 8 ΠΎΡΠΊΠΎΠ².
Π·Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π»ΠΈΠ½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΠΏΠΎ size — 1 Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠ΅ — 2size-1 ΠΎΡΠΊΠΎΠ².
Π·Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π»ΠΈΠ½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΠΏΠΎ size Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠ΅ — 2size ΠΎΡΠΊΠΎΠ².
Π ΠΈΡΠΎΠ³Π΅ Π½Π° Π³Π»ΡΠ±ΠΈΠ½Π΅ depth ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡ ΠΎΠ΄ΠΈΡΡ AI, ΠΈ Π½Π° ΡΠ°Π³Π΅ depth-1 Π²ΡΠ±ΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ. ΠΠ° ΡΠ°Π³Π΅ depth-2 ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ ΠΏΠΎΠΊΠ° Π³Π»ΡΠ±ΠΈΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ = 1. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠ΅Π½ΠΊΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΎΠ΄ AI.
ΠΠ»ΡΡΠ°-Π±Π΅ΡΠ° ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ»ΡΡΠ°-Π±Π΅ΡΠ° ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (Π°Π½Π³Π». Alpha-beta pruning) — ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ°, ΡΡΡΠ΅ΠΌΡΡΠΈΠΉΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ², ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΠΌΡΡ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΏΠΎΠΈΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡ. ΠΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π°Π½ΡΠ°Π³ΠΎΠ½ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ³Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ ΠΈΠ³ΡΡ (Π² ΡΠ°Ρ ΠΌΠ°ΡΠ°Ρ , Π³ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΡ ). Π ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π»Π΅ΠΆΠΈΡ ΠΈΠ΄Π΅Ρ, ΡΡΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ Π΄Π΅ΡΠ΅Π²Π° ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΎ (Π±Π΅Π· Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ), Π΅ΡΠ»ΠΈ Π±ΡΠ»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΆΠ΅, ΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ. ΠΠ»ΡΡΠ°-Π±Π΅ΡΠ° ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π°Π»ΡΡΠ°-Π±Π΅ΡΠ° ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π²Π΅ΡΠ²Π΅ΠΉ ΠΏΠΎΠ΄ΡΡΠΎΠ²Π½Π΅ΠΉ Π΄Π΅ΡΠ΅Π²Π° ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π΅ΡΠ²Π΅ΠΉ ΡΡΠΎΠ²Π½Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ (ΠΊΡΠΎΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ), ΡΡΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π΅ΡΡΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π»ΠΈΡΠ΅Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² (Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΈΠ»ΠΈ Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ Π½Π° ΠΌΠ΅Π½ΡΡΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ) — ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ «Ρ ΠΎΡΠΎΡΠΈΡ » Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ «ΠΏΠ»ΠΎΡ ΠΈΡ » Π²Π΅ΡΠ²Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΎ Π±Π΅Π· ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Ρ Π°Π»ΡΡΠ°-Π±Π΅ΡΠ° ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ:
ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° Π½Π°ΠΈΠ»ΡΡΡΠ΅Π³ΠΎ Ρ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ:
ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ findMin:
ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ FindMax ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ FindMin ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΡ .
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++ Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Code Gear.
ΠΡΠ΄Π΅Π»Π΅Π½ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ ΠΈΠ³ΡΡ: TCrossZero.
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°:
class TCrossZero {
public:
TCrossZero ();
~TCrossZero ();
int beginX, endX,
beginY, endY; // ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠ° (ΡΠΌ. FindBorder)
int size; // Π΄Π»ΠΈΠ½Π° Π²ΡΠΉΠ³ΡΠ°ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ
int n, m; // ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»Ρ
int** field; // ΠΏΠΎΠ»Π΅ Π±ΠΎΡ, Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
// -1 ΠΏΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅
// 1 — ΠΊΡΠ΅ΡΡΠΈΠΊ
// 0 — Π½ΠΎΠ»ΠΈΠΊ
int** weights; // ΠΌΠ°ΡΡΠΈΠ² ΠΎΡΠ΅Π½ΠΎΡΠ½ΡΡ Π²Π΅ΡΠΎΠ²
int depth; // Π³Π»ΡΠ±ΠΈΠ½Π° ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ
int mode; // 1 — ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ-ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ
// 2 — ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ-ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ
// 3 — ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ-ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ
int now; // true — Ρ ΠΎΠ΄ΠΈΡ ΠΊΡΠ΅ΡΡΠΈΠΊ ΡΠ΅ΠΉΡΠ°Ρ
// false — Ρ ΠΎΠ΄ΠΈΡ Π½ΠΎΠ»ΠΈΠΊ
void setDelMem (int isSet); // Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅/ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²Ρ
// 0 — ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ, 1 — Π²ΡΠ΄Π΅Π»ΠΈΡΡ
int check (); // ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» Π»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΈΠ³ΡΡ?
// -1 — Π½Π΅Ρ
// 1 — Π²ΡΠΉΠ³ΡΠ°Π»ΠΈ ΠΊΡΠ΅ΡΡΠΈΠΊΠΈ
// 0 — Π²ΡΠΉΠ³ΡΠ°Π»ΠΈ Π½ΠΎΠ»ΠΈΠΊΠΈ
// 2 — Π½ΠΈΡΡΡ
// ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π΅ΡΡΡ ΡΠΎΡΠ΅Π΄ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ Π·Π½Π°ΠΊΠ° (ΠΊΡΠ΅ΡΡΠΈΠΊ, Π½ΠΎΠ»ΠΈΠΊ)
// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ check
// ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ
// ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠΊΠ° Π΅ΡΡΡ ΡΠΎΡΠ΅Π΄ΠΈ ΠΈ ΠΈΡ ΡΠΈΡΠ»ΠΎ <= size
// Π΅ΡΠ»ΠΈ count = 0, Π·Π½Π°ΡΠΈΡ ΠΊΡΠΎ-ΡΠΎ Π²ΡΠΉΠ³ΡΠ°Π»
int neighbor (
int direction, // Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΌΠΎΡΡΠ° 1 — Π²ΠΏΡΠ°Π²ΠΎ
// 2 — Π²ΠΏΡΠ°Π²ΠΎ — Π²Π½ΠΈΠ·
// 3 — Π²Π½ΠΈΠ·
// 4 — Π²Π»Π΅Π²ΠΎ — Π²Π½ΠΈΠ·
int x,
int y, // ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΠ΅ΠΌ ΡΠΎΡΠ΅Π΄Π΅ΠΉ
int count, // ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΆΠ΅ ΡΠΎΡΠ΅Π΄Π΅ΠΉ Π½Π°ΡΠ»ΠΈ
int who // ΠΊΡΠΎ ΡΠΎΡΠ΅Π΄?
// 0 — Π½ΠΎΠ»ΠΈΠΊ
// 1 — ΠΊΡΠ΅ΡΡΠΈΠΊ
);
// ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ³ΡΡ
void NewGame (int new_n, int new_m, int new_size, int new_mode, int new_depth);
// Ρ ΠΎΠ΄ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°
// ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ var ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ int var res_x, res_y
void AI_turn (int who, int &res_x, int &res_y);
// who — ΡΠ΅ΠΌ Ρ ΠΎΠ΄ΠΈΡ AI (true — ΠΊΡΠ΅ΡΡΠΈΠΊ
// false — Π½ΠΎΠ»ΠΈΠΊ)
// res_x, res_y — ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΡΠ΄Π° Ρ ΠΎΠ΄ΠΈΡ
// Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π΅Ρ ΡΡΠΈΡΠ°Π΅Ρ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ (ΠΏΠΎ Π²ΡΠ΅ΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ)
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²Π΅Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π΄Π»Ρ who
// ΠΏΠΎΠ΄ΡΡΠΈΡΠ°Π΅ΠΌ Π²Π΅ΡΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°
int CalcWeight (int x, int y, int who);
// ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°
int FindMin (int dep, int who, int alpha, int beta);
// ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°
int FindMax (int dep, int who, int alpha, int beta);
int pow (int a, int n); // ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ
// ΠΈΠ±ΠΎ ΡΡΠΎ-ΡΠΎ ΠΊΠΎΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Ρ-ΠΈΡ
// ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠΈΡΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ
void FindBorder (int thickness);
// thickness — ΡΠΈΡΠΈΠ½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
};
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ³ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ΅Π»ΡΠΊΠ°ΠΌΠΈ ΠΌΡΡΠΈ ΠΏΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΡΠ΅ΡΡΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π½ΠΎΠ»ΠΈΠΊΠΎΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ ΡΠ΅ΠΉ Ρ ΠΎΠ΄.
Π ΡΡΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π°ΡΠ°Π»Π° ΠΈΠ³ΡΡ:
Π‘ΡΠΎΠ»Π±ΡΡ ΠΈ ΡΡΡΠΎΠΊΠΈ — ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ.
ΠΠ»ΠΈΠ½Π° ΠΏΠΎΠ±Π΅Π΄Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΡΠ΅ΡΡΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π½ΠΎΠ»ΠΈΠΊΠΎΠ² Π² ΡΡΠ΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΡ Π² ΠΈΠ³ΡΠ΅.
Π Π΅ΠΆΠΈΠΌ ΠΈΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΈΠ³ΡΠ°.
ΠΠ»ΡΠ±ΠΈΠ½Π° ΠΏΠΎΠΈΡΠΊΠ° — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΡ ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ.
ΠΡΠ²ΠΎΠ΄Ρ
Π Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΈΠ³ΡΡ Π² «ΠΊΡΠ΅ΡΡΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ», ΠΈΠ·ΡΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠΈΠ½ΠΈΠΌΠ°ΠΊΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ — Π°Π»ΡΡΠ°-Π±Π΅ΡΠ° ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅.