Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
75
Добавлен:
02.05.2014
Размер:
225.79 Кб
Скачать

Коды программ

Модуль главной формы:

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

Соседние файлы в папке Курсовая работа по Visual Basic2