- •Введение. Установка среды программирования
- •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. Обработка данных на рабочем листе Теоретическая часть Практическая часть
Практическая часть
Задание 1. Вывести на экран квадраты первых десяти чисел.
Постановка задачи.
Р азработать приложение, позволяющее по щелчку на кнопке показать на экране квадраты первых десяти чисел. Примерный внешний вид формы приложения показан на Рис.8.2, результат работы программы – на Рис.8.3.
Ход работы.
Создайте папку Лабораторная_работа_№8, а в ней папку 8.1.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме командную кнопку CommandButton1.
Присвойте свойству Caption кнопки значение «Вывести квадраты»,
Присвойте свойству Caption формы значение «Квадраты первых десяти чисел», а свойству Name значение «FrmКвадраты».
Н апишите обработчик события по кнопке «Вывести квадраты», не забывая объявить переменные в начале программы:
Dim i As Integer
Private Sub Command1_Click()
FontSize = 20
For i = 1 To 10
Print i ^ 2; 'точка с запятой позволяет
'вывести квадраты в строчку, а не в столбик
Next
End Sub
Сохраните проект (выбрав File – Save frmКвадраты.frm и Save Квадраты.vbp) в папке 8.1.
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Квадраты.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Квадраты.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.
Задание 2. Вывести на экран концентрические окружности.
Постановка задачи.
Разработать приложение, позволяющее по щелчку на кнопке показать на экране расходящиеся окружности (основу мишени). Примерный внешний вид формы приложения показан на Рис.8.4, результат работы программы – на Рис.8.5.
Х од работы.
Создайте в папке Лабораторная_работа_№8 папку 8.2.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме командную кнопку CommandButton1 и компонент PictureBox.
Присвойте свойству Caption кнопки значение «Нарисовать окружности».
Присвойте свойству Caption формы значение «Окружности», а свойству Name значение «FrmОкружности».
Н апишите обработчик события по кнопке «Нарисовать окружности», не забывая объявить переменные в начале программы:
Dim r As Integer
Private Sub Command1_Click()
Picture1.Scale (0, 100)-(100, 0)
For r = 5 To 50 Step 10
Picture1.Circle (50, 50), r
Next
End Sub
Сохраните проект (выбрав File – Save frmОкружности.frm и Save Окружности.vbp) в папке 8.2.
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Окружности.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Окружности.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.
Задание 3. Вычисление суммы N чисел ряда 1, 3, 5, 7, ….
Постановка задачи.
Разработать приложение, которое вычисляет сумму первых N чисел ряда 1, 3, 5, 7, …. Число N вводится пользователем. Программа должна вывести сумму N чисел, и количество N этих чисел. Примерный внешний вид формы приложения показан на Рис.8.6.
Ход работы.
Создайте в папке Лабораторная_работа_№8 папку 8.3.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме 2 командных кнопки CommandButton, 2 компонента Label, 1 компонент TextBox. Примерный внешний вид формы приведен на Рис.8.6.
П рисвойте свойству Caption кнопки значение «Вычислить».
Присвойте свойству Caption формы значение «Вычисление суммы N чисел ряда 1, 3, 5, 7…», а свойству Name значение «FrmСуммаРяд».
Напишите обработчик события по кнопке «Вычислить», не забывая объявить переменные в начале программы. После знаков апострофов приведены необходимые комментарии.
Dim a As Integer 'a - член ряда
Dim n As Integer 'n - количество суммируемых членов
Dim summ As Integer 'summ - сумма членов ряда
Dim i As Integer 'i - счетчик циклов
Private Sub Command1_Click()
n = Val(Text1.Text) 'получение числа n
a = 1 ' первый член ряда
summ = 0
For i = 1 To n
summ = summ + a
a = a + 2
Next i
Label2.Caption = "Сумма первых " + Str(n) + " членов ряда равна " + Str(summ)
End Sub
Сохраните проект (выбрав File – Save frmСуммаРяд.frm и Save СуммаРяд.vbp) в папке 8.3.
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Сумма_ряда.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Сумма_ряда.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.
Задание 4. Вычисление суммы квадратов N чисел, не превышающей заданное число.
Постановка задачи.
Разработать приложение, которое вычисляет сумму квадратов первых N чисел. Сумма не должна превышать заданное число M. Число M вводится пользователем. Программа должна вывести сумму квадратов чисел и количество цифр, сумма квадратов которых не превышает заданное число. Примерный внешний вид формы приложения показан на Рис.8.7.
Ход работы.
Создайте в папке Лабораторная_работа_№8 папку 8.4.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме 2 командных кнопки CommandButton, 2 компонента Label, 1 компонент TextBox. Примерный внешний вид формы приведен на Рис.8.7.
Присвойте свойству Caption кнопки значение «Вычислить».
Присвойте свойству Caption формы значение «Вычисление суммы квадратов N чисел, не превышающей заданное число M», а свойству Name значение «FrmСумма».
Напишите обработчик события по кнопке «Вычислить», не забывая объявить переменные в начале программы. После знаков апострофов приведены необходимые комментарии.
Dim N As Integer, sum As Integer, X As Integer
Private Sub Command1_Click()
X = Val(Text1.Text)
sum = 0
N = 1 ' первое число
Do While sum < X
sum = sum + N * N
N = N + 1
Loop
N = N - 1
sum = sum - N * N
Label2.Caption = "Сумма квадратов " + Str(N - 1) + " чисел равна " + Str(sum)
End Sub
Разберитесь в коде программы. Для чего после ключевого слова Loop приведены строки:
N = N - 1
sum = sum - N * N
Можно ли обойтись без этих строк? Почему?
Сохраните проект (выбрав File – Save frmСумма.frm и Save Сумма.vbp) в папке 8.4.
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Сумма.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Сумма.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.
Задание 5. Вычисление значения функции и построение таблицы ее значений.
Постановка задачи.
Разработать приложение, которое выводит на форме таблицу значений функции y = 2x2 + 5x – 3 в диапазоне от -2 до 2 с шагом 0,5. Примерный результат работы программы – на Рис.8.8.
Ход работы.
Создайте в папке Лабораторная_работа_№8 папку 8.5.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме 1 командную кнопку CommandButton. Примерный внешний вид приложения во время работы приведен на Рис.8.8.
Присвойте свойству Caption кнопки значение «Построить таблицу значений».
Присвойте свойству Caption формы значение «Построение таблицы значений функции», а свойству Name значение «FrmТаблицаФункции».
Напишите обработчик события по кнопке «Построить таблицу значений», не забывая объявить переменные в начале программы. После знаков апострофов приведены необходимые комментарии.
Dim x0 As Integer ' x0 - начальное значение (нижняя граница диапазона)
Dim xn As Integer ' xn - конечное значение (верхняя граница диапазона)
Dim dx As Single ' dx - шаг изменения x
Dim x As Single ' x - аргумент функции
Dim y As Single ' y - значение функции
Dim n As Integer ' n - количество вычислений
Dim i As Integer ' i - счетчик циклов
Private Sub Command1_Click()
x0 = -2
xn = 2
dx = 0.5
n = CInt((xn - x0) / dx) + 1 ' вычислим, сколько раз произвести вычисления
x = x0
Print Tab(2); " x | y"
Print Tab(2); "----------------------"
For i = 1 To n
y = -2.4 * x * x + 5 * x - 3
Print Tab(2); " "; x, " | "; y
x = x + dx
Next
Print Tab(2); "----------------------"
End Sub
Сохраните проект (выбрав File – Save frmТаблицаФункции.frm и Save ТаблицаФункции.vbp) в папке 8.5.
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Таблица_функции.exe.
Измените программу таким образом, чтобы диапазон изменения аргумента X задавался во время работы приложения путем ввод значений пользователя. Добавьте для этого на форме необходимые компоненты (Label и TextBox).
Сохраните проект в той же папке (на вопрос о перезаписи файла выберите ответ «Да»).
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Таблица_функции.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Таблица_функции.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения
Задание 6. Вычисление квадратного корня из числа, не превышающего 100.
Постановка задачи.
С клавиатуры вводятся целые положительные числа. Пока числа меньше 100, программа вычисляет квадратный корень из введенного числа. Как только число оказывается больше или р авно 100, программа прекращает работу. Примерный вид работы программы – на Рис.8.9.
Ход работы.
Создайте в папке Лабораторная_работа_№8 папку 8.6.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме 1 командную кнопку CommandButton, 1 компонент Label. Примерный внешний вид приложения во время работы приведен на Рис.8.9.
Присвойте свойству Caption кнопки значение «Вычислить».
Присвойте свойству Caption формы значение «Квадратные корни», а свойству Name значение «FrmКорни».
Напишите обработчик события по кнопке «Вычислить», не забывая объявить переменные в начале программы. После знаков апострофов приведены необходимые комментарии.
Dim z As Integer
Dim s As Single
Private Sub Command1_Click()
CurrentY = 1600 ' координата Y вывода результата (зависит от размеров и местопо-
'положения формы)
z = InputBox("Введите целое положительное число", "Запрос числа")
While z < 100
s = Sqr(z)
Print "Квадратный корень из числа "; z; " равен "; s
z = InputBox("Введите целое положительное число", "Запрос числа")
Wend
Label1.Caption = "Вычисления закончены"
End Sub
Сохраните проект (выбрав File – Save frmКорни.frm и Save Корни.vbp) в папке 8.6.
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Корни.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Таблица_функции.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения
Задание 7. Вычисление среднего арифметического с помощью цикла Do Until Loop
Постановка задачи.
С клавиатуры вводятся целые положительные числа. Программа складывает числа до тех пор, пока сумма не превышает заданное число. Как только сумма оказывается больше или равна заданному числу, программа прекращает работу и вычисляет среднее арифметическое введенных чисел. Примерный вид работы программы – на Рис.8.10.
Ход работы.
Создайте в папке Лабораторная_работа_№8 папку 8.7.
Запустите программу Microsoft Visual Basic 6.0.
В появившемся окне выберите тип приложения STANDARD.exe и нажмите кнопку «Открыть».
Расположите на форме 2 командных кнопки CommandButton, 1 компонент Label. Примерный внешний вид приложения во время работы приведен на Рис.8.10.
Присвойте свойству Caption кнопки Command1 значение «Расчет», а кнопки Command2 – значение «Очистка».
Присвойте свойству Caption формы значение «Вычисление суммы и среднего арифметического», а свойству Name значение «FrmСреднее».
Напишите обработчик события по кнопке «Расчет», не забывая объявить переменные в начале программы.
Dim sum As Integer
Dim z As Integer
Dim x As Integer
Dim n As Integer
Dim srednee As Single
Private Sub Command1_Click()
z = InputBox("Введите число, которое не должна превышать сумма", "Запрос числа")
sum = 0
n = 0
Do
x = InputBox("Введите число", "Число")
sum = sum + x
n = n + 1
Print ; "Введено чисел: "; n; ". Их сумма равна "; sum
Loop Until sum > z
srednee = sum / n
Label1.Caption = "Введено чисел: " + Str(n) + ". Их сумма равна " + Str(sum) + ", а среднее арифметическое равно " + Str(srednee)
End Sub
Обработчик события по кнопке «Очистка» запишите самостоятельно, вспомнив навыки, полученные при выполнении предыдущих лабораторных работ.
Сохраните проект (выбрав File – Save frmСреднее.frm и Save Среднее.vbp) в папке 8.7.
Проверьте работоспособность проекта, запустив его на выполнение.
Создайте exe-файл программы с помощью команды File → Make Среднее.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Среднее.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения
Подведем итоги
В работе были использованы новые
операторы:
For…Next (для повтора цикла заданное количество раз)
For Each … Next (для повтора цикла заданное количество раз с учетом каждого значения)
Do While … Loop (выполняет какое-либо действие до тех пор, пока условие истинно (проверка условия в начале цикла))
Do Until … Loop (цикл служит для того, чтобы, пока условие не выполняется, повторять тело цикла (проверка условия содержится в начале цикла))
Do … Loop While (повторяет тело цикла, пока выполняется условие (проверка условия содержится в конце цикла))
Do … Loop Until (повторяет тело цикла, пока условие не выполняется (проверка условия содержится в конце цикла))
While … Wend (повторяет тело цикла заранее неизвестное количество раз)
Задания для самостоятельного выполнения
Составьте конспект по теоретической части лабораторной работы. Выполненное задание покажите преподавателю.
Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить суммарную длину пробега за N дней; в какой день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100 км.
Одноклеточная амеба каждый 3 часа делится на 2 клетки. Вычислить, сколько амеб будет через 3, 6, 9, …N часов. Количество часов N вводится пользователем.
Имеется список студентов и оценки, полученные на экзамене. Определить средний балл группы за экзамен. Количество студентов в группе заранее неизвестно.
Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел.
Написать программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их среднее арифметическое.
Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов – «отлично», за 9 и 8 – «хорошо», за 7 и 6 – «удовлетворительно», за 5 и менее – «плохо».
Написать программу, которая вычисляет сумму первых n целых положительных четных чисел. Количество чисел должно вводиться во время работы программы.
Написать программу, которая вычисляет среднее арифметическое вводимой с клавиатуры последовательности дробных чисел. Количество чисел задается во время работы программы.
Написать программу, которая вычисляет сумму первых n членов ряда .
Написать программу, которая вводит с клавиатуры последовательность из пяти дробных чисел и после ввода каждого числа выводит среднее арифметическое полученной части последовательности.
Написать программу, которая выводит на экран таблицу значений функции y = |x-2| + |x+1|.
Написать программу, которая выводит на экран таблицу умножения Пифагора.
Написать программу, которая выводит таблицу степеней двойки (от нулевой до десятой).
Разработать программу, где с клавиатуры запрашивается любая цифра от 2 до 9, а затем компьютер печатает таблицу умножения на эту цифру.
Вопросы для контроля
1. В каких случаях применяются операторы цикла?
2. Каковы правила выбора оператора цикла для решения задачи?
3. Какие операторы цикла проверяют условие выполнения программы до начала выполнения цикла? После выполнения оператора цикла?
4. Как выйти из «зацикленной» программы?
5. В каких случаях используется цикл For … Next? Цикл For Each…Next?