Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Організація циклу




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 + _
Str(Format(y, "0.0000")) + NewLine

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. Збережіть проект і перевірте як він працює.




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 321; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.