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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ исслСдованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² вычислСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ²

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ: Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ слоя ΠΌΠ΅Π΄ΠΈ, Π²Ρ‹Π΄Π΅Π»ΠΈΠ²ΡˆΠ΅ΠΉΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ элСктролиза Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ раствора Ρ…Π»ΠΎΡ€ΠΈΠ΄Π° ΠΌΠ΅Π΄ΠΈ (II) Π½Π° ΠΊΠ°Ρ‚ΠΎΠ΄Π΅. Π˜Π·Π²Π΅ΡΡ‚Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ силы Ρ‚ΠΎΠΊΠ° ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠžΡ‚ΡΡŽΠ΄Π° ΠΈΠΌΠ΅Π΅ΠΌ. ЀактичСски Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вычислСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° Π½Π° Visual Basic 6.0 ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ. Назовём Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ metod_trapec. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ исслСдованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² вычислСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅:

«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² вычислСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ²»

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π». Если ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» бСрётся Π² Π°Π»Π³Π΅Π±Ρ€Π°ΠΈΡ‡Π΅ΡΠΊΠΈΡ… функциях, Ρ‚ΠΎ Π²ΡΡ‘ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΠΈ Π²Π·ΡΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт Ρ‚Ρ€ΡƒΠ΄Π°. А Π΅ΡΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» Π½Π΅ Π±Π΅Ρ€Ρ‘тся Π² Π°Π»Π³Π΅Π±Ρ€Π°ΠΈΡ‡Π΅ΡΠΊΠΈΡ… функциях ΠΈΠ»ΠΈ просто ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…одится ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ нСсколько способов вычислСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² Π½Π° Π­Π’Πœ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС эти способы ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ лишь ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡ‘Π½Π½Ρ‹Π΅ значСния. Π’ ΡΡ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° вычислСния: ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Бимпсона (ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ°Ρ€Π°Π±ΠΎΠ»).

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ ΠŸΡƒΡΡ‚ΡŒ Y=, Π³Π΄Π΅ — интСгрируСмая функция, нСпрСрывная Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅. Для наглядности Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π° Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅. Π’ ΡΡ‚ΠΎΠΌ случаС Y ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΡ€ΠΈΠ²ΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ линиями: ,. Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ΅ число ΠΈ Ρ€Π°Π·ΠΎΠ±ΡŒΡ‘ΠΌ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ Π½Π° Ρ€Π°Π²Π½Ρ‹Ρ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ:, ,, , …,. ΠŸΡ€ΡΠΌΡ‹Π΅ Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ Π½Π°ΡˆΡƒ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΡŽ Π½Π° ΠΏΠΎΠ»ΠΎΡΠΎΠΊ. КаТдая полоса ΠΈΠΌΠ΅Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ: ΠΈ. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΠΌ прямой Ρ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эти Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ полоски ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ стала Ρ€Π°Π²Π½Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ прямолинСйной Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ (см. Ρ€ΠΈΡ. 1).

Рис. 1

ΠŸΠ»ΠΎΡ‰Π°Π΄ΡŒ самой Π»Π΅Π²ΠΎΠΉ полоски ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡ‘Π½Π½ΠΎ Ρ€Π°Π²Π½Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ самой Π»Π΅Π²ΠΎΠΉ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:. Из ΠΌΠ°Ρ‚СматичСских сообраТСний ΠΈ, Π° Π²Ρ‹ΡΠΎΡ‚Π° Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ. Π—Π½Π°Ρ‡ΠΈΡ‚. ΠŸΠ»ΠΎΡ‰Π°Π΄ΠΈ всСх ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… полосок выразятся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ способом ΠΈ ΡΠΎΡΡ‚авят:, ,, …,. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅ΠΉ нас ΠΊΡ€ΠΈΠ²ΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ всСх полосок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡ‘Π½Π½ΠΎ Ρ€Π°Π²Π½Ρ‹ площадям ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… прямолинСйных Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΡ€ΠΈΠ²ΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°, Ρ€Π°Π²Π½Ρ‹.

Π­Ρ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ матСматичСскиС сокращСния ΠΈ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ — Π΄Π»ΠΈΠ½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ€Π°Π²Π½Ρ‹Ρ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² ΠΈΠ»ΠΈ высота ΠΊΠ°ΠΆΠ΄ΠΎΠΉ прямолинСйной Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ:

(1).

Данная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° называСтся Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ. Π•Ρ‘ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚. Π§Π΅ΠΌ большС количСство Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ вычислСний.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ: Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ слоя ΠΌΠ΅Π΄ΠΈ, Π²Ρ‹Π΄Π΅Π»ΠΈΠ²ΡˆΠ΅ΠΉΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ элСктролиза Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ раствора Ρ…Π»ΠΎΡ€ΠΈΠ΄Π° ΠΌΠ΅Π΄ΠΈ (II) Π½Π° ΠΊΠ°Ρ‚ΠΎΠ΄Π΅. Π˜Π·Π²Π΅ΡΡ‚Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ силы Ρ‚ΠΎΠΊΠ° ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠžΡ‚ΡΡŽΠ΄Π° ΠΈΠΌΠ΅Π΅ΠΌ. ЀактичСски Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вычислСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° Π½Π° Visual Basic 6.0 ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ. Назовём Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ metod_trapec. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ down_predel=0 — Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» интСгрирования, up_predel — Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» интСгрирования (врСмя наблюдСния), chislo_razb — число Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Public Function metod_trapec (ByVal a As Single, ByVal b As Single, ByVal n As Long) As Double

Dim h As Single

Dim s As Double

Dim i As Long

h = (b — a) / n

s = (F (a, Io) + F (b, Io)) * h / 2

For i = 1 To n — 1

s = s + F (a + i * h, Io) * h

Next i

metod_trapec = s

End Function

__________

ЀактичСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ down_predel, up_predel, chislo_razb ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ a, b, n. Π’ ΠΎΡΠ½ΠΎΠ²Π΅ Π»Π΅ΠΆΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ (1), записанная ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ:

.

НакапливаСм сумму, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ искомым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°. Π”Π°Π»Π΅Π΅ присваиваСм ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ s.

ΠœΠ΅Ρ‚ΠΎΠ΄ Бимпсона (ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ°Ρ€Π°Π±ΠΎΠ») ΠŸΡƒΡΡ‚ΡŒ Y=, Π³Π΄Π΅ — интСгрируСмая функция, нСпрСрывная Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅. Для наглядности Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π° Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅. Π’ ΡΡ‚ΠΎΠΌ случаС Y ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΡ€ΠΈΠ²ΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ линиями: ,. Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ‡Ρ‘Ρ‚Π½ΠΎΠ΅ число ΠΈ Ρ€Π°Π·ΠΎΠ±ΡŒΡ‘ΠΌ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ Π½Π° Ρ€Π°Π²Π½Ρ‹Ρ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ:, …,. ΠŸΡ€ΡΠΌΡ‹Π΅ Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ Π½Π°ΡˆΡƒ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΡŽ Π½Π° ΠΏΠΎΠ»ΠΎΡΠΎΠΊ. КаТдая полоса ΠΈΠΌΠ΅Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ: ΠΈ. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эти Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ:, ,, …,. На Π²ΡΡ‘ΠΌ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅ интСгрирования Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ Π΄Π²ΡƒΡ… сосСдних полосок, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… прямыми ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡ‘Π½Π½ΠΎ Ρ€Π°Π²Π½Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΏΠΎΠ΄ ΠΏΠ°Ρ€Π°Π±ΠΎΠ»ΠΎΠΉ, ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ (см. Ρ€ΠΈΡ. 2).

Рис. 2

Вычислим ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΏΠΎΠ΄ ΠΏΠ°Ρ€Π°Π±ΠΎΠ»ΠΎΠΉ, проходящСй Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ. Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π±ΠΎΠ»Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄. ΠŸΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΏΠΎΠ΄ ΠΏΠ°Ρ€Π°Π±ΠΎΠ»ΠΎΠΉ:

(2).

ΠŸΠ°Ρ€Π°Π±ΠΎΠ»Π° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρ€ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΈ, Π³Π΄Π΅. РСшая систСму ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ: .

ΠŸΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ (2). ΠžΡ‚ΡΡŽΠ΄Π° слСдуСт, Ρ‡Ρ‚ΠΎ, Π³Π΄Π΅. РаспространяСм Π½Π° Π²Π΅ΡΡŒ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ:

. Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ матСматичСских ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ²:

(3).

Данная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° называСтся Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ Бимпсона. Π•Ρ‘ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚. Π§Π΅ΠΌ большС количСство Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ вычислСний.

ЀактичСски Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вычислСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° Π½Π° Visual Basic 6.0 ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Бимпсона. Назовём Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ metod_Simpson. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ down_predel — Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» интСгрирования, up_predel — Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» интСгрирования, chislo_razb — число Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Public Function metod_Simpson (ByVal a1 As Single, ByVal b1 As Single, ByVal n As Long) As Double

Dim h As Single

Dim s As Double

Dim i As Long

Dim x As Single

h = (b1 — a1) / n

s = F (a1, Io) + F (b1, Io) + 4 * F (a1 + h, Io)

For i = 1 To Int (n / 2) — 1

x = a1 + 2 * h * i

s = s + 2 * F (x, Io) + 4 * F (x + h, Io)

Next i

metod_Simpson = s * h / 3

End Function

ЀактичСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ down_predel, up_predel, chislo_razb ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ a, b, n. Π’ ΠΎΡΠ½ΠΎΠ²Π΅ Π»Π΅ΠΆΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Бимпсона. Π‘ΡƒΠΌΠΌΠ° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‚Ρ€Ρ‘Ρ… слагаСмых Π² ΡΡ‚ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ являСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠ±Π΅Π³Π°Π΅ΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌΡƒ ΠΎΡ‚Ρ€Π΅Π·ΠΊΡƒ интСгрирования, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… полосок, ΠΈ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅ΠΌ сумму. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π΅Ρ‘ Π½Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ искомым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°. Π”Π°Π»Π΅Π΅ присваиваСм ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ .

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния ΠŸΡ€ΠΈ запускС Microsoft Visual Basic 6.0 автоматичСски выскакиваСт ΠΎΠΊΠ½ΠΎ с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Standard EXE. НаТимаСм OK. Начнём созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с Ρ‚ΠΈΡ‚ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ листа. Для этого Π² ΠΌΠ΅Π½ΡŽ Project Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Add Form. Π’ ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Dialog ΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ OK. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ Ρ„ΠΎΡ€ΠΌΠ΅ расставим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹: Label1, Label2,…, Label8, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ (см. Ρ€ΠΈΡ. 3).

Рис. 3 Π’ΠΈΡ‚ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ лист Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вычислСниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ свойству Caption Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «Π’ΠΈΡ‚ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ лист». На ΠΊΠ½ΠΎΠΏΠΊΡƒ Π’Ρ…ΠΎΠ΄ напишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄:

Private Sub OKButton_Click ()

Unload Dialog

Form1.Show

End Sub

ΠŸΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π’Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ выгруТаСтся Ρ„ΠΎΡ€ΠΌΠ° Dialog ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ся базовая Ρ„ΠΎΡ€ΠΌΠ°, слуТащая Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Ρ„ΠΎΡ€ΠΌΠ° Form1. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Form1, Π² ΠΌΠ΅Π½ΡŽ Project Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Add Form. Π’ ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Form ΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ OK. Π©Ρ‘Π»ΠΊΠ½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Components, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ нСстандартныС инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понадобятся Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ: Microsoft Windows Common Controls 6.0. ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ свойству Caption Ρ„ΠΎΡ€ΠΌΡ‹ Form1 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «ΠšΡƒΡ€ΡΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ — Π’Π΅ΠΌΠ° 7 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 9 (Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹ слоя)». Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ мСню для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Для этого Π² ΠΌΠ΅Π½ΡŽ Tools Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Menu Editor. Π’ ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ напишСм названия ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ мСню. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ мСню с Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ (см. Ρ€ΠΈΡ. 4).

Рис. 4 Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ мСню ОпишСм, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню.

1. MnuFileExit — осущСствляСт Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.

Private Sub MnuFileExit_Click ()

End

End Sub

Рис. 5

2. MnuFileSave_rez — осущСствляСт сохранСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° экспСримСнта. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сохраняСтся Π² Ρ„Π°ΠΉΠ»Π΅ log. txt, ΠΊΡƒΠ΄Π° записываСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» интСгрирования, Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» интСгрирования, количСство Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования, вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°, истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°, ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ вычислСний.

Private Sub MnuFileSave_rez_Click ()

Dim metod As String

If Option1. Value Then

metod = «ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ»

Else

metod = «ΠœΠ΅Ρ‚ΠΎΠ΄ Бимпсона»

End If

Open «log.txt» For Output As #1

Print #1, «ΠžΠ’Π§Π•Π’ ΠŸΠž Π’Π«ΠŸΠžΠ›ΠΠ•ΠΠΠ«Πœ Π’Π«Π§Π˜Π‘Π›Π•ΠΠ˜Π―Πœ»

Print #1, «Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:», metod

Print #1, «Π’рСмя наблюдСния:», up_predel

Print #1, «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования:», chislo_razb

Print #1, «Π’ычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°:», znach_integrala

Print #1, «Π˜ΡΡ‚ΠΈΠ½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°:», istinnoe_znach_integrala (down_predel, up_predel)

Print #1, «ΠŸΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ вычислСния:», Abs (istinnoe_znach_integrala (down_predel, up_predel) — znach_integrala)

Close #1

a = MsgBox («ΠžΡ‚Ρ‡Π΅Ρ‚ сохранСн ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ!» & Chr (10) & Chr (13) & «Π΄Π»Ρ просмотра ΠΎΡ‚Ρ‡Π΅Ρ‚Π°: Π€Π°ΠΉΠ»>>ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°», «ΠžΡ‚Ρ‡Π΅Ρ‚»)

End Sub

3. MnuFileLook_rez — осущСствляСт Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ Ρ€Π°Π½Π΅Π΅ сохранённого Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Ссли ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π³ΠΎ сохранили.

Private Sub MnuFileOpen_rez_Click ()

Form3.Show 1, Form1

End Sub

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ загруТаСтся Ρ„ΠΎΡ€ΠΌΠ° Form3, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ PictureBox1, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выводится сохранСнный ΠΎΡ‚Ρ‡Π΅Ρ‚. Для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‚Ρ‡Π΅Ρ‚Π° сущСствуСт ΠΊΠ½ΠΎΠΏΠΊΠ° «Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚». ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Form3:

Dim stroka As String

Private Sub cmdBack_Click ()

Unload Form3

End Sub

Private Sub cmdLoadLog_Click ()

On Error GoTo Err

Open «log.txt» For Input As #1

For i = 1 To 8

Line Input #1, stroka

Picture1.Print stroka

Next i

Close #1

Err:

If Err. Number = 53 Then

a = MsgBox («ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ€Π°Π½Π΅Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ сохранСно Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²!», «ΠžΡˆΠΈΠ±ΠΊΠ°»)

Unload Form3

End If

End Sub

Π’ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ cmdLoadLog_Click (), провСряСтся сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ» с ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠΌ, Ссли Π΄Π° Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, построчноС считываниС ΠΈΠ· Π½Π΅Π³ΠΎ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Picture1, Ссли Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΎΠ± ΡΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ± ΡΡ‚ΠΎΠΌ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡŽΡ‚. Готовая Ρ„ΠΎΡ€ΠΌΠ° Form3 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ (см. Ρ€ΠΈΡ. 6). ΠŸΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ «ΠΠ°Π·Π°Π΄» (Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ cmdBack) происходит Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹ Form3 ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Рис. 6

4. MnuHelpAbout — Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’Ρ‹Π²ΠΎΠ΄ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΎΡ€ΠΌΡ‹ Dialog2.

Private Sub MnuHelpAbout_Click ()

Dialog2.Show 1, Form1

End Sub

ΠŸΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ «OK» (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Command1) происходит Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹ Dialog2 ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Готовая Ρ„ΠΎΡ€ΠΌΠ° Dialog2 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ (см. Ρ€ΠΈΡ. 7).

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹ Dialog2:

Private Sub OKButton_Click ()

Unload Dialog2

End Sub

5. MnuMatemFormula — Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°. Π’Ρ‹Π²ΠΎΠ΄ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΎΡ€ΠΌΡ‹ Dialog1.

Private Sub MnuMatemFormula_click ()

Dialog1.Show 1, Form1

End Sub

6. MnuMatemGrafik_Pogreshn — Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ Ρ„ΠΎΡ€ΠΌΡƒ Form2. Π’ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ зависимости ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΡ‚ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования.

Private Sub MnuMatemGrafik_Pogreshn_click ()

Form2.Show 1, Form1

End Sub

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹ Form2:

Dim i As Long

Dim a As Single, b As Single, n As Long

Public Io As Single

Public Function istinnoe_znach_integrala (a As Single, b As Single) As Double

a0 = 0.15: b0 = 0.1: po = 8600: faradey = 96 500: M = 64.5 * 10 ^ (-3)

istinnoe_znach_integrala = Io * M / (2 * 2 * faradey * po * a0 * b0) * (b ^ 3 / 3 — 3 / 2 * b ^ 2 + 9 * b — 27 * Log ((b + 3) / 3))

End Function

Public Function metod_trapec (ByVal a As Single, ByVal b As Single, ByVal n As Long) As Double

Dim h As Single

Dim s As Double

Dim i As Long

h = (b — a) / n

s = (F (a, Io) + F (b, Io)) * h / 2

For i = 1 To n — 1

s = s + F (a + i * h, Io) * h

Next i

metod_trapec = s

End Function

Public Function metod_Simpson (ByVal a1 As Single, ByVal b1 As Single, ByVal n As Long) As Double

Dim h As Single

Dim s As Double

Dim i As Long

Dim x As Single

h = (b1 — a1) / n

s = F (a1, Io) + F (b1, Io) + 4 * F (a1 + h, Io)

For i = 1 To Int (n / 2) — 1

x = a1 + 2 * h * i

s = s + 2 * F (x, Io) + 4 * F (x + h, Io)

Next i

metod_Simpson = s * h / 3

End Function

Private Sub Command1_Click ()

koeff = 2 * 10 ^ 9

Picture1.Cls

Io = Form1. Text2

a = 0

b = Val (Text3.Text)

N1 = Val (Text4.Text)

N2 = Val (Text5.Text)

save = Text1

If Check1. Value = vbChecked Then

Open save For Output As #1

Print #1, «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ»; ««; «ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ»; ««; «ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Бимпсона»

Close #1

End If

s = istinnoe_znach_integrala (a, b)

X0 = N1

Y1 = 250 * koeff * Abs (metod_Simpson (a, b, 10) — s)

Y2 = koeff * Abs (metod_trapec (a, b, 10) — s)

Picture1.Scale (-20, 10)-(N2 + 10, -2)

For n = N1 To N2 Step 2

ss = metod_Simpson (a, b, n)

st = metod_trapec (a, b, n)

pogtr = Abs (s — st)

POGss = Abs (s — ss)

If Check1. Value = vbChecked Then

Open save For Append As #1

Print #1, ««; n, ««; pogtr, ««; POGss

Close #1

End If

Picture1.Line (X0, Y1)-(n, 250 * koeff * POGss), RGB (255, 0, 0)

Picture1.Line (X0, Y2)-(n, koeff * pogtr), RGB (0, 0, 255)

Picture1.Line (-50, 0)-((N2 + 50), 0)

Picture1.Line (0, -30)-(0, 20)

X0 = n

Y1 = 250 * koeff * POGss

Y2 = koeff * pogtr

If n <= 30 And n Mod 10 = 0 Then

Picture1.PSet (-16, koeff * pogtr)

Picture1.Print Format (pogtr, «#.##e-#»)

Picture1.Line (-20, koeff * pogtr)-(210, koeff * pogtr), RGB (0, 255, 0)

End If

Next n

For i = 10 To N2 + 50 Step 10

Picture1.PSet (i, 0)

Picture1.Print i

Picture1.Line (i, -10)-(i, N2), RGB (0, 255, 0)

Next i

End Sub

Private Sub Command2_Click ()

Unload Form2

End Sub

ВычисляСм ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ, отнимая ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° ΠΎΡ‚ ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΠ³ΠΎ, вычисляСмого Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ istinnoe_znach_integrala, находящСйся Π² Ρ„ΠΎΡ€ΠΌΠ΅ Form1. Π—Π°Ρ‚Π΅ΠΌ строим Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Picture1. ΠŸΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ «ΠΠ°Π·Π°Π΄» (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Command2) Ρ„ΠΎΡ€ΠΌΠ° Form2 выгруТаСтся ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Готовая Ρ„ΠΎΡ€ΠΌΠ° Form2 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ (см. Ρ€ΠΈΡ. 8).

ΠœΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π»ΠΈ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ Form1. ΠŸΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ «ΠŸΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ вычислСния» (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Command1) происходит считываниС ΠΈΠ· Ρ‚Скстовых ΠΏΠΎΠ»Π΅ΠΉ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: врСмя наблюдСния, Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ силы Ρ‚ΠΎΠΊΠ°, число Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования. Π”Π°Π»Π΅Π΅ слСдуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ вычислСниС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ построСниС Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ зависимости силы Ρ‚ΠΎΠΊΠ° Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ участкС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π“Ρ€Π°Ρ„ΠΈΠΊ строится Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° выводится Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Picture1. Π­Ρ‚ΠΎ достигаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ систСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ вводится исходя ΠΈΠ· ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΈΠ· Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования. Для этого ΠΌΡ‹ ΠΈ ΠΈΡ‰Π΅ΠΌ y_max ΠΈ y_min. Π”Π°Π»Π΅Π΅ ставим подписи Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования.

Рис. 8

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹ Form1:

Dim down_predel As Single

Dim up_predel As Single

Dim znach_integrala As Double

Dim chislo_razb As Long

Dim i As Single

'Public Io As Single

Dim y_max As Single

Dim y_min As Single

'Ѐункция вычислСния истинного значСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ ΠΡŒΡŽΡ‚ΠΎΠ½Π°-Π›Π΅ΠΉΠ±Π½ΠΈΡ†Π°.

Public Function istinnoe_znach_integrala (a As Single, b As Single) As Double

a0 = 0.15: b0 = 0.1: po = 8600: faradey = 96 500: M = 64.5 * 10 ^ (-3)

istinnoe_znach_integrala = Io * M / (2 * 2 * faradey * po * a0 * b0) * (b ^ 3 / 3 — 3 / 2 * b ^ 2 + 9 * b — 27 * Log ((b + 3) / 3))

End Function

'Ѐункция вычислСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ.

Public Function metod_trapec (a As Single, b As Single, n As Long) As Double

Dim h As Single

Dim s As Double

Dim i As Long

h = (b — a) / n

s = (F (a, Io) + F (b, Io)) * h / 2

For i = 1 To n — 1

s = s + F (a + i * h, Io) * h

Next i

metod_trapec = s

End Function

'Ѐункция вычислСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Бимпсона.

Public Function metod_Simpson (a As Single, b As Single, n As Long) As Double

Dim h As Single

Dim s As Double

Dim i As Long

Dim x As Single

h = (b — a) / n

s = F (a, Io) + F (b, Io) + 4 * F (a + h, Io)

For i = 1 To Int (n / 2) — 1

x = a + 2 * h * i

s = s + 2 * F (x, Io) + 4 * F (x + h, Io)

Next i

metod_Simpson = s * h / 3

End Function

Private Sub Command1_Click ()

For i = 0 To 9

Picture3.Line (down_predel + i * (up_predel — down_predel) / 10, 0)-(down_predel + i * (up_predel — down_predel) / 10, F (down_predel + i * (up_predel — down_predel) / 10, Io))

Picture3.Line (down_predel + i * (up_predel — down_predel) / 10, F (down_predel + i * (up_predel — down_predel) / 10, Io))-(down_predel + (i + 1) * (up_predel — down_predel) / 10, F (down_predel + (i + 1) * (up_predel — down_predel) / 10, Io))

Picture3.Line (down_predel + (i + 1) * (up_predel — down_predel) / 10, F (down_predel + (i + 1) * (up_predel — down_predel) / 10, Io))-(down_predel + (i + 1) * (up_predel — down_predel) / 10, 0)

Next i

End Sub

'Ѐункция Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Private Sub MnuFileExit_Click ()

End

End Sub

Private Sub MnuFileOpen_rez_Click ()

Form3.Show 1, Form1

End Sub

'БохранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² Ρ„Π°ΠΉΠ» log. txt

Private Sub MnuFileSave_rez_Click ()

Dim metod As String

If Option1. Value Then

metod = «ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ»

Else

metod = «ΠœΠ΅Ρ‚ΠΎΠ΄ Бимпсона»

End If

Open «log.txt» For Output As #1

Print #1, «ΠžΠ’Π§Π•Π’ ΠŸΠž Π’Π«ΠŸΠžΠ›ΠΠ•ΠΠΠ«Πœ Π’Π«Π§Π˜Π‘Π›Π•ΠΠ˜Π―Πœ»

Print #1, «Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:», metod

Print #1, «Π’рСмя наблюдСния:», up_predel

Print #1, «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования:», chislo_razb

Print #1, «Π’ычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹ слоя:», znach_integrala

Print #1, «Π˜ΡΡ‚ΠΈΠ½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹ слоя:», istinnoe_znach_integrala (down_predel, up_predel)

Print #1, «ΠŸΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ вычислСния:», Abs (istinnoe_znach_integrala (down_predel, up_predel) — znach_integrala)

Close #1

a = MsgBox («ΠžΡ‚Ρ‡Π΅Ρ‚ сохранСн ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ!» & Chr (10) & Chr (13) & «Π΄Π»Ρ просмотра ΠΎΡ‚Ρ‡Π΅Ρ‚Π°: Π€Π°ΠΉΠ»>>ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°», «ΠžΡ‚Ρ‡Π΅Ρ‚»)

End Sub

Private Sub MnuHelpAbout_Click ()

Dialog2.Show 1, Form1

End Sub

Private Sub MnuMatemGrafik_Pogreshn_click ()

Form2.Show 1, Form1

End Sub

Private Sub cmd_chet_Click ()

down_predel = 0

up_predel = Val (Text1.Text)

Io = Val (Text2.Text)

chislo_razb = Val (Text3.Text)

Picture1.Cls

Picture2.Cls

If chislo_razb <= 0 Then

MsgBox «Π§ΠΈΡΠ»ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ большС нуля.», vbCritical, «Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!»

Exit Sub

End If

If up_predel < 0 Then

MsgBox «Π’рСмя испытаний Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ», vbCritical, «Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!»

Exit Sub

End If

If Option1. Value Then

znach_integrala = metod_trapec (down_predel, up_predel, chislo_razb)

Else

znach_integrala = metod_Simpson (down_predel, up_predel, chislo_razb)

If chislo_razb Mod 2 = 1 Then

MsgBox «Π§ΠΈΡΠ»ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° интСгрирования ΠΏΡ€ΠΈ Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ.», vbCritical, «Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!»

Exit Sub

End If

End If

Frame3.Caption = «Π“Ρ€Π°Ρ„ΠΈΠΊ зависимости силы Ρ‚ΠΎΠΊΠ° Π½Π° [» & down_predel & «;» & up_predel & «]»

Picture1.Print znach_integrala

Picture2.Print istinnoe_znach_integrala (down_predel, up_predel)

y_max = F (down_predel, Io)

y_min = F (down_predel, Io)

For i = down_predel To up_predel Step 0.001

If F (i, Io) < y_min Then

y_min = F (i, Io)

End If

If F (i, Io) > y_max Then

y_max = F (i, Io)

End If

Next i

Picture3.Cls

Picture3.DrawWidth = 1

Picture3.Scale (down_predel — (up_predel — down_predel) / 3, y_max + (y_max — y_min) / 3)-(up_predel + (up_predel — down_predel) / 3, y_min — (y_max — y_min) / 3)

'РисованиС осСй

Picture3.Line (down_predel — (up_predel — down_predel) / 3, 0)-(up_predel + (up_predel — down_predel) / 3, 0)

Picture3.Line (0, y_max + (y_max — y_min) / 3)-(0, y_min — (y_max — y_min) / 3)

'Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π½Π° ΠΎΡΠΈ OX

Picture3.Line (up_predel + (up_predel — down_predel) / 3, 0)-(up_predel + (up_predel — down_predel) / 3 — (up_predel — down_predel) / 24, (y_max — y_min) / 50)

Picture3.Line (up_predel + (up_predel — down_predel) / 3, 0)-(up_predel + (up_predel — down_predel) / 3 — (up_predel — down_predel) / 24, -(y_max — y_min) / 50)

'Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π½Π° ΠΎΡΠΈ OY

Picture3.Line (0, y_max + (y_max — y_min) / 3)-(-(up_predel — down_predel) / 100, y_max + (y_max — y_min) / 3 — (y_max — y_min) / 12)

Picture3.Line (0, y_max + (y_max — y_min) / 3)-((up_predel — down_predel) / 100, y_max + (y_max — y_min) / 3 — (y_max — y_min) / 12)

'ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

Picture3.Line (down_predel, F (down_predel, Io))-(down_predel, 0), RGB (255, 0, 0)

Picture3.Line (up_predel, F (up_predel, Io))-(up_predel, 0), RGB (255, 0, 0)

For i = down_predel To up_predel Step 0.001

Picture3.PSet (i, F (i, Io)), RGB (0, 0, 255)

Next i

'ЛСвая подпись

Picture3.CurrentX = down_predel — (up_predel — down_predel) / 40

If F (down_predel, Io) > 0 Then

Picture3.CurrentY = -(y_max — y_min) / 25

Else

Picture3.CurrentY = (y_max — y_min) / 8

End If

Picture3.Print down_predel

'ΠŸΡ€Π°Π²Π°Ρ подпись

Picture3.CurrentX = up_predel — (up_predel — down_predel) / 40

If F (up_predel, Io) > 0 Then

Picture3.CurrentY = -(y_max — y_min) / 25

Else

Picture3.CurrentY = (y_max — y_min) / 8

End If

Picture3.Print up_predel

End Sub

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π». Если ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» бСрётся Π² Π°Π»Π³Π΅Π±Ρ€Π°ΠΈΡ‡Π΅ΡΠΊΠΈΡ… функциях, Ρ‚ΠΎ Π²ΡΡ‘ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΠΈ Π²Π·ΡΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт Ρ‚Ρ€ΡƒΠ΄Π°. А Π΅ΡΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» Π½Π΅ Π±Π΅Ρ€Ρ‘тся Π² Π°Π»Π³Π΅Π±Ρ€Π°ΠΈΡ‡Π΅ΡΠΊΠΈΡ… функциях ΠΈΠ»ΠΈ просто ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…одится ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ нСсколько способов вычислСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² Π½Π° Π­Π’Πœ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС эти способы ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ лишь ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡ‘Π½Π½Ρ‹Π΅ значСния. Π’ ΡΡ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° вычислСния: ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Бимпсона (ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ°Ρ€Π°Π±ΠΎΠ»).

1. ΠœΠ°ΡΡ‚Π΅Ρ€ — Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Visual Basic 6.0 AlexSoft 2010 Π³.

2. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π’Ρ‹ΡΡˆΠ°Ρ школа. ΠžΡΡ‚Ρ€Π΅ΠΉΠΊΠΎΠ²ΡΠΊΠΈΠΉ Π’. А. 2009 Π³.

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