- •З учбової практики
- •Мета учбової практики
- •Практичне завдання №1
- •Практичне завдання №2
- •Практичне завдання №3
- •Практичне завдання №4
- •Практичне завдання №5
- •Практичне завдання №6
- •Практичне завдання №7
- •Практичне завдання №8
- •Практичне завдання №9
- •Практичне завдання №10
- •Висновок
- •Список літератури
Практичне завдання №6
Тема: Табулювання функції та побудова графіку.
Постановка задачі:
Дано функцію y = x ^ 4 + 2.4 * x ^ 3 - 2.85 * x + 0.13
Обчислити її значення на інтервалі (0.5;2)
Задати крок табулювання
Побудувати графік даної функції.
С
1
1
2
10
12
13
14
Робочий проект:
На робочому вікні програми розташовані наступні елементи:
Текстові поля -1
Написи -2
DialogSaveData -3
PictureGraph – 4(графічне поле)
Програмний код:
Dim x As Double
Dim y As Double
Dim xn As Double
Dim xk As Double
Dim dx As Double
Dim i As Integer
Dim NewLine As String
Dim STab As String
Dim ymax As Double
Sub Coordinats()
xn = TextLeft.Text
xk = TextRight.Text
dx = TextStep.Text
End Sub
Sub Tabuls()
y = x ^ 4 + 2.4 * x ^ 3 - 2.85 * x + 0.13
End Sub
Private Sub MnuEnd_Click()
End
End Sub
Private Sub mnuTab_Click()
NewLine = Chr(13) + Chr(10) ' Enter
STab = Chr(9) ' Tab
TextFun.Text = "X" + STab + "Y" + NewLine 'Шапка таблиці
Call Coordinats ' Виклик підпрограми введення початкових значень
For x = xn To xk + 0.01 Step dx
Call Tabuls ' Виклик підпрограми обчислення функції
TextFun.Text = TextFun.Text + Str(Format(x, "0.00")) + STab + Str(Format(y, "0.0000")) + NewLine
Next x
End Sub
Private Sub mnuGraph_Click()
'Побудова осей X та Y
CoordY = PictureGraph.Height / 2
CoordX = PictureGraph.Width / 2
PictureGraph.Line (0, CoordY)-(PictureGraph.Width, CoordY)
PictureGraph.Line (CoordX, 0)-(CoordX, PictureGraph.Height)
Call Coordinats 'Виклик підпрограми введення початкових значень
' Визначення масштабу по осі X
If Abs(xn) > Abs(xk) Then
sclx = 0.5 * PictureGraph.Width / Abs(xn)
Else: sclx = 0.5 * PictureGraph.Width / Abs(xk)
End If
' Визначення масштабу по осі Y
x = xn
Call Tabuls
ymax = Abs(y)
For x = xn + dx To xk Step dx
Call Tabuls
If Abs(y) > ymax Then ymax = Abs(y)
Next
scly = 0.5 * PictureGraph.Height / ymax
' Побудова графіка
For x = xn To xk + 0.1 Step dx
Call Tabuls
If x = xn Then xpred = x: ypred = y
PictureGraph.Line ((xpred * sclx + CoordX), (-ypred * scly + CoordY)) _
-((x * sclx + CoordX), (-y * scly + CoordY))
xpred = x
ypred = y
Next x
End Sub
Private Sub mnuClear_Click()
TextFun.Text = Empty ' Очищення текстового поля
PictureGraph.Cls ' Очищення графічного поля
End Sub
Private Sub Form_Load()
Dim m
m = MsgBox("Вас вітає програма табулювання та побудови графіка y = x^4+2.4*x^3-2.85*x+0.13", vbOKOnly)
End Sub
Робочі вікна проекту:
Повідомлення:
Практичне завдання №7
Тема: Чисельне інтегрування.
Постановка задачі: скласти схему алгоритму та програму обчислення значення визначеного інтеграла.
Підінтегральна функція
Проміжок інтегрування від 19,3 до 44,5
Формула для обчислення лівих прямокутників
Кількість відрізків розбиття n=30.
Робоча формула:
– формула лівих прямокутників;
Схема алгоритму:
Робочий проект:
На робочому вікні програми розташовані наступні елементи:
Текстові поля-1
Написи -2
Кнопки- 3
Програмний код:
Dim x As Double
Dim i As Integer
Dim a As Double
Dim b As Double
Dim n As Double
Dim h As Double
Dim s As Double
Dim y As Double
Dim e As Double
Sub fstart()
a = TextA.Text
b = TextB.Text
n = TextN.Text
h = (b - a) / n
e = Exp(1)
End Sub
Private Sub butClear_Click()
TextFun.Text = Empty ' Очищення текстового поля
Private Sub Command1_Click()
Call fstart
s = 0
For i = 1 To n Step 1
x = a + (i - 1) * h
y = Exp(Cos(x)) + 5.47 * (3.14 / 2 - Atn(0.01 * x / Sqr(1 - (0.01 * x) ^ 2)))
s = s + y
Next
s = h * s
TextFun.Text = s
End Sub
Private Sub ext_Click()
End
End Sub
Робоче вікно проекту: