Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по Visual Basic.doc
Скачиваний:
51
Добавлен:
31.08.2019
Размер:
10.63 Mб
Скачать

Лабораторная работа №11. Построение графиков и диаграмм

Цель работы: научиться использовать операторы рисования графических примитивов для рисования диаграмм и графиков функций

Команды для рисования графических примитивов также можно использовать для построения графиков функций и диаграмм. В данной лабораторной работе рассмотрены столбиковые и круговые диаграммы, а также построение графиков некоторых функций.

Задание 1. Составить программу, показывающую столбиковую диаграмму.

Постановка задачи.

Т ребуется составить программу, отображающую на экране столбиковую диаграмму для отображения процентных соотношений оценок за контрольную работу по какой-либо дисциплине. Примерный внешний вид формы представлен на Рис.11.1.

Ход работы.

  1. Создайте в папке Лабораторная_работа_№11 папку 11.1.

  2. Запустите программу Microsoft Visual Basic 6.0.

  3. В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».

  4. Расположите на форме 5 компонентов Label, 4 компонента TextBox, 2 компонента ComandButton и 1 компонент PictureBox.

  5. Установите свойства компонентов в соответствии с Таблицей 11.1 (или ориентируясь на внешний вид формы).

Таблица 11.1 – Свойства компонентов приложения «Столбиковая диаграмма»

Компонент

Свойство

Значение

Form1

Caption

Столбиковая диаграмма по результатам оценок

Name

frmДиаграмма

Color, Font

По своему усмотрению

MinButton, MaxButton

False

Label1

Caption

Контрольная работа по ОАиП

Label2

Caption

Получено пятерок

Label3

Caption

Получено четверок

Label4

Caption

Получено троек

Label5

Caption

Получено двоек

Text1..Text4

Text

Command1

Caption

Построить диаграмму

Command2

Caption

Очистить

  1. Щелкнув мышью два раза на кнопке «Построить диаграмму», напишите обработчик события Click (необходимые комментарии приведены после знака апострофа):

Private Sub Command1_Click()

'Получим данные из TextBox

X1 = Int(Text1.Text)

X2 = Int(Text2.Text)

X3 = Int(Text3.Text)

X4 = Int(Text4.Text)

'найдем общее количество оценок

Y = X1 + X2 + X3 + X4

'Зададим шкалу PictureBox в зависимости от Y

Picture1.Scale (0, Y)-(6, 0)

'построим столбики

Picture1.Line (1, 0)-(2, X1), vbRed, BF

Picture1.Line (2, 0)-(3, X2), vbGreen, BF

Picture1.Line (3, 0)-(4, X3), vbBlue, BF

Picture1.Line (4, 0)-(5, X4), vbMagenta, BF

'Настройки шрифта для вывода процентных соотношений

Picture1.FontBold = True

Picture1.FontSize = 12

'Рассчитаем и покажем на столбиках проценты

Picture1.CurrentX = 1.1

Picture1.CurrentY = 3

Picture1.Print Round(X1 * 100 / Y); "%"

Picture1.CurrentX = 2.1

Picture1.CurrentY = 3

Picture1.Print Round(X2 * 100 / Y); "%"

Picture1.CurrentX = 3.1

Picture1.CurrentY = 3

Picture1.Print Round(X3 * 100 / Y); "%"

Picture1.CurrentX = 4.1

Picture1.CurrentY = 3

Picture1.Print Round(X4 * 100 / Y); "%"

'Выведем "легенду" диаграммы

Picture1.Line (1.4, Y - 1.3)-(1.8, Y - 2.3), vbRed, BF

Picture1.Line (1.4, Y - 3.3)-(1.8, Y - 4.3), vbGreen, BF

Picture1.Line (1.4, Y - 5.3)-(1.8, Y - 6.3), vbBlue, BF

Picture1.Line (1.4, Y - 7.3)-(1.8, Y - 8.3), vbMagenta, BF

'Вывод текстовых подписей "легенды"

Picture1.CurrentX = 2

Picture1.CurrentY = Y - 1

Picture1.Print " - получено пятерок"

Picture1.CurrentX = 2

Picture1.CurrentY = Y - 3

Picture1.Print " - получено четверок"

Picture1.CurrentX = 2

Picture1.CurrentY = Y - 5

Picture1.Print " - получено троек"

Picture1.CurrentX = 2

Picture1.CurrentY = Y - 7

Picture1.Print " - получено двоек"

End Sub

  1. При щелчке на кнопке «Очистить» необходимо очистить поля ввода и компонент Picture1 вывода диаграммы:

Private Sub Command2_Click()

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Text4.Text = ""

Picture1.Cls

End Sub

  1. Сохраните проект (выбрав File – Save frmДиаграмма.frm и Save Project1.vbp).

  2. Проверьте работоспособность проекта, запустив его на выполнение.

  3. Создайте exe-файл программы с помощью команды File Make Столбиковая диаграмма.exe.

  4. Выйдите из среды Visual Basic.

  5. Запустите на выполнение файл Столбиковая диаграмма.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.

Задание 2. Составить программу, показывающую круговую диаграмму.

П остановка задачи.

Требуется составить программу, отображающую на экране круговую диаграмму для отображения процентных соотношений количества учащихся по курсам. Примерный внешний вид формы представлен на Рис.11.2.

Ход работы.

  1. Создайте в папке Лабораторная_работа_№11 папку 11.2.

  2. Запустите программу Microsoft Visual Basic 6.0.

  3. В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».

  4. Расположите на форме 5 компонентов Label, 4 компонента TextBox, 2 компонента ComandButton и 1 компонент PictureBox.

  5. Установите свойства компонентов в соответствии с Таблицей 11.2 (или ориентируясь на внешний вид формы).

Таблица 11.2 – Свойства компонентов приложения «Круговая диаграмма»

Компонент

Свойство

Значение

Form1

Caption

Столбиковая диаграмма по количеству учащихся

Name

frmДиаграмма

Color, Font

По своему усмотрению

MinButton, MaxButton

False

Label1

Caption

Количество первокурсников

Label2

Caption

Количество второкурсников

Label3

Caption

Количество третьекурсников

Label4

Caption

Количество четверокурсников

Label5

Caption

Количество пятикурсников (выпускников)

Text1..Text5

Text

Command1

Caption

Построить диаграмму

Command2

Caption

Очистить

  1. Щелкнув мышью два раза на кнопке «Построить диаграмму», напишите обработчик события Click (необходимые комментарии приведены после знака апострофа):

Private Sub Command1_Click()

'Получим данные из TextBox

X1 = Int(Text1.Text)

X2 = Int(Text2.Text)

X3 = Int(Text3.Text)

X4 = Int(Text4.Text)

X5 = Int(Text5.Text)

'Общее количество человек

S = X1 + X2 + X3 + X4 + X5

'Вычислим углы для построения круговой диаграммы

a1 = X1 * 360 / S

a2 = a1 + X2 * 360 / S

a3 = a2 + X3 * 360 / S

a4 = a3 + X4 * 360 / S

a5 = a4 + X5 * 360 / S

'Вычислим процентное соотношение учащихся определенного курса к общему количеству 'учащихся

p1 = Round(X1 / S * 100)

p2 = Round(X2 / S * 100)

p3 = Round(X3 / S * 100)

p4 = Round(X4 / S * 100)

p5 = Round(X5 / S * 100)

'Строим секторы

Picture1.FillStyle = vbFSSolid

Picture1.FillColor = vbGreen

Picture1.Circle (Picture1.Width / 2, Picture1.Width /2),(Picture1.Width - 200) /4, vbGreen, -6.28, -(a1 * 3.14 / 180)

Picture1.FillColor = vbYellow

Picture1.Circle (Picture1.Width / 2, Picture1.Width /2),(Picture1.Width - 200) /4, vbYellow, -(a1 * 3.14 / 180), -(a2 * 3.14 / 180)

Picture1.FillColor = vbRed

Picture1.Circle (Picture1.Width / 2, Picture1.Width /2),(Picture1.Width - 200) /4, vbRed, -(a2 * 3.14 / 180), -(a3 * 3.14 / 180)

Picture1.FillColor = vbBlue

Picture1.Circle (Picture1.Width / 2, Picture1.Width /2),(Picture1.Width - 200) /4, vbBlue, -(a3 * 3.14 / 180), -(a4 * 3.14 / 180)

Picture1.FillColor = vbWhite

Picture1.Circle (Picture1.Width / 2, Picture1.Width / 2), (Picture1.Width - 200) / 4, vbWhite, -(a4 * 3.14 / 180), -(a5 * 3.14 / 180)

'Вывод "легенды" с соответствующими подписями

Picture1.Line (1000, 5100)-(1300, 5350), vbGreen, BF

Picture1.CurrentX = 1600

Picture1.CurrentY = 5100

Picture1.Print "Первокурсники", p1; "%"

Picture1.Line (1000, 5400)-(1300, 5650), vbGYellow, BF

Picture1.CurrentX = 1600

Picture1.CurrentY = 5400

Picture1.Print "Второкурсники", p2; "%"

Picture1.Line (1000, 5700)-(1300, 5950), vbRed, BF

Picture1.CurrentX = 1600

Picture1.CurrentY = 5700

Picture1.Print "Третьекурсники", p3; "%"

Picture1.Line (1000, 6000)-(1300, 6250), vbBlue, BF

Picture1.CurrentX = 1600

Picture1.CurrentY = 6000

Picture1.Print "Четверокурсники", p4; "%"

Picture1.Line (1000, 6300)-(1300, 6550), vbWhite, BF

Picture1.CurrentX = 1600

Picture1.CurrentY = 6300

Picture1.Print "Пятикурсники", p5; "%"

End Sub

  1. Напишите самостоятельно обработчик щелчка мыши по кнопке «Очистить», используя навыки, полученные при выполнении предыдущего задания.

  2. Сохраните проект (выбрав File – Save frmДиаграмма.frm и Save Project1.vbp).

  3. Проверьте работоспособность проекта, запустив его на выполнение.

  4. Создайте exe-файл программы с помощью команды File Make Круговая диаграмма.exe.

  5. Выйдите из среды Visual Basic.

  6. Запустите на выполнение файл Круговая диаграмма.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.

Задание 3. Составить программу рисования графика функции

П остановка задачи.

Требуется составить программу, отображающую на экране график функции y = 5cos(x) + x для x в диапазоне от -5 до +5. Примерный внешний вид приложения представлен на Рис.11.3.

Ход работы.

  1. Создайте в папке Лабораторная_работа_№11 папку 11.3.

  2. Запустите программу Microsoft Visual Basic 6.0.

  3. В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».

  4. Расположите на форме 1 компонент ComandButton.

  5. Установите свойства компонентов в соответствии с Таблицей 11.3 (или ориентируясь на внешний вид формы).

Таблица 11.3 – Свойства компонентов приложения «График функции y = 5cos(x)+x»

Компонент

Свойство

Значение

Command1

Caption

Построить график

Form1

Caption

График функции y = 5cos(x)+x

Name

frmГрафик

  1. Щелкнув мышью два раза на кнопке «Построить график», напишите обработчик события Click (необходимые комментарии приведены после знака апострофа):

Private Sub Command1_Click()

Scale (-5, 5)-(5, -5)

DrawWindth = 3

FontSize = 20

Line (-5, 0)-(5, 0), 0

Print "X"

Line (0, -5)-(0, 5), 0

Print "Y"

For x = -5 To 5 Step 0.05

y = 5 * Cos(x) + x

PSet (x, y), vbRed

Next x

End Sub

  1. Сохраните проект (выбрав File – Save frmГрафик.frm и Save Project1.vbp).

  2. Проверьте работоспособность проекта, запустив его на выполнение.

  3. Измените диапазон значения X от -10 до +10.

  4. Создайте exe-файл программы с помощью команды File Make График.exe.

  5. Выйдите из среды Visual Basic, запустите на выполнение файл График.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.

Задание 4. Составить программу рисования графика функции y = 1/x.

П остановка задачи.

Требуется составить программу, которая при щелчке на кнопку показывает график функции y = 1/x Приложение также должно иметь кнопку для очистки графической поверхности. Примерный внешний вид формы представлен на Рис.11.4.

Ход работы.

  1. Создайте в папке Лабораторная_работа_№11 папку 11.4.

  2. Расположите на форме 1 компонент PictureBox, 3 компонента CommandButton.

  3. Свойству формы Name задайте значение frmГрафик, а свойству Caption – «График функции y = 1/x». Остальные свойства формы и остальных компонентов установите самостоятельно, по своему усмотрению.

  4. Объявите переменные в разделе глобальных объявлений:

Dim x As Single, y As Single, i As Integer

  1. Щелкнув мышью два раза на кнопке «Построить график», напишите обработчик события Click (необходимые комментарии приведены после знака апострофа):

Private Sub Command1_Click()

Picture1.Scale (-9, 9)-(9, -9)

Picture1.ForeColor = &HFFFFFF

Picture1.FontBold = True

'абсцисса

Picture1.Line (-9, 0)-(9, 0)

For i = -15 To 15

Picture1.PSet (i, 0)

Picture1.Print i

Next

'ординаты

Picture1.Line (0, -9)-(0, 9)

For i = -15 To 15

Picture1.PSet (0, i)

Picture1.Print i

Next

'график по точкам

For x = -10 To 10 Step 0.005

y = 1 / x

DrawWidth = 7 'толщина линии графика

Picture1.PSet (x, y), QBColor(14)

Next

End Sub

  1. Сохраните проект (выбрав File – Save frmГрафик2.frm и Save График2.vbp).

  2. Проверьте работоспособность проекта, запустив его на выполнение.

  3. Добавьте к коду программы (в конце, перед ключевыми словами End Sub) следующие строки и проанализируйте результат:

For x = -10 To 10 Step 0.005

y = 1 / (-x)

DrawWidth = 7

Picture1.PSet (x, y), QBColor(12)

Next

  1. Обработчики событий для кнопок «Очистить» и «Выйти» напишите самостоятельно.

  2. Сохраните изменения в проекте.

  3. Создайте exe-файл программы с помощью команды File Make График2.exe.

  4. Выйдите из среды Visual Basic, запустите на выполнение файл График2.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.

Задание 5. Составить программу рисования гиперболоида

П остановка задачи.

Требуется составить программу, которая при щелчке на кнопку рисует в графическом окне гиперболоид. Исходные данные задаются пользователем. Примерный внешний вид формы представлен на Рис.11.5.

Ход работы.

  1. Создайте в папке Лабораторная_работа_№11 папку 11.5.

  2. Расположите на форме 1 компонент PictureBox, 2 компонента CommandButton, 3 компонента Label, 3 компонента TextBox для ввода данных.

  3. Свойству формы Name задайте значение frmГиперболоид, а свойству Caption – «Гиперболоид». Остальные свойства формы и остальных компонентов установите самостоятельно, по своему усмотрению, ориентируясь на внешний вид формы (Рис.11.5)

  4. Объявите переменные в разделе глобальных объявлений:

Dim a As Single, b As Single, c As Single

Dim x As Single, y As Single

Dim i As Integer

  1. Щелкнув мышью два раза на кнопке «Построить график», напишите обработчик события Click (необходимые комментарии приведены после знака апострофа):

Private Sub Command1_Click()

Picture1.Scale (-5, 8)-(5, -8)

'Считываем коэффициенты уравнения

a = Val(Text1.Text)

b = Val(Text2.Text)

c = Val(Text3.Text)

'Ось абсцисс

Picture1.Line (-5, 0)-(5, 0)

For i = -5 To 5

Picture1.PSet (i, 0)

Picture1.Print i

Next

'Ось ординат

Picture1.Line (0, -8)-(0, 8)

For i = -8 To 8

Picture1.PSet (0, i)

Picture1.Print i

Next

'Цикл построения графика по точкам

For x = -5 To 5 Step 0.05

y = a * x * x + b * x + c

Picture1.Circle (0, y), Abs(x), , , , 0.1

Next

End Sub

  1. Сохраните проект (выбрав File – Save frmГиперболоид.frm и Save Гиперболоид.vbp).

  2. Проверьте работоспособность проекта, запустив его на выполнение.

  3. Обработчики событий для кнопки «Очистить» напишите самостоятельно.

  4. Проверьте различные значения исходных данных (коэффициентов уравнения) и проанализируйте, как зависит внешний вид графика от исходных данных.

  5. Сохраните изменения в проекте.

  6. Создайте exe-файл программы с помощью команды File Make Гиперболоид.exe.

  7. Выйдите из среды Visual Basic, запустите на выполнение файл Гиперболоид.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения

Задания для самостоятельного выполнения

1. Составить программу, отображающую в виде круговой диаграммы процентное распределение населения Земли по континентам (Европа, Азия, Африка, Северная Америка, Южная Америка, Австралия и Океания).

2. Составить программу, показывающую круговую диаграмму процентного распределения бюджета своей семьи за месяц.

3. Составить программу, показывающую столбиковую диаграмму распределения по росту учащихся Вашей группы по следующей классификации: выше 175 см, от 170 до 175 см, от 165 до 170 см, от 160 до 165 см, ниже 165 см.

4. Требуется составить программу, отображающую на экране график функции y = 5*sin(x) - x.

5. Составьте программу для построения графиков функций:

а) y = ex б) y = tg(x) – 1 в) y = sin| x2 + x - 2 |

6*. Требуется составить программу, отображающую на экране график функции y = ax2+bx+c. График должен вычерчиваться в графическом окне. Предусмотреть возможность ввода коэффициентов a, b, c и диапазона изменения X (x0 и xn).