ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°
Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Windows 2000 ΠΌΠΎΠ³ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Microsoft Visual Π‘++, WebGain VisualCafe, Borland C++, Borland C++ Builder, Borland Delphi, Power Builder, Borland JBuilder Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Borland Delphi. ΠΡΠ±ΠΎΡ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ ΡΠΈΡΠΎΠΊΠΈΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΠΠΠ‘Π’ΠΠ Π‘Π’ΠΠ ΠΠΠ ΠΠΠΠΠΠΠΠ― Π ΠΠΠ£ΠΠ Π ΠΠ‘Π‘ΠΠΠ‘ΠΠΠ Π€ΠΠΠΠ ΠΠ¦ΠΠ
ΠΠ£Π Π‘ΠΠΠ ΠΠΠ‘Π£ΠΠΠ Π‘Π’ΠΠΠΠΠ«Π Π’ΠΠ₯ΠΠΠ§ΠΠ‘ΠΠΠ Π£ΠΠΠΠΠ Π‘ΠΠ’ΠΠ’
ΠΠ°ΡΠ΅Π΄ΡΠ° ΠΠ ΠΠ’
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ°
ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠΠ΅ΡΠΎΠ΄Ρ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ»
ΡΠ΅ΠΌΠ°: ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°
1. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
ΠΡΡΡΡΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ (ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅) ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π½ Π½Π° Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π³Π»Π°Π²Π½ΡΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ Π²ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΈΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ΅ΡΡ Π½Π°ΡΡΠ½ΠΎΠΉ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈ ΡΠ΅ΠΌ, ΡΡΠΎ Π² Ρ ΠΎΠ΄Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅.
ΠΠ±ΡΡΡ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π·Π°Π΄Π°ΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°Π΄Π°ΡΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ U=f (x1,x2,.xm) ΠΎΡ m ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x1, x2,…xm. ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ x1, x2,…xm, ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΅ΡΡΡ, ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎΠ± ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ΅ΠΊΡΠΎΡ g (x) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ f (x) ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ g (x)=grad f (x)=(df/dx1)*e1+…+(df/dxm)*em.
ΠΠ΅ΠΊΡΠΎΡ g (x) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π²Π΅ΠΊΡΠΎΡ -g (x) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π°Π½ΡΠΈΠ³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°.
ΠΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ x0 ΠΏΠ΅ΡΠΏΠ΅Π½Π΄ΠΈΠΊΡΠ»ΡΡΠ½ΠΎ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠΎΠ²Π½Ρ ΡΠΎ Π΅ΡΡΡ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° (Π°Π½ΡΠΈΠ³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°), Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ (ΡΠ±ΡΠ²Π°Π΅Ρ), ΡΠΎ Π΅ΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ F (a)=f (x0-a*grad f (x0)), Π³Π΄Π΅ a Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x1=x0-a* grad f (x0) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ) Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ. ΠΠ°ΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡΠΊΠΈ x1 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠΈΡΠ΅ΡΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ f'(xm)=|df/dxi|<=Π΅, i=1,…, m.
ΠΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ (Π΄Π°Π»Π΅Π΅ ΠΏΠΎ ΡΠ΅ΠΊΡΡΡ ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ «ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°») Π½ΠΎΡΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°» - ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π·Π°Π΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π΄Π΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠ΅Π»ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΡ
ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΈΠ·Π΄Π΅Π»ΠΈΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°.
Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
ΠΡΠΈ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ:
1. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π―Π·ΡΠΊ Delphi Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Windows 95/98/Me, Windows NT/2000/XP. ΠΡΠ±ΡΠ°Π½Π° Π±ΡΠ»Π° ΡΠΈΡΡΠ΅ΠΌΠ° Windows 2000/NT Π² ΡΠ²ΡΠ·ΠΈ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡΡ ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
2. Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Windows 2000 ΠΌΠΎΠ³ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Microsoft Visual Π‘++, WebGain VisualCafe, Borland C++, Borland C++ Builder, Borland Delphi, Power Builder, Borland JBuilder Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Borland Delphi. ΠΡΠ±ΠΎΡ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ ΡΠΈΡΠΎΠΊΠΈΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π²ΡΡΠΎΠΊΠΈΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΈΠ·Π΄Π΅Π»ΠΈΡ
Π‘ΡΠ°Π½Π΄Π°ΡΡΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΠΠ‘Π’ 19.701−90, ΠΠΠ‘Π’ 2.304−88.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ
ΠΠΎΠ΄ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Delphi 5.0, ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Microsoft Windows 98, Windows 2000.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΎΡΡΠ°Π²Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² (Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ)
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ:
Β· ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Intel Celeron 900;
Β· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ 64 ΠΠ±;
Β· Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ 1 ΠΠ±;
Β· Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡΠ΅Ρ SVGA Ρ ΡΠ²Π΅ΡΠ½ΡΠΌ Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ;
Β· ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ ΡΠΈΠΏΠ° «ΠΌΡΡΡ».
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π²ΠΎΠ΄ΠΈΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.
ΠΡΠΎΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠΎΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°ΠΏΡ:
Β· ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°;
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ²Π»ΡΡΡΡΡ:
Β· Π²ΡΠ²ΠΎΠ΄ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°;
Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ·Π΄Π΅Π»ΠΈΡ
Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ:
Β· ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Borland Delphi 5.0;
Β· ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»;
Β· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅.
ΠΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π½Π° Π³ΠΈΠ±ΠΊΠΈΡ ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΡ , ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΠΈΡΠΊΠ°Ρ .
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ:
Β· ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° 64 ΠΠ±,
Β· ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ΅ΠΌ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ 1 ΠΠ±.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΡΡΡ
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΈΠ·Π΄Π΅Π»ΠΈΠΈ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π΅ΠΉ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ²Π»Π΅Π½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ.
Π Π΅ΡΡΠ°ΡΡ
Π ΡΠ»ΡΡΠ°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ Π·Π°ΠΏΡΡΠΊΠΎΠΌ.
Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΡΡΡ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΠΠ‘Π’ 19.701−90, ΠΠΠ‘Π’ 2.304−88 ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ:
Β· ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅;
Β· ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ «Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π»ΠΈΡΡΠΈΠ½Π³ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΡ.
Π’Π΅Ρ Π½ΠΈΠΊΠΎ-ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π±Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅Ρ Π½ΠΈΠΊΠΎ-ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡΡΡ.
Π‘ΡΠ°Π΄ΠΈΠΈ ΠΈ ΡΡΠ°ΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄Π²Π΅ ΡΡΠ°Π΄ΠΈΠΈ:
Β· ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅;
Β· ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ° ΡΡΠ°Π΄ΠΈΠΈ «Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅» ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΈΠ·Π΄Π΅Π»ΠΈΡ, ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π·Π°Π΄Π°ΡΠ΅ ΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° «Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅» .
ΠΠ° ΡΡΠ°Π΄ΠΈΠΈ «Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ» ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡ Π΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠΌ) ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΠΎΡΠΎΡΠΌΠ»ΡΠ΅ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ «Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ» .
ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠΊΠΈ
ΠΡΠΈΠ΅ΠΌΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ΄Π°ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΡ ΡΡΠ°ΠΏΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΡΠΎΠ². Π’Π΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠΌ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Ρ Ρ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠΌ.
2. Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π·Π°Π΄Π°ΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ U=f (x1,x2) ΠΎΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x1, x2.
ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°.
ΠΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ x1 ΠΏΠ΅ΡΠΏΠ΅Π½Π΄ΠΈΠΊΡΠ»ΡΡΠ½ΠΎ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠΎΠ²Π½Ρ ΡΠΎ Π΅ΡΡΡ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° (Π°Π½ΡΠΈΠ³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°), Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ (ΡΠ±ΡΠ²Π°Π΅Ρ), ΡΠΎ Π΅ΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ F (a)=f (x0-a*grad f (x0)),
Π³Π΄Π΅ a Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x1=x0-a* grad f (x0) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ) Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ. ΠΠ°ΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡΠΊΠΈ x1 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠΈΡΠ΅ΡΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ f'(xm)=|df/dxi|<=Π΅, i=1,…, m.
ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ
ΠΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ Π½ΠΎΡΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°» ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² Π·Π°Π΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠ΅Π»ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΈΠ·Π΄Π΅Π»ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°.
Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° ΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ²Π»Π΅Π½Ρ, Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈΡΡ.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΈΠ·Π΄Π΅Π»ΠΈΡ
Π‘ΡΠ°Π½Π΄Π°ΡΡΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΠΠ‘Π’ 19.701−90, ΠΠΠ‘Π’ 2.304−88.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ
ΠΠΎΠ΄ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Delphi 5.0, ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Microsoft Windows 95/98/Me, Windows NT/2000/XP. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ², ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ΠΌ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Borland Delphi 5.0 ΠΈΠ»ΠΈ Π²ΡΡΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΎΡΡΠ°Π²Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² (Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ)
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
Β· ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Intel 486, ΠΈΠ»ΠΈ Π²ΡΡΠ΅;
Β· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 64 ΠΠ±;
Β· Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΡΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ ΠΌΠ΅ΡΡΠΎΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 1 ΠΠ±;
Β· Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡΠ΅Ρ SVGA Ρ ΡΠ²Π΅ΡΠ½ΡΠΌ Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ;
Β· ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈΠ»ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ ΡΠΈΠΏΠ° «ΠΌΡΡΡ».
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²Π²ΠΎΠ΄ΡΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.
ΠΡΠΎΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠΎΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π½Π° 2 Π³ΡΡΠΏΠΏΡ:
Β· ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°;
Β· ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π½Π° ΡΠΊΡΠ°Π½Π΅;
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΡΡΡΡ:
Β· ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°.
Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ·Π΄Π΅Π»ΠΈΡ
Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΡ Π²Ρ ΠΎΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ:
a) ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Delphi 5.0, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΡΠ°ΠΉΠ»Ρ:
Β· ΡΠ°ΠΉΠ» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Unit1. ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ,
Β· ΡΠ°ΠΉΠ» ΠΎΠΏΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Project1. dprΡΠ°ΠΉΠ» c ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΎΠΏΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°,
Β· ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Project1. exe — Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» (Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows).
b) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² ΡΠΈΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² ΡΠ°ΠΉΠ»Π΅ ΠΡΡΡΠΎΠ²ΠΈΠΊ. doc).
ΠΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π½Π° Π³ΠΈΠ±ΠΊΠΈΡ ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΡ , ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΠΈΡΠΊΠ°Ρ .
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ:
* ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 64 ΠΠ±,
* ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ΅ΠΌ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 1 ΠΠ±.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΡΡΡ
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΈΠ·Π΄Π΅Π»ΠΈΠΈ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π΅ΠΉ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ²Π»Π΅Π½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ, ΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
Π Π΅ΡΡΠ°ΡΡ
Π ΡΠ»ΡΡΠ°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ Π·Π°ΠΏΡΡΠΊΠΎΠΌ.
Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΡΡΡ
ΠΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ΠΎΡΡΠ°Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Project1.exe.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΠΎΠ΄ΡΠ»Ρ Unit1
ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°.
1. Π. Π―. ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delphi 5.0. — Π.: ΠΠΠ «ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΠΠΠΠ», 2000 Π³.
2. ΠΠΎΡΠ΅ΡΠΊΠΎΠ² Π. Π., Π¨ΠΈΠΊΠΈΠ½ Π. Π., Π¨ΠΈΠΊΠΈΠ½Π° Π. Π. ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠ°: ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ; ΠΠΎΠ΄ ΡΠ΅Π΄. Π. Π. Π¨ΠΈΠΊΠΈΠ½Π°. — Π.: Π€ΠΈΠ½Π°Π½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, 1996. — 176 Ρ.: ΠΈΠ». — (ΠΠΈΠ°Π»ΠΎΠ³ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ).
3. ΠΡΠ°ΡΠ½ΠΎΠ² Π. Π. OpenGL Π³ΡΠ°ΡΠΈΠΊΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Delphi, ΠΠ₯Π-Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2000. — 352 Ρ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π€Π°ΠΉΠ» Unit1. pas
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, OpenGL, Grids, ComCtrls;
type
TForm1 = class (TForm)
Button1: TButton;
Label1: TLabel;
Panel1: TPanel;
Label2: TLabel;
StringGrid1: TStringGrid;
RadioButton1: TRadioButton;
Button2: TButton;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label5: TLabel;
Label6: TLabel;
Edit3: TEdit;
Label7: TLabel;
UpDown1: TUpDown;
Edit4: TEdit;
ComboBox1: TComboBox;
Edit5: TEdit;
Label8: TLabel;
Edit6: TEdit;
Label9: TLabel;
procedure Button1Click (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure FormDestroy (Sender: TObject);
procedure FormResize (Sender: TObject);
procedure FormPaint (Sender: TObject);
procedure Panel1MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button2Click (Sender: TObject);
procedure Edit3Change (Sender: TObject);
procedure Edit1Change (Sender: TObject);
procedure Edit2Change (Sender: TObject);
procedure Edit4Change (Sender: TObject);
procedure Edit5Change (Sender: TObject);
procedure Edit6Change (Sender: TObject);
private
DC: HDC;
hrc: HGLRC;
{ Private declarations }
end;
type TE = array [0.2,0.2] of glfloat;
type TM = array [0.2] of glfloat;
var
Form1: TForm1;
x, y, z, m, a, b, c, d, masht: glfloat;
mx, my, mz: TE;
mm: TM;
xmaus, ymaus, rt, verx: integer;
implementation
{$R *.DFM}
{Π€ΠΎΡΠΌΠ°Ρ ΠΏΠΈΠΊΡΠ΅Π»Ρ}
procedure SetDCPixelFormat (hdc: HDC);
var
pfd: TPixelFormatDescriptor;
nPixelFormat: Integer;
begin
FillChar (pfd, SizeOf (pfd), 0);
pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER;
nPixelFormat := ChoosePixelFormat (hdc, @pfd);
SetPixelFormat (hdc, nPixelFormat, @pfd);
end;
{====================================================
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ}
procedure TForm1. FormCreate (Sender: TObject);
begin
DC := GetDC (Form1.Panel1.Handle);
SetDCPixelFormat (DC);
hrc := wglCreateContext (DC);
wglMakeCurrent (DC, hrc);
glClearColor (0.5, 0.5, 0.75, 1.0); // ΡΠ²Π΅Ρ ΡΠΎΠ½Π°
glColor3f (1.0, 0.0, 0.5); // ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ²Π΅Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ²
glEnable (GL_DEPTH_TEST);
x:=0.0;
y:=0.0;
z:=0.0;
m:=1.0;
a:=0.0;
b:=0.0;
c:=0.0;
xmaus:= 0;
ymaus:=0 ;
masht:=0;
rt:= 0 ;
verx:= 0;
StringGrid1.Cells[0,0]: ='1';
tringGrid1.Cells[0,1]:='0';
tringGrid1.Cells[0,2]:='0';
tringGrid1.Cells[0,3]:='0';
end;
procedure TForm1. Button1Click (Sender: TObject);
var
hx, hy, x0, y0,f0,gx, gy, e, f1: real;
i: integer;
begin
StringGrid1.ColCount:=1;
hx:=0.001;
hy:=0.002;
e:=0.002;
x0:=StrToInt (Edit1.Text);
y0:=StrToInt (Edit2.Text);
if (ComboBox1.ItemIndex=0) then begin
f0:=(exp (x0)+exp (y0))/(exp (x0*x0)+exp (y0*y0));
gx:=exp (x0)/(exp (x0*x0)+exp (y0*y0))-exp (x0*x0)*x0*(2*(exp (x0)+exp (y0))/((exp (x0*x0)+exp (y0*y0))*(exp (x0*x0)+exp (y0*y0))));
gy:=exp (y0)/(exp (y0*y0)+exp (x0*x0))-exp (y0*y0)*y0*(2*(exp (y0)+exp (x0))/((exp (y0*y0)+exp (x0*x0))*(exp (y0*y0)+exp (x0*x0))));
end;
if (ComboBox1.ItemIndex=1) then begin
f0:=sin (x0)*sin (x0)/(sin (y0)*sin (y0)+1);
gx:=2*sin (x0)*cos (x0)/(sin (y0)*sin (y0)+1);
gy:=-2*sin (x0)*sin (x0)*cos (y0)*sin (y0)/((sin (y0)*sin (y0)+1)*(sin (y0)*sin (y0)+1));
end;
if (ComboBox1.ItemIndex=2) then begin
f0:=sin (x0)*cos (y0*y0);
gx:= cos (x0)*cos (y0*y0);
gy:=-2*sin (x0)*sin (y0*y0)*y0;
end;
x0:=x0+hx*gx;
y0:=y0+hy*gy;
if (ComboBox1.ItemIndex=0) then
f1:=(exp (x0)+exp (y0))/(exp (x0*x0)+exp (y0*y0));
if (ComboBox1.ItemIndex=1) then
f1:=sin (x0)*sin (x0)/(sin (y0)*sin (y0)+1);
if (ComboBox1.ItemIndex=2) then
f1:=sin (x0)*cos (y0*y0);
StringGrid1.Cells[0,0]: ='1';
StringGrid1.Cells[0,1]:=FloatToStr (x0);
StringGrid1.Cells[0,2]:=FloatToStr (y0);
StringGrid1.Cells[0,3]:=FloatToStr (f1);
if f1
hx:=hx/2;
hy:=hy/2;
end;
i:=1;
while not ((abs (gx)
begin
f0:=f1;
if (ComboBox1.ItemIndex=0) then begin
gx:=exp (x0)/(exp (x0*x0)+exp (y0*y0))-exp (x0*x0)*x0*(2*(exp (x0)+exp (y0))/((exp (x0*x0)+exp (y0*y0))*(exp (x0*x0)+exp (y0*y0))));
gy:=exp (y0)/(exp (y0*y0)+exp (x0*x0))-exp (y0*y0)*y0*(2*(exp (y0)+exp (x0))/((exp (y0*y0)+exp (x0*x0))*(exp (y0*y0)+exp (x0*x0))));
end;
if (ComboBox1.ItemIndex=1) then begin
gx:=2*sin (x0)*cos (x0)/(sin (y0)*sin (y0)+1);
gy:=-2*sin (x0)*sin (x0)*cos (y0)*sin (y0)/((sin (y0)*sin (y0)+1)*(sin (y0)*sin (y0)+1));
end;
if (ComboBox1.ItemIndex=2) then begin
gx:= cos (x0)*cos (y0*y0);
gy:=-2*sin (x0)*sin (y0*y0)*y0;
end;
x0:=x0+hx*gx;
y0:=y0+hy*gy;
if (ComboBox1.ItemIndex=0) then
f1:=(exp (x0)+exp (y0))/(exp (x0*x0)+exp (y0*y0));
if (ComboBox1.ItemIndex=1) then
f1:=sin (x0)*sin (x0)/(sin (y0)*sin (y0)+1);
if (ComboBox1.ItemIndex=2) then
f1:=sin (x0)*cos (y0*y0);
StringGrid1.Cells[i, 0]: =IntToStr (i+1);
StringGrid1.Cells[i, 1]:=FloatToStr (x0);
StringGrid1.Cells[i, 2]:=FloatToStr (y0);
StringGrid1.Cells[i, 3]:=FloatToStr (f1);
i:=i+1;
StringGrid1.ColCount:=i;
if f1
hx:=hx/2;
hy:=hy/2;
end;
end;
Label1.Caption:=FloatToStr (f1);
refresh;
end;
procedure TForm1. FormDestroy (Sender: TObject);
begin
{====================================================
ΠΠΎΠ½Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ}
wglMakeCurrent (0, 0);
wglDeleteContext (hrc);
ReleaseDC (Panel1.Handle, DC);
DeleteDC (DC);
end;
procedure TForm1. FormResize (Sender: TObject);
begin
glViewport (0, 0, Panel1. ClientWidth, Panel1. ClientHeight);
glLoadIdentity;
glFrustum (-1, 1, -1, 1, 3, 10); // Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ
// ΡΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΏΡΠΈΠ΄Π°Π½ΠΈΡ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ
glTranslatef(0.0, 0.0, -5); // ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° — ΠΎΡΡ Z
InvalidateRect (Panel1.Handle, nil, False);
end;
procedure TForm1. FormPaint (Sender: TObject);
var
i, j: real;
zz, xl, yl, zl, zlm, stg, h: glfloat;
fy, fx, clr, clb, obl: real;
it, wn: integer;
mm1,mm2,mm3,mm4: array [0.5] of TM;
begin
glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); // ΠΎΡΠΈΡΡΠΊΠ° Π±ΡΡΠ΅ΡΠ° ΡΠ²Π΅ΡΠ°
xl:=0;
yl:=0;
zl:=0;
zlm:=StrToFloat (StringGrid1.cells[0,3]);
stg:=StringGrid1.ColCount;
clr:=0;
clb:=1.0;
h:=StrToFloat (Edit3.text);
wn:=StrToInt (Edit5.text);
obl:= StrToFloat (Edit6.Text);
//ox oy oz
glscalef (masht, masht, masht);
glLineWidth (3);
glcolor3f (1.0,1.0,1.0);
glBegin (GL_Lines);
glVertex3f (-1,-1,1);
glVertex3f (1,-1,1);
glVertex3f (-1,-1,1);
glVertex3f (-1,1,1);
glVertex3f (-1,-1,1);
glVertex3f (-1,-1,-1);
glend;
glLineWidth (1);
glcolor3f (1.0,1.0,0.0);
glBegin (GL_Lines);
//x
glVertex3f (1.1−0.03,-1+0.1,1);
glVertex3f (1.1+0.03,-1−0.1,1);
glVertex3f (1.1+0.03,-1+0.1,1);
glVertex3f (1.1−0.03,-1−0.1,1);
//z
glVertex3f (-1−0.03,1.1,1);
glVertex3f (-1+0.03,1.1,1);
glVertex3f (-1−0.03,1.1,1);
glVertex3f (-1+0.03,1.2,1);
glVertex3f (-1−0.03,1.2,1);
glVertex3f (-1+0.03,1.2,1);
//y
glVertex3f (-1,-1,-1−0.1);
glVertex3f (-1,-1+0.1,-1−0.1);
glVertex3f (-1,-1+0.1,-1−0.1);
glVertex3f (-1−0.03,-1+0.2,-1−0.1);
glVertex3f (-1,-1+0.1,-1−0.1);
glVertex3f (-1+0.03,-1+0.2,-1−0.1);
glend;
// if (ComboBox1.ItemIndex=1) then begin
/f1:=sin (x0)*sin (x0)/(sin (y0)*sin (y0)+1);
/f1:=sin (x0)/(x0+y0*y0+1);
i:=-wn;
j:=-wn;
while j<=wn do begin
i:=-wn;
yl:=j;
//glBegin (GL_points);
glBegin (GL_Lines);
glcolor3f (clr, 0.0,clb);
while i<=wn do begin
xl:=i; //f (x) ==
if (ComboBox1.ItemIndex=0) then
zl:=(exp (xl)+exp (yl))/(exp (xl*xl)+exp (yl*yl));
if (ComboBox1.ItemIndex=1) then
zl:=sin (xl)*sin (xl)/(sin (yl)*sin (yl)+1);
if (ComboBox1.ItemIndex=2) then
zl:=sin (xl)*cos (yl*yl);
if zl>=zlm then begin
zlm:=zl;
clr:=clr+0.01;
clb:=clb-0.01;
glcolor3f (clr, 0.0,clb);
end;
glVertex3f (xl*obl, zl*obl, yl*obl); //+++
i:=i+0.1;
xl:=i;
if (ComboBox1.ItemIndex=0) then
zl:=(exp (xl)+exp (yl))/(exp (xl*xl)+exp (yl*yl));
if (ComboBox1.ItemIndex=1) then
zl:=sin (xl)*sin (xl)/(sin (yl)*sin (yl)+1);
if (ComboBox1.ItemIndex=2) then
zl:=sin (xl)*cos (yl*yl);
glVertex3f (xl*obl, zl*obl, yl*obl); //++++
end;
j:=j+h;
end;
glend;
//——————————-;
i:=-wn;
j:=-wn;
clr:=0;
clb:=1.0;
zlm:=StrToFloat (StringGrid1.cells[0,3]);
while j<=wn do begin
i:=-wn;
xl:=j;
glBegin (GL_Lines);
glcolor3f (clr, 0.0,clb);
while i<=wn do begin
yl:=i; //f (x) ||
if (ComboBox1.ItemIndex=0) then
zl:=(exp (xl)+exp (yl))/(exp (xl*xl)+exp (yl*yl));
if (ComboBox1.ItemIndex=1) then
zl:=sin (xl)*sin (xl)/(sin (yl)*sin (yl)+1);
if (ComboBox1.ItemIndex=2) then
zl:=sin (xl)*cos (yl*yl);
if zl>=zlm then begin
zlm:=zl;
clr:=clr+0.01;
clb:=clb-0.01;
glcolor3f (clr, 0.0,clb);
end;
glVertex3f (xl*obl, zl*obl, yl*obl); //+++
i:=i+0.1;
yl:=i;
if (ComboBox1.ItemIndex=0) then
zl:=(exp (xl)+exp (yl))/(exp (xl*xl)+exp (yl*yl));
if (ComboBox1.ItemIndex=1) then
zl:=sin (xl)*sin (xl)/(sin (yl)*sin (yl)+1);
if (ComboBox1.ItemIndex=2) then
zl:=sin (xl)*cos (yl*yl);
glVertex3f (xl*obl, zl*obl, yl*obl); //+++
end;
j:=j+h;
end;
glend;
//——-;
it:=0;
glLineWidth (2);
glBegin (GL_Line_strip);
glcolor3f (0.0,1.0,0.0);
while it
xl:=StrToFloat (StringGrid1.cells[it, 1]); //+
yl:=StrToFloat (StringGrid1.cells[it, 2]); //+
zl:=StrToFloat (StringGrid1.cells[it, 3]); //+
glVertex3f (xl*obl, zl*obl, yl*obl);
it:=it+1;
end;
glend;
glLineWidth (1);
//tmax
glPointSize (6);
glBegin (GL_points);
glcolor3f (1.0,0.0,0.0);
glVertex3f (xl*obl, zl*obl, yl*obl);
glcolor3f (0.0,0.0,1.0);
glVertex3f (StrToFloat (StringGrid1.cells[0,1])*obl, StrToFloat (StringGrid1.cells[0,3])*obl, StrToFloat (StringGrid1.cells[0,2])*obl);
glend;
glscalef (1.0/masht, 1.0/masht, 1.0/masht);
glRotatef (verx, 1,0,0);
glRotatef (rt, 0,1,0);
SwapBuffers (DC);
Label2.Caption:=FloatToStr (zlm);
end;
procedure TForm1. Panel1MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbleft) then begin
radiobutton1.Checked:=true;
end;
end;
procedure TForm1. Panel1MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
radiobutton1.Checked:=false;
end;
procedure TForm1. Panel1MouseMove (Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
rt:=0;
verx:=0;
if radiobutton1. Checked=true then begin
rt:=xxmaus;
verx:=y-ymaus;
refresh;
end;
xmaus:=x;
ymaus:=y;
end;
procedure TForm1. Button2Click (Sender: TObject);
var
hx, hy, h, x0,y0,f0,gx, gy, g1x, g1y, e, f1: real;
i: integer;
begin
StringGrid1.ColCount:=1;
h :=0.001;
hx:=0.001;
hy:=0.001;
e:=0.002;
x0:=StrToInt (Edit1.Text);
y0:=StrToInt (Edit2.Text);
if (ComboBox1.ItemIndex=0) then begin
f0:=(exp (x0)+exp (y0))/(exp (x0*x0)+exp (y0*y0));
gx:=exp (x0)/(exp (x0*x0)+exp (y0*y0))-exp (x0*x0)*x0*(2*(exp (x0)+exp (y0))/((exp (x0*x0)+exp (y0*y0))*(exp (x0*x0)+exp (y0*y0))));
gy:=exp (y0)/(exp (y0*y0)+exp (x0*x0))-exp (y0*y0)*y0*(2*(exp (y0)+exp (x0))/((exp (y0*y0)+exp (x0*x0))*(exp (y0*y0)+exp (x0*x0))));
end;
if (ComboBox1.ItemIndex=1) then begin
f0:=sin (x0)*sin (x0)/(sin (y0)*sin (y0)+1);
gx:=2*sin (x0)*cos (x0)/(sin (y0)*sin (y0)+1);
gy:=-2*sin (x0)*sin (x0)*cos (y0)*sin (y0)/((sin (y0)*sin (y0)+1)*(sin (y0)*sin (y0)+1));
end;
if (ComboBox1.ItemIndex=2) then begin
f0:=sin (x0)*cos (y0*y0);
gx:= cos (x0)*cos (y0*y0);
gy:=-2*sin (x0)*sin (y0*y0)*y0;
end;
g1x:=gx;
g1y:=gy;
x0:=x0+hx*gx;
y0:=y0+hy*gy;
if (ComboBox1.ItemIndex=0) then
f1:=(exp (x0)+exp (y0))/(exp (x0*x0)+exp (y0*y0));
if (ComboBox1.ItemIndex=1) then
f1:=sin (x0)*sin (x0)/(sin (y0)*sin (y0)+1);
if (ComboBox1.ItemIndex=2) then
f1:=sin (x0)*cos (y0*y0);
StringGrid1.Cells[0,0]: ='1';
StringGrid1.Cells[0,1]:=FloatToStr (x0);
StringGrid1.Cells[0,2]:=FloatToStr (y0);
StringGrid1.Cells[0,3]:=FloatToStr (f1);
if f1
hx:=h;
hy:=h;
end
else begin
hx:=hx*2;
hy:=hy*2;
end;
i:=1;
while not ((abs (g1x)
begin
f0:=f1;
x0:=x0+hx*gx;
y0:=y0+hy*gy;
if (ComboBox1.ItemIndex=0) then begin
g1x:=exp (x0)/(exp (x0*x0)+exp (y0*y0))-exp (x0*x0)*x0*(2*(exp (x0)+exp (y0))/((exp (x0*x0)+exp (y0*y0))*(exp (x0*x0)+exp (y0*y0))));
g1y:=exp (y0)/(exp (y0*y0)+exp (x0*x0))-exp (y0*y0)*y0*(2*(exp (y0)+exp (x0))/((exp (y0*y0)+exp (x0*x0))*(exp (y0*y0)+exp (x0*x0))));
f1:=(exp (x0)+exp (y0))/(exp (x0*x0)+exp (y0*y0));
end;
if (ComboBox1.ItemIndex=1) then begin
g1x:=2*sin (x0)*cos (x0)/(sin (y0)*sin (y0)+1);
g1y:=-2*sin (x0)*sin (x0)*cos (y0)*sin (y0)/((sin (y0)*sin (y0)+1)*(sin (y0)*sin (y0)+1));
f1:=sin (x0)*sin (x0)/(sin (y0)*sin (y0)+1);
end;
if (ComboBox1.ItemIndex=2) then begin
f1:=sin (x0)*cos (y0*y0);
g1x:= cos (x0)*cos (y0*y0);
g1y:=-2*sin (x0)*sin (y0*y0)*y0;
end;
StringGrid1.Cells[i, 0]: =IntToStr (i+1);
StringGrid1.Cells[i, 1]:=FloatToStr (x0);
StringGrid1.Cells[i, 2]:=FloatToStr (y0);
StringGrid1.Cells[i, 3]:=FloatToStr (f1);
i:=i+1;
StringGrid1.ColCount:=i;
if f1
if (ComboBox1.ItemIndex=0) then begin
gx:=exp (x0)/(exp (x0*x0)+exp (y0*y0))-exp (x0*x0)*x0*(2*(exp (x0)+exp (y0))/((exp (x0*x0)+exp (y0*y0))*(exp (x0*x0)+exp (y0*y0))));
gy:=exp (y0)/(exp (y0*y0)+exp (x0*x0))-exp (y0*y0)*y0*(2*(exp (y0)+exp (x0))/((exp (y0*y0)+exp (x0*x0))*(exp (y0*y0)+exp (x0*x0))));
end;
if (ComboBox1.ItemIndex=1) then begin
gx:=2*sin (x0)*cos (x0)/(sin (y0)*sin (y0)+1);
gy:=-2*sin (x0)*sin (x0)*cos (y0)*sin (y0)/((sin (y0)*sin (y0)+1)*(sin (y0)*sin (y0)+1));
end;
if (ComboBox1.ItemIndex=2) then begin
gx:= cos (x0)*cos (y0*y0);
gy:=-2*sin (x0)*sin (y0*y0)*y0;
end;
hx:=h;
hy:=h;
end
else begin
hx:=hx*2;
hy:=hy*2;
end;
end;
Label1.Caption:=FloatToStr (f1);
refresh;
end;
procedure TForm1. Edit3Change (Sender: TObject);
var
c: real;
begin
try
c:=StrToFloat (Edit3.text);
except
Edit3.text:='0,05';
end;
end;
procedure TForm1. Edit1Change (Sender: TObject);
var
c: integer;
begin
try
c:=StrToInt (Edit1.text);
except
Edit1.text:='-1';
end;
end;
procedure TForm1. Edit2Change (Sender: TObject);
var
c: integer;
begin
try
c:=StrToInt (Edit2.text);
except
Edit2.text:='-1';
end;
end;
procedure TForm1. Edit4Change (Sender: TObject);
begin
masht:=StrToFloat (Edit4.text)/10;
refresh;
end;
procedure TForm1. Edit5Change (Sender: TObject);
var
c: integer;
begin
try
c:=StrToInt (Edit5.text);
except
Edit5.text:='1';
end;
end;
procedure TForm1. Edit6Change (Sender: TObject);
var
c: real;
begin
try
c:=StrToFloat (Edit6.text);
except
Edit6.text:='1,0';
end;
end;
end.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
Π’Π΅ΡΡ 1:
ΠΠ°ΠΉΠ΄ΡΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ f (x, y)=(exp (x)+exp (y))/(exp (x2)+exp (y2))
ΠΡΠΎΡΡΠΎΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ
ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°
Π’Π΅ΡΡ 2:
ΠΠ°ΠΉΠ΄ΡΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ f (x, y)=sin (x0)*sin (x0)/(sin (y0)*sin (y0)+1)
ΠΡΠΎΡΡΠΎΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄
ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°
Π’Π΅ΡΡ 3:
ΠΠ°ΠΉΠ΄ΡΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ f (x, y)= sin (x0)*cos (y0*y0)
ΠΡΠΎΡΡΠΎΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄
ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΡΠΊΠ°
ΠΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ, ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°