Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Троц.doc
Скачиваний:
3
Добавлен:
28.09.2019
Размер:
6.98 Mб
Скачать

Практичне завдання №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

Робоче вікно проекту: