nput # 1, stroka.Print strokai # 1: Err.Number=53 Then=MsgBox ( Неможливо завантажити результат, раніше не було збережено результатів! Raquo; ,, Помилка ) Form3IfSub
У процедурі cmdLoadLog_Click (), перевіряється чи існує файл зі звітом, якщо так то відбувається відкриття зазначеного файлу, порядкове зчитування з нього і висновок в об'єкт Picture1, якщо такого файлу немає, то про це користувача про це повідомляють. Готова форма Form3 зображена на малюнку (див. Рис. 6). При натисканні на кнопці «Назад» (на об'єкті cmdBack) відбувається вивантаження форми Form3 з оперативної пам'яті.
Рис. 6
4. MnuHelpAbout - виводить на екран інформацію про програму. Вивід здійснюється за допомогою форми Dialog2.
Sub MnuHelpAbout_Click (). Show 1, Form1Sub
При натисканні на кнопці «OK» (об'єкт Command1) відбувається вивантаження форми Dialog2 з оперативної пам'яті. Готова форма Dialog2 зображена на малюнку (див. Рис. 7).
Програмний код форми Dialog2:
Sub OKButton_Click () Dialog2Sub
. MnuMatemFormula - виводить на екран ручної виведення формули заданого певного інтеграла. Вивід здійснюється за допомогою форми Dialog1.
Sub MnuMatemFormula_click (). Show 1, Form1Sub
. MnuMatemGrafik_Pogreshn - виводить на екран форму Form2. У ній можна побудувати графік залежності похибки заданого методу від кількості розбиття відрізка інтегрування.
Sub MnuMatemGrafik_Pogreshn_click (). Show 1, Form1Sub
Програмний код форми Form2:
i As Longa As Single, b As Single, n As LongIo As SingleFunction istinnoe_znach_integrala (a As Single, b As Single) As Double=0.15: b0=0.1: po=+8600: faradey=96500: M=64.5 * 10 ^ (- 3) _znach_integrala=Io * M/(2 * 2 * faradey * po * a0 * b0) * (b ^ 3/3 - 3/2 * b ^ 2 + 9 * b - 27 * Log ((b + 3)/3)) FunctionFunction metod_trapec (ByVal a As Single, ByVal b As Single, ByVal n As Long) As Doubleh As Singles As Doublei As Long=(b - a)/n=(F ( a, Io) + F (b, Io)) * h/2i=1 To n - 1=s + F (a + i * h, Io) * hi_trapec=sFunctionFunction metod_Simpson (ByVal a1 As Single, ByVal b1 As Single , ByVal n As Long) As Doubleh As Singles As Doublei As Longx As Single=(b1 - a1)/n=F (a1, Io) + F (b1, Io) + 4 * F (a1 + h, Io) i =1 To Int (n/2) - 1=a1 + 2 * h * i=s + 2 * F (x, Io) + 4 * F (x + h, Io) i_Simpson=s * h/3FunctionSub Command1_Click ( )=2 * 10 ^ 9.Cls=Form1.Text2=0=Val (Text3.Text)=Val (Text4.Text)=Val (Text5.Text)=Text1Check1.Value=vbChecked Thensave For Output As # 1 # 1 , кількість розбиттів raquo ;; raquo ;; похибка методу трапецій raquo ;; raquo ;; похибка методу Сімпсона # 1If=istinnoe_znach_integrala (a, b)=N1=250 * koeff * Abs (metod_Simpson (a, b, 10) - s)=koeff * Abs (metod_trapec (a, b, 10) - s ) .Scale (- 20, 10) - (N2 + 10, - 2) n=N1 To N2 Step 2=metod_Simpson (a, b, n)=metod_trapec (a, b, n)=Abs (s - st) =Abs (s - ss) Check1.Value=vbChecked Thensave For Append As # 1 # 1, raquo ;; n, raquo ;; pogtr, raquo ;; POGss # 1If.Line (X0, Y1) - (n, 250 * koeff * POGss), RGB (255, 0, 0) .Line (X0, Y2) - (n, koeff * pogtr), RGB (0, 0 , 255) .Line (- 50, 0) - ((N2 + 50), 0) .Line (0, - 30) - (0, 20)=n=250 * koeff * POGss=koeff * pogtrn lt;= 30 And n Mod 10=0 Then.PSet (- 16, koeff * pogtr) .Print Format (pogtr, #. ## e - # ). Line (- 20, koeff * pogtr) - (210, koeff * pogtr), RGB (0, 255, 0) Ifni=10 To N2 + 50 Step 10.PSet (i, 0) .Print i.Line (i, - 10) - (i, N2), RGB (0 , 255, 0) iSubSub Command2_Click () Form2Sub
Обчислюємо похибка, віднімаючи отримане значення інтеграла від істинного, обчислюваного функцією istinnoe_znach_integrala, що знаходиться у формі Form1. Потім будуємо точку на об'єкті Picture1. При натисканні на кнопці «Назад» (об'єкт Command2) форма Form2 вивантажується з оперативної пам'яті. Готова форма Form2 зображена на малюнку (див. Рис. 8).
Ми розглянули всі функції і процедури, які використовуються в проекті. Тепер можна розглянути роботу форми Form1. При натисканні на кнопці «Провести обчислення» (об'єкт Command1) відбувається зчитування з текстових полів заданих параметрів: час спостереження, початкове значення сили струму, число розбиття відрізка інтегрування. Далі слід перевірка вхідних даних. Далі йде обчислення інтеграла і висновок результату, а також побудова графіка интегрируемой залежності сили струму на заданій ділянці часу. Графік будується таким чином, що він завжди виводиться в центрі об'єкта Picture1. Це досягається тим, що система координат вводиться виходячи з максимального і мінімального значення функції і з величини кінців відрізка інтегрування. Для цього ми і шукаємо y_max і y_min. Далі став...