ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡ€Π΅ΠΉΡˆΠ΅Π³ΠΎ спуска

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

БрСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π›ΡŽΠ±ΠΎΠΉ компилятор для систСмы 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)

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄

ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π°ΠΈΡΠΊΠΎΡ€Π΅ΠΉΡˆΠ΅Π³ΠΎ спуска

ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ максимума

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ