- •Введение. Установка среды программирования
- •2. История языка Basic
- •3. Установка Visual Basic
- •Лабораторная работа №1. Интерфейс Visual Basic. Создание первого проекта
- •Теоретическая часть
- •1 . Первое знакомство
- •5. Стандартная панель инструментов
- •Практическая часть
- •Лабораторная работа №2. Изменение свойств компонентов. Метод Print
- •Теоретическая часть
- •1. Состав панели управления
- •2. Окно свойств и редактора кода
- •3. Свойства элементов управления
- •3.1 Свойства элемента Form
- •3.2 Свойства элемента TextBox
- •3.3. Свойства компонента CommandButton
- •Объект.Print [Список вывода]
- •Объект.Cls Практическая часть
- •Лабораторная работа №3. Работа с простейшим графическим объектом Visual Basic
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №4. Работа с арифметическими выражениями и функциями
- •Теоретическая часть
- •1. Арифметические выражения Visual Basic.
- •2. Встроенные функции Visual Basic
- •3. Функции преобразования
- •Str (число)
- •Val (символьное выражение)
- •Практическая часть
- •Лабораторная работа №5. Решение простейших математических задач с использованием линейных алгоритмов
- •Теоретическая часть
- •1. Типы данных
- •2. Объявление переменных
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Оператор_объявления_типа Строка_интервалов_имен
- •3. Константы Visual Basic
- •4. Область видимости переменной
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Имя_формы.Имя_переменной
- •Практическая часть
- •Лабораторная работа №6. Программирование ветвлений с использованием оператора If
- •Теоретическая часть
- •1. Конструкция If … Then … End If
- •2. Конструкция If … Then … Else … End If
- •3. Конструкция If … Then … Else If… End If
- •Практическая часть
- •Лабораторная работа №7. Программирование ветвлений с использованием оператора Case
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №8. Программирование циклов
- •Теоретическая часть
- •1. Цикл For…Next
- •2. Цикл For Each … Next
- •3. Цикл Do While … Loop
- •4. Цикл Do Until … Loop
- •5. Цикл Do … Loop While
- •6. Цикл Do … Loop Until
- •7. Цикл While … Wend
- •Практическая часть
- •Лабораторная работа №9. Разработка приложений для обработки массивов
- •Теоретическая часть
- •1. Объявление массивов
- •2. Массивы с фиксированной границей и динамические массивы.
- •UBound (имяМассива [, измерение]) Практическая часть
- •Лабораторная работа №10. Разработка приложений с использованием методов рисованИя графических примитивов
- •Теоретическая часть
- •1. Графическая поверхность
- •2. Графические примитивы
- •Практическая часть
- •Лабораторная работа №11. Построение графиков и диаграмм
- •Лабораторная работа №12. Применение пользовательских диалоговых окон
- •Теоретическая часть
- •1. Окно и функция InputBox
- •2. Окно MsgBox
- •MsgBox Текст сообщения [,Константа] [,Заголовок]
- •3. Функция MsgBox()
- •Практическая часть
- •Лабораторная работа №13. Разработка компьютерного теста с использованием Visual Basic
- •Теоретическая часть
- •Лабораторная работа №14. Создание пользовательского меню и панели инструментов
- •Теоретическая часть
- •Call Имя процедуры ([Список Параметров Вызова]),
- •Практическая часть
- •Лабораторная работа №15. Создание текстового редактора
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №16. Разработка мультимедиа-приложений
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №17. Макросы: запись, запуск, чтение
- •Теоретическая часть
- •Обычно макрос содержит следующие элементы.
- •Практическая часть
- •Лабораторная работа №18. Создание форм рабочего листа
- •Теоретическая часть
- •1. Когда необходимо использовать vba в Excel
- •2. Объект Application
- •3. Объект Workbook
- •4. Объект Worksheet
- •5. Объект Range
- •Инициализация и отображение диалогового окна
- •Практическая часть Создание пользовательской формы
- •Создание пользовательской формы
- •Практические задания по программированию на vba
- •Лабораторная работа №19. Создание книги лабораторных работ с автоматизированным выбором страниц книги
- •Практическая часть
- •Лабораторная работа №20. Моделирование процессов
- •Теоретическая часть
- •Лабораторная работа №21. Создание сводных таблиц в vba
- •Теоретическая часть Практическая часть
- •Лабораторная работа №22. Работа с компонентом Chart
- •Теоретическая часть Практическая часть
- •Лабораторная работа №23. Работа с базами данных в Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №24. Работа с базами данных в Excel с использованием Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №25. Обработка данных на рабочем листе Теоретическая часть Практическая часть
Лабораторная работа №11. Построение графиков и диаграмм
Цель работы: научиться использовать операторы рисования графических примитивов для рисования диаграмм и графиков функций
Команды для рисования графических примитивов также можно использовать для построения графиков функций и диаграмм. В данной лабораторной работе рассмотрены столбиковые и круговые диаграммы, а также построение графиков некоторых функций.
Задание 1. Составить программу, показывающую столбиковую диаграмму.
Постановка задачи.
Т ребуется составить программу, отображающую на экране столбиковую диаграмму для отображения процентных соотношений оценок за контрольную работу по какой-либо дисциплине. Примерный внешний вид формы представлен на Рис.11.1.
Ход работы.
Создайте в папке Лабораторная_работа_№11 папку 11.1.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме 5 компонентов Label, 4 компонента TextBox, 2 компонента ComandButton и 1 компонент PictureBox.
Установите свойства компонентов в соответствии с Таблицей 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 |
Очистить |
Щелкнув мышью два раза на кнопке «Построить диаграмму», напишите обработчик события 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
При щелчке на кнопке «Очистить» необходимо очистить поля ввода и компонент Picture1 вывода диаграммы:
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Picture1.Cls
End Sub
Сохраните проект (выбрав File – Save frmДиаграмма.frm и Save Project1.vbp).
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Столбиковая диаграмма.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Столбиковая диаграмма.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.
Задание 2. Составить программу, показывающую круговую диаграмму.
П остановка задачи.
Требуется составить программу, отображающую на экране круговую диаграмму для отображения процентных соотношений количества учащихся по курсам. Примерный внешний вид формы представлен на Рис.11.2.
Ход работы.
Создайте в папке Лабораторная_работа_№11 папку 11.2.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме 5 компонентов Label, 4 компонента TextBox, 2 компонента ComandButton и 1 компонент PictureBox.
Установите свойства компонентов в соответствии с Таблицей 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 |
Очистить |
Щелкнув мышью два раза на кнопке «Построить диаграмму», напишите обработчик события 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
Напишите самостоятельно обработчик щелчка мыши по кнопке «Очистить», используя навыки, полученные при выполнении предыдущего задания.
Сохраните проект (выбрав File – Save frmДиаграмма.frm и Save Project1.vbp).
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Круговая диаграмма.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Круговая диаграмма.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.
Задание 3. Составить программу рисования графика функции
П остановка задачи.
Требуется составить программу, отображающую на экране график функции y = 5cos(x) + x для x в диапазоне от -5 до +5. Примерный внешний вид приложения представлен на Рис.11.3.
Ход работы.
Создайте в папке Лабораторная_работа_№11 папку 11.3.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме 1 компонент ComandButton.
Установите свойства компонентов в соответствии с Таблицей 11.3 (или ориентируясь на внешний вид формы).
Таблица 11.3 – Свойства компонентов приложения «График функции y = 5cos(x)+x»
Компонент |
Свойство |
Значение |
Command1 |
Caption |
Построить график |
Form1 |
Caption |
График функции y = 5cos(x)+x |
Name |
frmГрафик |
Щелкнув мышью два раза на кнопке «Построить график», напишите обработчик события 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
Сохраните проект (выбрав File – Save frmГрафик.frm и Save Project1.vbp).
Проверьте работоспособность проекта, запустив его на выполнение.
Измените диапазон значения X от -10 до +10.
Создайте exe-файл программы с помощью команды File → Make График.exe.
Выйдите из среды Visual Basic, запустите на выполнение файл График.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.
Задание 4. Составить программу рисования графика функции y = 1/x.
П остановка задачи.
Требуется составить программу, которая при щелчке на кнопку показывает график функции y = 1/x Приложение также должно иметь кнопку для очистки графической поверхности. Примерный внешний вид формы представлен на Рис.11.4.
Ход работы.
Создайте в папке Лабораторная_работа_№11 папку 11.4.
Расположите на форме 1 компонент PictureBox, 3 компонента CommandButton.
Свойству формы Name задайте значение frmГрафик, а свойству Caption – «График функции y = 1/x». Остальные свойства формы и остальных компонентов установите самостоятельно, по своему усмотрению.
Объявите переменные в разделе глобальных объявлений:
Dim x As Single, y As Single, i As Integer
Щелкнув мышью два раза на кнопке «Построить график», напишите обработчик события 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
Сохраните проект (выбрав File – Save frmГрафик2.frm и Save График2.vbp).
Проверьте работоспособность проекта, запустив его на выполнение.
Добавьте к коду программы (в конце, перед ключевыми словами End Sub) следующие строки и проанализируйте результат:
For x = -10 To 10 Step 0.005
y = 1 / (-x)
DrawWidth = 7
Picture1.PSet (x, y), QBColor(12)
Next
Обработчики событий для кнопок «Очистить» и «Выйти» напишите самостоятельно.
Сохраните изменения в проекте.
Создайте exe-файл программы с помощью команды File → Make График2.exe.
Выйдите из среды Visual Basic, запустите на выполнение файл График2.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.
Задание 5. Составить программу рисования гиперболоида
П остановка задачи.
Требуется составить программу, которая при щелчке на кнопку рисует в графическом окне гиперболоид. Исходные данные задаются пользователем. Примерный внешний вид формы представлен на Рис.11.5.
Ход работы.
Создайте в папке Лабораторная_работа_№11 папку 11.5.
Расположите на форме 1 компонент PictureBox, 2 компонента CommandButton, 3 компонента Label, 3 компонента TextBox для ввода данных.
Свойству формы Name задайте значение frmГиперболоид, а свойству Caption – «Гиперболоид». Остальные свойства формы и остальных компонентов установите самостоятельно, по своему усмотрению, ориентируясь на внешний вид формы (Рис.11.5)
Объявите переменные в разделе глобальных объявлений:
Dim a As Single, b As Single, c As Single
Dim x As Single, y As Single
Dim i As Integer
Щелкнув мышью два раза на кнопке «Построить график», напишите обработчик события 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
Сохраните проект (выбрав File – Save frmГиперболоид.frm и Save Гиперболоид.vbp).
Проверьте работоспособность проекта, запустив его на выполнение.
Обработчики событий для кнопки «Очистить» напишите самостоятельно.
Проверьте различные значения исходных данных (коэффициентов уравнения) и проанализируйте, как зависит внешний вид графика от исходных данных.
Сохраните изменения в проекте.
Создайте exe-файл программы с помощью команды File → Make Гиперболоид.exe.
Выйдите из среды 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).