|
Організація циклуDate: 2015-10-07; view: 349. End Sub Робота з підпрограмами Створення програмного коду 8. У вікні редактора коду в розділі General Declarations оголосимо змінні:
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
В тому випадку, коли необхідно виконувати певну послідовність операцій в різних місцях програми, доцільно використовувати підпрограми. Підпрограми мають наступну структуру:
Sub<Ім'я підпрограми>()
Тут ключові словаSub – початок підпрограми, End Sub – кінець підпрограми. Між ними записується тіло підпрограми. Викликати підпрограму з тіла основної програми можна за допомогою ключового слова Call. Після нього вказати ім'я підпрограми: Call<Ім'я підпрограми> 9. Створимо підпрограму для зчитування вихідних даних з текстових полів:
' Підпрограма введення початкових значень Sub Coordinats() xn = TextLeft.Text xk = TextRight.Text dx = TextStep.Text End Sub
10. Створимо підпрограму для обчислення функції : y=sin(x):
' Підпрограма обчислення функції Sub Tabuls() y = Sin(x) End Sub
В тому випадку, коли необхідно виконати певну послідовність операцій багатократну кількість разів, використовують цикли. Одним з них є цикл зі структурою For…Next. Цикл For…Next використовується в тому випадку, коли кількість повторень заданого блоку операторів відомо завчасно. Структура написання:
For лічильник = п.з. To к.з. Step крок
Next лічильник
To –ключове слово, що вказує на кінцеве значення змінної; Step–ключове слово, що вказує на крок; лічильник – змінна, якої присвоюються значення від початкового до кінцевого з кроком крок під час виконання циклу; п.з. –початкове значення змінної; к.з. –кінцеве значення змінної.
11. Створимо процедуру, яка дозволяє організовувати обчислення заданої функції для значень x з кроком dx в межах від xn до xk, а потім значення x і y виводити в текстове поле TextFun:
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 Step dx Call Tabuls ' Виклик підпрограми обчислення функції TextFun.Text = TextFun.Text + Str(Format(x, "0.00")) + STab + _ Next x End Sub
12. Створимо процедуру, яка дозволяє визначати масштаб побудови графіку, організовувати обчислення заданої функції для значень x з кроком dx в межах від xn до xk, а потім здійснювати побудову графіку функції в графічному полі:
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 'Виклик підпрограми введення початкових значень ' Визначення масштабу If Abs(xn) > Abs(xk) Then sclx = 0.5 * PictureGraph.Width / Abs(xn) Else: sclx = 0.5 * PictureGraph.Width / Abs(xk) End If scly = 0.4 * PictureGraph.Width ' Побудова графіку For x = xn To xk 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
13. Створимо процедуру для очищення текстового поля з результатом і графічного поля:
Private Sub mnuClear_Click() TextFun.Text = Empty ' Очищення текстового поля PictureGraph.Cls ' Очищення графічного поля End Sub
14. Збережіть проект і перевірте як він працює.
|