Содержание.
1. Задание на курсовую работу. 2
2. Введение. 3
3. Расчет и построение графика. 4
4. Пересеченье с осью абсцисс. 5
5. Интегрирование методом серединных треугольников……………………………………..6
6. Метод Монте-Карло. ……….....7
7. Блок-схема решения задачи…………………………………………………………..………9
8. Заключение……………………………………………………………...................................10
9. Список используемой литературы……………………………………………………….…10
1. Задание на курсовую работуВариант 21:
Аргумент: х:=-4, -3,99 ..4
Функция (N=1..5):
y(x)=-(2*x)2*N*4+4*N*x+(cos(x2/4))4
1.1. Разработайте и протестируйте программу, выполняющую построение графика заданной функции, координатных осей и подписей на осях в заданном интервале изменения значений аргумента.
1.2. Дополните программу п.1.1. так, чтобы на экранной форме выводились точки пересечения заданной функции с осью абсцисс. Решение соответствующего уравнения выполните с точностью до 0,0001 одним из численных методов: дихотомия, метод хорд, касательных и т.п.
1.3. Дополните программу п.1.2., запрограммировав вывод на экран изображения интеграла и производной функции (вариант: изображения графика производной и интеграла выполните на отдельных формах). Численное интегрирование проведите методом трапеций (методом Монте-Карло), задав не менее 100 точек для вычисления интеграла в интервале задания функции.
1.4. С точностью до 0,001 методом трапеций вычислите площадь фигуры, образованной заданной функцией между 2 и 3-им корнем и осью абсцисс.
2. ВведениеЦель курсовой работы.
Microsoft Visual Basic — язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемое корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементыобъектно-ориентированных и компонентно-ориентированных языков программирования. Интегрированная среда разработки VB включает инструменты для визуального проектирования пользовательского интерфейса, редактор кода с возможностью IntelliSense и подсветкой синтаксиса, а также инструменты для отладки приложений.
Visual Basic также является хорошим средством быстрой разработки (RAD) приложений баз данных для операционных систем семейства Microsoft Windows. Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес-логику приложения, не отвлекая его внимание на написание кода запуска программы, подписки на события и других механизмов, которые VB реализует автоматически.
Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3. Окончательное признание как полноценного средства программирования для Windows — при выходе версии 5. Версия VB6, входящая в состав Microsoft Visual Studio 6.0, стала по-настоящему зрелым и функционально богатым продуктом.
Приобретение навыков проектирования в интегрированной среде VisualBasic (VB). При работе над проектом программы исследования функций необходимо на практике применить основные алгоритмические структуры, графические средства языка, а также вычислительные методы определения корней уравнений, численного дифференцирования и интегрирования.
Язык программирования BASIC – Beginner"sAllpurposeSymbolicInstructionCode (универсальный символьный программный код для начинающих), - был разработан сотрудниками Дартмутского колледжа (США) в 1964 году для быстрого обучения студентов основам программирования. Язык быстро приобрел популярность и постоянно развивался. Последней его версией является среда программирования VisualBasic.
VisualBasic - это интегрированная среда разработки приложений,которая включает в себя различные компоненты:
Конструктор форм – позволяет создавать окна-формы по принципу детской игры "Конструктор", когда из коробки с деталями (Панель инструментов) достаются нужные элементы и размещаются на форме в том порядке, как желает создатель приложения.
Текстовый редактор – используется для написания программ, причем доступны команды работы с буфером обмена: Правка/Копировать, Правка/Вырезать, Правка/Вставить.
Отладчик – помогает устранять ошибки в текта программы, выделяя их в тексте различными цветами.
Компилятор – превращает отлаженный программный проект в Windows-приложение в виде полноценного исполняемого (.exe) файлa, который может работать уже без участия VisualBasic.
3. Расчет и построение графикаРисунок 1 – Расчет и построение исследуемого графика
Листинг 1 – Расчет и построение исследуемого графика
Option Explicit
Dim N As Integer
Private Sub Command1_Click()
Dim x As Double, y As Double
Dim N As Integer, i As Integer
Picture1.Scale (-5, 20)-(5, -20)
"Ось X
Picture1.Line (-5, 0)-(5, 0), vbBlack
For i = -5 To 5 Step 1
Picture1.PSet (i, 0), vbRed
Picture1.Print i
Next i
"Axe Y
Picture1.Line (0, -20)-(0, 20), vbBlack
For i = -20 To 20 Step 2
Picture1.PSet (0, i), vbCyan
Picture1.Print i
Next i
"Построение графика
Picture1.DrawWidth = 2
For N = 1 To 5
For x = -4 To 4 Step 0.1
If N = 1 Then Picture1.ForeColor = vbBlack
If N = 2 Then Picture1.ForeColor = vbRed
If N = 3 Then Picture1.ForeColor = vbBlue
If N = 4 Then Picture1.ForeColor = vbGreen
If N = 5 Then Picture1.ForeColor = vbCyan
Picture1.Line (x, Result(x, N))-(x + 0.1, Result(x + 0.1, N))
Next x
Next N
End Sub
Function Result(x As Double, N As Integer) As Double
Result = -((2*x)^2)*N* (Sin(2 * x)) ^ 4 +4*N*x+ (Cos((x^2)/4)) ^ 4
End Function
4. Пересеченье с осью абсциссРисунок 2 - Пересеченье с осью абсцисс
Листинг 2 -Пересеченье с осью абсцисс
Private Sub Command2_Click()
"Корни
Dim FA As Double, FB As Double, x1 As Double, x2 As Double, x As Double, d As Double
Dim xroot As Double, xroot1 As Double
Dim j As Integer
Dim Xstr As String
Dim K As Integer, a As Integer, b As Integer, num As Integer
List1.Clear
For N = 1 To 5
Xstr = "Корни уравнения при N= " + Str(N)
List1.AddItem (Xstr)
Xstr = "Х1 " + "X2 " + "Корень " + "№ "
List1.AddItem (Xstr)
K = 0
d = 0.01
b = 4
a = -4
num = Int((b - a) / d)
For j = 0 To num
x = a + j * d
FA = Result(x, N)
FB = Result(x + d, N)
If FA = 0 Then
xroot = x
x1 = x
x2 = x
j = j + 1
K = K + 1
Xstr = Str(Round(x1, 3)) + " " + Str(Round(x2, 3)) + " " + Str(Round(xroot, 3)) + " " + Str(K)
List1.AddItem (Xstr)
ElseIf FA * FB < 0 Then
x1 = x
x2 = x + d
xroot = rootfunc(x1, x2)
K = K + 1
Xstr = Str(Round(x1, 3)) + " " + Str(Round(x2, 3)) + " " + Str(Round(xroot, 3)) + " " + Str(K)
List1.AddItem (Xstr)
End If
Next j
Next N
End Sub
Function rootfunc(xleft As Double, xright As Double) As Double
Dim epsilon As Double
Dim AA As Double
Dim BB As Double
Dim FA As Double
Dim Fx As Double
Dim xx As Double
epsilon = 0.00000001
AA = xleft
BB = xright
FA = Result(AA, N)
Do
xx = (AA + BB) / 2
Fx = Result(xx, N)
If FA * Fx > 0 Then
AA = xx
Else
BB = xx
End If
Loop Until Abs(Fx) < epsilon Or BB - AA < epsilon
rootfunc = xx
End Function
5. Интегрирование методом серединных треугольниковРисунок 3 - Интегрирование методом серединных треугольников
Листинг 3 -Интегрирование методом серединных треугольников
Private Sub Command3_Click()
Dim eps As Double, Integral1 As Double, Integral2 As Double, R As Double, Del As Double, Left As Double, Rigth As Double, i As Double
Dim Nnn As Long
Picture2.Cls
Picture2.Scale (-4, 0)-(4, -3100)
"Ось X
Picture2.Line (-4, 0)-(4, 0), vbBlack
For i = -4 To 4 Step 1
Picture2.PSet (i, 0), vbRed
Picture2.Print i
Next i
"Axe Y
Picture2.Line (0, -3100)-(0, 0), vbBlack
For i = -3100 To 0 Step 200
Picture2.PSet (0, Round(i, 1)), vbCyan
Picture2.Print i
Next i
N = Val(Text4)
eps = 0.000001
Nnn = 24
Left = Val(Text1)
Rigth = Val(Text2)
Integral1 = IntegrFunc(Left, Rigth, Nnn)
Do
Nnn = 2 * Nnn
Integral2 = IntegrFunc(Left, Rigth, Nnn)
If Abs(Integral2) <= 1 Then R = 1 Else R = Integral2
Del = Abs((Integral1 - Integral2) / R)
Integral1 = Integral2
Loop Until Del < eps
Text3 = Str(Integral2)
Nnn = 24
End Sub
Function IntegrFunc(Left As Double, Rigth As Double, Nnn As Long) As Double
Dim summ As Double, pas As Double, XI As Double
Dim i As Integer
pas = (Rigth - Left) / Nnn
XI = Left + pas / 2
summ = 0
i = 0
For i = 1 To Nnn
summ = summ + Result(XI, N)
Picture2.PSet (XI, summ), vbRed
XI = XI + pas
Next i
IntegrFunc = summ * pas
End Function
6. Метод Монте-КарлоРисунок 4 - Метод Монте-Карло
Листинг 4 - Метод Монте-Карло
Private Sub Command4_Click()
Dim x1 As Double, x2 As Double, ff As Double, xx As Double, sf As Double, MonteInt As Double
Dim d As Double, a As Double, b As Double, num As Double
Dim i As Integer, j As Integer
N = 1
MonteInt = 0
List2.Clear
d = 0.01
b = 4
a = -4
num = Int((b - a) / d)
For i = 0 To num
x1 = a + i * d
x2 = x1 + d
sf = 0
For j = 1 To 1000
Randomize
xx = x1 + Rnd(i) * d
ff = Result(xx, N)
sf = sf + ff
Next j
sf = sf / 1000
sf = sf * d
MonteInt = MonteInt + sf
List2.AddItem (Str(x1 + d / 2) + " " + Str(MonteInt))
Next i
End Sub
7. Блок-схема решения задачи
В ходе выполнения курсовой работы, согласно варианту 21, была написана программа исследования функций на VisualBasic 6.0, где на практике пришлось применить знания по основным алгоритмическим структурам (циклам с заданным числом повторений и циклами с неизвестным числом повторений , разветвляющимся конструкциям), графические средства языка (вывод и отображения графиков), а также вычислительные методы определения корней уравнений, численного дифференцирования и интегрирования.
8. Список используемой литературы
1. Индришенок В.И., Певцов Е.Ф., Русанов К.Е. Информатика: Практикум по программированию: Основы программированияна VISUAL BASIC 6.0 // Методические указания по выполнению лабораторных работ. Московский государственный институт радиотехники, электроники и автоматики (Технический Университет). М.: 2001, 32 с.
2. Глушаков С.В., Мельников И.В., Сурядный А.С. Программирование в среде Windows: Учебный курс / Харьков: Фолио; Ростов-н/Д: Феникс; Киев: Абрис, 2000. – 487 с.
3. Волченков Н.Г. Программирование на Visual Basic 6: В 3-х ч. М.: ИНФРА-М, 2000.
4. Стивенс Р. Тестирование и отладка программ на Visual Basic: Пер. с англ. – М.: ДМК Пресс, 2001. – 384 с.
5. Ракитин В.И., Первушин В.Е. Практическое руководство по методам вычислений с приложением программ для персональных компьютеров: Учеб. пособие. – М.: Высш. шк., 1998. – 383с.