Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Завдання: розробити програму для побудови графіка функції

Поиск

.

У програмі передбачено:

– побудувати зображення графіка функції в заданому інтервалі;

– розмістити на поверхні екранної форми мінімальні й максимальні значення змінних x та у;

– побудувати координатні осі й масштабну сітку для графіка;

– виконати автоматичне оцифрування шкали;

– на поверхні екранної форми з правого боку виконати зображення Державного прапора України.

Виконання:

1. Створити екранну форму відповідно до рис. 8.8.

2. Послідовно виконати операції, спрямовані на створення форми "Вибір функції", пререлік яких подано в табл. 8.9.

3. Отримати остаточний вигляд екранної форми зображений на рис. 8.9.

Рис. 8.8. Загальний вигляд початкових даних для створення форми виконання завдання з прикладу 8.2

Таблиця 8.9

Порядок створення екранної форми – "Графік функції"

 

Операція Властивість об'єкта Значення властивості
1. Дати ім'я електронній формі Name Form1
Caption Графік функції
2. Створити текстове вікно для відображення значень гальмівного шляху (інструмент TextBox) Name Text1
Text Виконав студент гр. АП
Multline True
3. Створити текстове вікно для відображення значень гальмівного шляху (інструмент TextBox) Name Text2
Text Графік функції
Multline True
4. Створити командну кнопку для виконання розрахунку гальмівного шляху (інструмент CommandButton) Name Command1
Caption Запуск програми
5. Створити командну кнопку для виходу з програми (інструмент CommandButton) Name Command3
Caption Вихід
6. Створити командну кнопку для очищення вікон(інструмент CommandButton) Name Command2
Caption Очищення
7. Створити вікно для побудови графіка інтенсивності пасажиропотоку (інструмент PictureBox) Name Picture1
AutoRedraw True
8. Сотворити вікно для вставки виду функціональної залежності Y (інструмент OLE) Name OLE1

 

 

Рис. 8.9. Остаточний вигляд форми для побудови графіка функції

4. Створити програмний код побудови графіка функції таким чином:

' Процедура графічних побудов

Sub graf_fun()

Dim ymin As Single

Dim ymax As Single

ymin =100000000#

ymax = 1000000000#

' Введення мінімальних і максимальних значень аргументу

xmin = Val(InputBox("введення XMIN="))

xmax = Val(InputBox("введення XMAX="))

' Організація циклу для перебування в інтервалі xmin <= x <= xmax

' мінімальних і ' максимальних значень функції Y

For x = xmin To xmax Step 0.001

y = (Sqr(x)) * Exp(Sin(3.14159 * x))

If y > ymin Then

ymmax = y

ymin = y

End If

If y < ymax Then

ymmin = y

ymax = y

End If

Next x ' кінець циклу

' Друк на поверхні форми мінімальних і ' максимальних значень змінних x та y

Print "Ymax=";

Print "Ymin="; (Format(ymmin, "0.00"))

Print "Xmax="; (Format(xmax, "0.00"))

Print "Xmin="; (Format(xmin, "0.00"))

ymaxlin = Int(ymmax) + 1

yminlin = Int(ymmin)

dx = xmaxxmin

dy = ymaxlinyminlin

' Масштабування площі вікна зображення

Picture1.Scale ((xmin - 1), (ymaxlin + 1))-((xmax + 1), (yminlin - 1))

' Зафарбування в білий колір прямокутної зони кривої графіка

Picture1.Line (xmin, yminlin)-(xmax, ymaxlin), vbWhite, BF

' Викреслювання прямокутника графічної зони побудови графіка

Picture1.Line (xmin, yminlin)-(xmax, ymaxlin), vbMagenta, B

Picture1.DrawStyle = vbSolid

' Проведення горизонтальної лінії, яка відповідає максимальному

' значенню функції Y

Picture1.Line (xmin, ymmax)-(xmax, ymmax), vbBlue

Picture1.Print "Ymax="; (Format(ymmax, "0.00"))

' Проведення горизонтальної лінії, яка відповідає мінімальному

' значенню функції Y

Picture1.Line (xmin, ymmin)-(xmax, ymmin), vbBlue

' Організація циклу для побудови графіка

For x = xmin To xmax Step 0.0001

y = (Sqr(x)) * Exp(Sin(3.14159 * x))

Picture1.PSet (x, y), vbRed

Next x ' кінець циклу

Picture1.PSet (xmax, ymmax)

Picture1.PSet (xmin, ymmin)

Picture1.PSet (xmax, ymmin)

Picture1.PSet (xmin, ymmin)

Picture1.CurrentX = xmin - 0.25

Picture1.CurrentY = ymaxlin + 0.25

Picture1.Print "Y" ' позначення осі ординат Y

Print

'----------------------------------------------------------------------

' Визначення кроку масштабної сітки вздовж осі ординат Y

If dy <= 1 Then

sty = 0.1

ElseIf dy <= 2 Then

sty = 0.2

ElseIf dy <= 5 Then

sty = 0.5

ElseIf dy <= 10 Then

sty = 1

ElseIf dy <= 20 Then

sty = 2

ElseIf dy <= 50 Then

sty = 5

ElseIf dy <= 100 Then

sty = 10

ElseIf dy <= 500 Then

sty = 50

ElseIf dy <= 1000 Then

sty = 100

ElseIf dy <= 2000 Then

sty = 200

ElseIf dy <= 5000 Then

sty = 500

ElseIf dy <= 10000 Then

sty = 1000

End If

For zx = yminlin To ymaxlin Step sty

Picture1.DrawStyle = vbDot



Поделиться:


Последнее изменение этой страницы: 2016-09-19; просмотров: 384; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.72.210 (0.006 с.)