
- •Пояснительная записка к курсовой работе
- •Введение
- •Описание методов. Формула Симпсона
- •Формула трапеций
- •Блок- схемы программ Блок-схема метода трапеций
- •Блок-схема метода Симпсона
- •Создание и описание основных форм программы
- •Результаты работы программы.
- •Коды программ
- •Список использованной литературы:
Коды программ
Модуль главной формы:
Private Sub grafics_Click()
grafic.Show vbModal
End Sub
Private Sub mathem_Click()
Math.Show vbModal
End Sub
Private Sub btExit_Click()
End
End Sub
Private Sub prog_Click()
FrmAbout.Show vbModal
End Sub
Private Sub rec_Click()
schemRect.Show vbModal
End Sub
Private Sub rectangle_Click()
rectangl.Show vbModal
End Sub
Private Sub rectt_Click()
Method1.Show vbModal
End Sub
Private Sub save_Click()
saveRes.Show vbModal
End Sub
Private Sub tr_Click()
schemTrap.Show vbModal
End Sub
Private Sub trap_Click()
frmtrapecia.Show vbModal
End Sub
Private Sub trapp_Click()
Method2.Show vbModal
End Sub
Private Sub visual_Click()
visualization.Show vbModal
End Sub
Модуль frmTrapecia
Private Sub btTrapecia_Click()
TrapRes.Text = trapecia(KolRazb.Text, IntBegin.Text, IntEnd.Text)
End Sub
Private Sub btExit_Click()
Unload Me
End Sub
Модуль формы Rectangl
Private Sub btExit_Click()
Unload Me
End Sub
Private Sub rect_Click()
RectRes.Text = rectangle(KolRazb.Text, IntBegin.Text, IntEnd.Text)
End Sub
Модуль FrmAbout
Private Sub btExit_Click()
Unload Me
End Sub
Private Sub Form_Load()
DimsAsString
s= " Министерство науки и образования РФ Уфимский Государственный Авиационный Технический Университет "
s=s&vbCrLf&vbCrLf& "Курсовая работа по дисциплине информатика:" &vbCrLf
s=s& "ИССЛЕДОВАНИЕ МЕТОДОВ ВЫЧИСЛЕНИЯ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ" &vbCrLf&vbCrLf
s=s& "Данную программу разработал: студентка факультета АТС, группы ЛП-152 " &vbCrLf
s = s & "Деменок А.О.." & vbCrLf & vbCrLf
s = s & "УФА 2007 год."
Label1.Caption = s: s = ""
End Sub
Модуль формы Method1
Option Explicit
Private Sub btOk_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim f As String, s As String
f = App.Path & "\" & "metod1.txt"
Open f For Input As #1
Text1 = ""
Do While Not EOF(1)
Line Input #1, s
Text1 = Text1 & s & vbCrLf
Loop
Close #1
End Sub
Модуль формы Method2
Option Explicit
Private Sub btOk_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim f As String, s As String
f = App.Path & "\" & "metod2.txt"
Open f For Input As #1
Text1 = ""
Do While Not EOF(1)
Line Input #1, s
Text1 = Text1 & s & vbCrLf
Loop
Close #1
End Sub
Модуль формы SaveRes
Private Sub btSave_Click()
Private Const ResultFile As String = "Result.txt"
Private Sub btSave_Click()
Dim i As Integer
Open App.Path & "\" & ResultFile For Output As #1
s= "ЧислоN" &vbTab& "Параб."& vbTab & vbTab & "Трап."
Print #1, s
For i = 10 To 200 Step 10
rect1 = rectangle(i, 1, 4)
trap = trapecia(i, 1, 4)
s = "N=" & Str(i) & vbTab & Str(rect1) & vbTab & Str(trap)
Print #1, s
Next i
Close #1
End Sub
End Sub
Модуль формы visualization
ConstDelit= 5 'Количество делений сетки поX
Dim AxisX, AxisY As Integer
Dim Shaga
Private Sub Setka()
Graph.Cls
gw = Graph.Width
GH = Graph.Height
Shaga = Round(Graph.Width / (Delit * 100)) * 100
s1 = 0
For i = 1 To Delit + 1
s1 = s1 + Shaga
Graph.Line (0, s1)-(gw, s1), RGB(0, 0, 667)
Graph.Line (s1, 0)-(s1, GH), RGB(0, 0, 667)
If i = 2 Then
Graph.Line (0, s1)-(gw, s1), RGB(44, 44, 44)
AxisY = s1
End If
If i = 1 Then
Graph.Line (s1, 0)-(s1, GH), RGB(44, 44, 44)
AxisX = s1
End If
Next i
End Sub
Private Sub btGraph_Click()
Dim x, Y, X1, Y1 As Double
h = 0.125
X1 = 1
Y1 = X1 * X1 * X1 / (3 + X1)
GH = Graph.Height
Sered = False
n = 0
For x = 1 To 2 Step h
n = n + 1
If x <> 0 Then
Y = x * x * x / (3 + x)
End If
If Sered Then
If n = 14 Then
Graph.FillColor = 9
Graph.FillStyle = 4
End If
Graph.Line ((X1 * Shaga) + AxisX, AxisY)-(((x + h) * Shaga) + AxisX, AxisY - (Y * Shaga)), RGB(44, 44, 44), B
Graph.FillStyle = 1
End If
Graph.Line ((X1 * Shaga) + AxisX, (AxisY - (Y1 * Shaga)))-((x * Shaga) + AxisX, AxisY - (Y * Shaga)), RGB(255, 0, 0)
X1 = x
Y1 = Y
Sered = Not Sered
Next x
Graph.CurrentX = Graph.ScaleWidth * 0.4
Graph.CurrentY = 0.7 * Graph.ScaleHeight
Graph.Print "1"
Graph.CurrentX = Graph.ScaleWidth * 0.6
Graph.CurrentY = 0.7 * Graph.ScaleHeight
Graph.Print "2"
Graph.CurrentX = Graph.ScaleWidth * 0.15
Graph.CurrentY = 0.7 * Graph.ScaleHeight
Graph.Print "0"
End Sub
Private Sub Form_Activate()
Call Setka
End Sub
Модуль формы graphic
ConstDelit= 25 'Количество делений сетки поX
Dim AxisX, AxisY As Integer
Dim Shaga
Const FNL = 0.808460348
Private Function Eps(Arg As Double) As Double
Eps = Abs((FNL - Arg)) / FNL
End Function
Private Sub btGraph_Click()
Dim NR As Integer
Dim Yt, Yt1, Yr, Yr1 As Double
Mult = 8000
Yt1 = Eps(trapecia(10, 1, 2)) * Mult
Yr1 = Eps(rectangle(10, 1, 2)) * Mult
X1 = 10
For NR = 10 To 200 Step 10
Yt = Eps(trapecia(NR, 1, 2)) * Mult
Yr = Eps(rectangle(NR, 1, 2)) * Mult
x = NR
Graph.Line ((x * Shaga / 10) + AxisX, (AxisY - (Yt * Shaga)))-((X1 * Shaga / 10) + AxisX, AxisY - (Yt1 * Shaga)), RGB(0, 0, 225)
Graph.Line ((x * Shaga / 10) + AxisX, (AxisY - (Yr * Shaga)))-((X1 * Shaga / 10) + AxisX, AxisY - (Yr1 * Shaga)), RGB(255, 0, 255)
X1 = x
Yt1 = Yt
Yr1 = Yr
Next NR
Graph.CurrentX = Graph.ScaleWidth * 0.3
Graph.CurrentY = 0.01 * Graph.ScaleHeight
Graph.Print"Синий цвет - метод прямоугольников"
Graph.CurrentX=Graph.ScaleWidth* 0.3
Graph.Print"Розовый цвет - метод трапеций"
Graph.CurrentX = Graph.ScaleWidth * 0.07
Graph.CurrentY = 0.94 * Graph.ScaleHeight
Graph.Print "10"
Graph.CurrentX = Graph.ScaleWidth * 0.81
Graph.CurrentY = 0.94 * Graph.ScaleHeight
Graph.Print "200"
Graph.CurrentX = Graph.ScaleWidth * 0.42
Graph.CurrentY = 0.94 * Graph.ScaleHeight
Graph.Print "100"
Graph.CurrentX = Graph.ScaleWidth * 0.024
Graph.CurrentY = 0.94 * Graph.ScaleHeight
Graph.Print "0"
Graph.CurrentX = Graph.ScaleWidth * 0.017
Graph.CurrentY = 0.04 * Graph.ScaleHeight
Graph.Print "E3"
Graph.CurrentX = Graph.ScaleWidth * 0.017
Graph.CurrentY = 0.01 * Graph.ScaleHeight
Graph.Print "E,"
Graph.CurrentX = Graph.ScaleWidth * 0.89
Graph.CurrentY = 0.94 * Graph.ScaleHeight
Graph.Print "N"
End Sub
Private Sub Form_Activate()
Call Setka
End Sub
Private Sub Setka()
Graph.Cls
gw = Graph.Width
GH = Graph.Height
Shaga = Round(Graph.Width / (Delit * 100)) * 100
s1 = 0
For i = 1 To Delit + 1
s1 = s1 + Shaga
Graph.Line (0, s1)-(gw, s1), RGB(0, 0, 0)
Graph.Line (s1, 0)-(s1, GH), RGB(0, 0, 0)
If i = Round(GH / Shaga) - 1 Then
Graph.Line (0, s1)-(gw, s1), RGB(225, 0, 0)
AxisY = s1
End If
If i = 1 Then
Graph.Line (s1, 0)-(s1, GH), RGB(225, 0, 0)
AxisX = s1
End If
Next i
End Sub
Модуль
Public Sub Main()
FrmAbout.Show vbModal
Main.Show
End Sub
Public Function Fx(x) As Double
Fx = x * x * x / (3 + x)
End Function
Public Function trapecia(n As Integer, a As Double, b As Double) As Double
dx = (b - a) / n
x = a
s = (Fx(a) + Fx(b)) / 2
For i = 1 To n - 1
x = x + dx
s = s + Fx(x)
Next i
trapecia = s * dx
End Function
Public Function parabl(n As Integer, a As Double, b As Double) As Double
dx = (b - a) / n
x = a + dx / 2
s = Fx(x)
For i = 1 To n - 1
x = x + dx
s = s + Fx(x)
Next i
parabl = s * dx
EndFunction