Picture1.Line (xmin, zx)-(xmax, zx) 


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



ЗНАЕТЕ ЛИ ВЫ?

Picture1.Line (xmin, zx)-(xmax, zx)



Picture1.CurrentX = xmin - 0.25

Picture1.CurrentY = zx

Picture1.Print zx

Next zx

Picture1.CurrentX = xmax + 0.25

Picture1.CurrentY = yminlin - 0.25

Picture1.Print "X" ' позначення осі абсцис Х

Print

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

If dx <= 1 Then

stx = 0.1

ElseIf dx <= 2 Then

stx = 0.2

ElseIf dx <= 5 Then

stx = 0.5

ElseIf dx <= 10 Then

stx = 1

ElseIf dx <= 20 Then

stx = 2

ElseIf dx <= 50 Then

stx = 5

ElseIf dx <= 100 Then

stx = 10

ElseIf dx <= 500 Then

stx = 50

ElseIf dx <= 1000 Then

stx = 100

ElseIf dx <= 2000 Then

stx = 200

ElseIf dx <= 5000 Then

stx = 500

ElseIf dx <= 10000 Then

stx = 1000

End If

' Організація циклу для нанесення масштабної сітки

For zy = xmin To xmax Step stx

Picture1.Line (zy, yminlin)-(zy, ymaxlin)

Picture1.CurrentX = zy

Picture1.CurrentY = yminlin - 0.25

Picture1.Print zy

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

' Побудова зображення Державного прапора України

Line (9600, 3500)-(11100, 4000), vbCyan, BF

Line (9600, 4000)-(11100, 4500), vbYellow, BF

End Sub

' Процедура запуску програми

Private Sub Command1_Click()

Call graf_fun

End Sub

' Процедура виходу з програми

Private Sub Command2_Click()

End

End Sub

' Процедура очищення вікон

Private Sub Command3_Click()

Picture1.Cls

Form1.Cls

End Sub

Приклад 8.3

Завдання: на основі хронометричних досліджень встановлено, що інтенсивність пасажиропотоку (кількість пасажирів, що перевозяться в одиницю часу) у певний час доби обчислюється за такою формулою:

S = 120 + 1750 · e-x· sin(x),

де x = 3,14·(t–6) / 9;

t –часдоби, протягом якого характеризуется пасажиропотік.

Кількість пасажирів, що перевозяться за певний час, обчислюється за такою формулою: , де t1 і t2 – початок і кінець часового інтервалу.

Розробити програму, в якій можна розрахувати кількість пасажирів, що перевозяться протягом певного часового інтервалу доби (наприклад, з 9 до 12 години). Розрахувати також загальну кількість пассжиров, що перевозяться за тиждень в інтервалі часу з 6 до 15 години. Побудувати графік інтенсивності пасажиропотоку в інтервалі цього часу.

 

Виконання:

1. Створити початкову екранну форму згідно з рис. 8.10. На поверхні форми розміщено імена й назви компонентів, які використовуються за умовчуванням. Надалі імена кожного з компонентів не змінюються, а їх назви відповідають діям, із застосуванням яких вони виконуються.

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

 

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

 

Таблиця 8.10

Порядок створення екранної форми "Розрахунок пасажиропотоку"

Операція Властивість об'єкта Значення властивості
1. Дати ім'я електронній формі Name Form1
Caption Розрахунок_ пасажиропотоку
2. Створити рамку групи інструментів для введення початкових даних (інструмент Frame) Name Frame1
Caption Початкові дані
3. Створити рамку групи інструментів для виведення розрахункових даних (інструмент Frame) Name Frame2
Caption Розрахункові дані
4. Створити текстове вікно для назви лабораторної роботи (інструмент TextBox) Name Text1
Text Розрахунок пасажиропотоку на тролейбусному маршруті
Multline True
5. Створити текстове вікно для виведення розрахункових даних (початок интервалу) (інструмент TextBox) Name Text2
Text Порожньо
6. Створити текстове вікно для виведення розрахункових даних (кінець інтервалу) (інструмент TextBox) Name Text3
Text Порожньо
7. Створити текстове вікно для виведення розрахункових даних (кількість пасажирів за інтервал руху) (інструмент TextBox) Name Text4
Text Порожньо
8. Створити текстове вікно для введення назви навчального закладу, факультету, групи, прізвища студента (інструмент TextBox) Name Text5
Text Порожньо
Multline True

 

Операція Властивість об'єкта Значення властивості
9. Створити текстове вікно для введення початкових даних (інструмент TextBox) Name Text6
Text Порожньо
10. Створити текстове вікно для введення початкових даних (інструмент TextBox) Name Text7
Text Порожньо
11. Створити текстове вікно для виведення розрахункових даних тиждень (інструмент TextBox) Name Text8
Text  
12. Створити текстове вікно для виведення розрахункових даних за тиждень (інструмент TextBox) Name Text9
Text  
13. Створити текстове вікно для виведення розрахункових даних за тиждень (інструмент TextBox) Name Text10
Порожньо
14. Створити лінійку прокручування для введення початку часового интервалу руху (інструмент HScrollBar) Name HScroll1
Large Change  
Max  
Min  
15. Створити лінійку прокручування для введення кінцевого часу интервалу руху (інструмент HScrollBar) Name HScroll2
Large Change  
Max  
Min  
16. Створити етикетку (інструмент Label) Name Label1
Caption Число перевезених пасажирів з
17. Створити етикетку (інструмент Label) Name Label2
Caption до
18. Створити етикетку (інструмент Label) Name Label3
Caption години становить
19. Створити етикетку (інструмент Label) Name Label4
Caption до

 

 

Операція Властивість об'єкта Значення властивості
20. Створити етикетку (інструмент Label) Name Label5
Caption Інтервал часу з
21. Створити етикетку (інструмент Label) Name Label6
Caption години
22. Створити етикетку (інструмент Label) Name Label7
Caption пасажирів
23. Створити етикетку (інструмент Label) Name Label8
Caption Число перевезених пасажирів за тиждень в інтервалі часу з
24. Створити етикетку (інструмент Label) Name Label9
Caption до
25. Створити етикетку (інструмент Label) Name Label9
Caption Інтервал часу з
26. Створити етикетку (інструмент Label) Name Label10
Caption години становить
27. Створити етикетку (інструмент Label) Name Label11
Caption пасажирів
28. Створити етикетку (інструмент Label) Name Label12
Caption Введіть початковий час інтервалу
29. Створити етикетку (інструмент Label) Name Label13
Caption Введіть кінцевий час інтервалу
30. Створити етикетку (інструмент Label) Name Label14
Caption Графік інтенсивності пасажиропотоку з 6 до 15 години, люд.–год

 

Операція Властивість об'єкта Значення властивості
31. Створити вікно для побудови графіка інтенсивності пасажиропотоку (інструмент PictureBox) Name Picture1
AutoRedraw True
32. Створити командну кнопку для виконання розрахунку інтенсивності вантажопотоку (інструмент CommandButton) Name Command1
Caption Розрахунок пасажиропотоку
33. Створити командну кнопку для очищення полів (інструмент CommandButton) Name Command2
Caption Очистити вікна
34. Створити командну кнопку для виходу з програми (інструмент CommandButton) Name Command3
Caption Вихід

 

Виконання перелічених у табл. 8.10 операцій дає остаточний варіант екранної форми зображений на рис. 8.11.

3. Створити програмний код розрахунку паспжиропотоку на тролейбусному маршруті таким чином:

' Процедура побудови графіка інтенсивності

' пасажиропотоку залежно від часу доби

Sub SPicture1()

Cls ' очищення поверхні вікна

Picture1.Scale (4, 700)-(15, -50) ' задання розмірів графічного поля і

' напрямку 'координатних осей

s2 = 0

Max = -1000

' Формування циклу для побудови графіка функції інтенсивності

' пасажиропотоку залежно від часу роботи

For t2 = 6 To 15

X2 = 3.14152 * (t2 - 6) / 9

s2 = 120 + 1750 * Exp(-X2) * Sin(X2)

X21 = 3.14152 * ((t2 + 1) - 6) / 9

s21 = 120 + 1750 * Exp(-X21) * Sin(X21)

' Оцифрування шкали Х

Picture1.PSet (6, 100)

Picture1.Print "6"

Рис. 8.11. Остаточний варіант екранної форми для розрахунку пасажиропотоку на тролейбусному маршруті

Picture1.PSet (8, 100)

Picture1.Print "8"

Picture1.PSet (10, 100)

Picture1.Print "10"

Picture1.PSet (12, 100)

Picture1.Print "12"

Picture1.PSet (14, 100)

Picture1.Print "14"

Picture1.PSet (6, 45)

Picture1.Print " час доби"

Picture1.PSet (4.3, 170)

' Позначення мінімальних і максимальних значень інтенсивності

' пасажиропотоку

Picture1.Print "220"

Picture1.PSet (4.3, (25 + Max))

Picture1.Print Int(Max)

End Sub

 

' Процедура очищення вікон

Private Sub Command2_Click()

Text6.Text = ""

Text7.Text = ""

Text2.Text = ""

Text3.Text = ""

Text4.Text = ""

Text10.Text = ""

Text5.Text = ""

Picture1.Cls

End Sub

' Процедура виходу з програми

Private Sub Command3_Click()

End

End Sub

' Процедури створення лінійок прокручування і роботи з ними для введення

' початкового і кінцевого часу інтервалу

Private Sub HScroll2_Scroll()

HScroll2_Change

End Sub

Private Sub HScroll2_Change()

lb2 = HScroll2

Text7.Text = Str(lb2)

End Sub

Private Sub HScroll1_Scroll()

HScroll1_Change

End Sub

Private Sub HScroll1_Change()

lb1 = HScroll1 - 1

Text6.Text = Str(lb1)

End Sub

 

' Процедура використання кнопки, Command1 для виконання

' розрахунку обчислення пасажиропотоку

Private Sub Command1_Click()

enter1 = Chr(13) + Chr(10)

vus = InputBox(" Введіть назву навчального закладу, в якому ви навчаєтесь ")

fak = InputBox(" Введіть назву факультету ")

grup = InputBox(" Введіть назву групи ")

fam = InputBox(" Введіть своє прізвище та ініціали ")

Text5.Text = vus + enter1 + fak + enter1 + grup + enter1 + fam

S = 0: k = 0: s1 = 0

For i = 1 To 5 ' створення вкладеного циклу для обчислення пасажиропотоку

' за тиждень у заданому інтервалі

For t = 7 To 15

x = 3.14152 * (t - 6) / 9

S = S + 120 + 1750 * Exp(-x) * Sin(x)

Next t

Next i

Text2.Text = Text6.Text

Text3.Text = Text7.Text

l1 = Val(Text6.Text) + 1

l2 = Val(Text7.Text)

For t1 = l1 To l2 Step 1 ' початок циклу; створення циклу для обчислення

' пасажиропотоку в заданому інтервалі часу доби

k = k + 1

X1 = 3.14152 * (t1 - 6) / 9

s1 = s1 + 120 + 1750 * Exp(-X1) * Sin(X1)

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

Cls

Text4.Text = Str(Int(s1))

Text10 = Str(Int(S))

SPicture1 ' використання процедури SPicture1 для побудови графіка

' інтенсивності пасажиропотоку

End Sub

 

Контрольні питання

 

1. Яку систему координат прийнято в графіці Visual Basic? Чи можливе її перевизначення?

2. Яким чином встановлюють поточні координати точки, з якої починається графічна побудова об'єкта?

3. Які види графічних примітивів використовуються в Visual Basic.

4. На яких об'єктах Visual Basic можна виконувати графічні побудови?

5. Які способи введення тексту використовуються на графічній поверхні Visual Basic?

6. Назвіть способи форматування тексту в графіці Visual Basic.

7. Які об'єкти можна використовувати для вставлення растрових зображень?

8. У чому полягаєвідмінність між об'єктами Image та PictureBox?

9. Які способи зміни кольору графічних примітивів застосовуються в Visual Basic?

10. Опишить способи зміни типу і товщини ліній у графічних зображеннях Visual Basic.

11. Яким чином можна очистити екран графічної поверхні?



Поделиться:


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

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