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

Практическая часть

Задание 1. Вывести на экран квадраты первых десяти чисел.

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

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

Ход работы.

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

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

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

  4. Расположите на форме командную кнопку CommandButton1.

  5. Присвойте свойству Caption кнопки значение «Вывести квадраты»,

  6. Присвойте свойству Caption формы значение «Квадраты первых десяти чисел», а свойству Name значение «FrmКвадраты».

  7. Н апишите обработчик события по кнопке «Вывести квадраты», не забывая объявить переменные в начале программы:

Dim i As Integer

Private Sub Command1_Click()

FontSize = 20

For i = 1 To 10

Print i ^ 2; 'точка с запятой позволяет

'вывести квадраты в строчку, а не в столбик

Next

End Sub

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

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

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

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

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

Задание 2. Вывести на экран концентрические окружности.

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

Разработать приложение, позволяющее по щелчку на кнопке показать на экране расходящиеся окружности (основу мишени). Примерный внешний вид формы приложения показан на Рис.8.4, результат работы программы – на Рис.8.5.

Х од работы.

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

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

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

  4. Расположите на форме командную кнопку CommandButton1 и компонент PictureBox.

  5. Присвойте свойству Caption кнопки значение «Нарисовать окружности».

  6. Присвойте свойству Caption формы значение «Окружности», а свойству Name значение «FrmОкружности».

  7. Н апишите обработчик события по кнопке «Нарисовать окружности», не забывая объявить переменные в начале программы:

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

  1. Сохраните проект (выбрав File – Save frmОкружности.frm и Save Окружности.vbp) в папке 8.2.

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

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

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

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

Задание 3. Вычисление суммы N чисел ряда 1, 3, 5, 7, ….

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

Разработать приложение, которое вычисляет сумму первых N чисел ряда 1, 3, 5, 7, …. Число N вводится пользователем. Программа должна вывести сумму N чисел, и количество N этих чисел. Примерный внешний вид формы приложения показан на Рис.8.6.

Ход работы.

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

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

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

  4. Расположите на форме 2 командных кнопки CommandButton, 2 компонента Label, 1 компонент TextBox. Примерный внешний вид формы приведен на Рис.8.6.

  5. П рисвойте свойству Caption кнопки значение «Вычислить».

  6. Присвойте свойству Caption формы значение «Вычисление суммы N чисел ряда 1, 3, 5, 7…», а свойству Name значение «FrmСуммаРяд».

  7. Напишите обработчик события по кнопке «Вычислить», не забывая объявить переменные в начале программы. После знаков апострофов приведены необходимые комментарии.

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

  1. Сохраните проект (выбрав File – Save frmСуммаРяд.frm и Save СуммаРяд.vbp) в папке 8.3.

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

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

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

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

Задание 4. Вычисление суммы квадратов N чисел, не превышающей заданное число.

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

Разработать приложение, которое вычисляет сумму квадратов первых N чисел. Сумма не должна превышать заданное число M. Число M вводится пользователем. Программа должна вывести сумму квадратов чисел и количество цифр, сумма квадратов которых не превышает заданное число. Примерный внешний вид формы приложения показан на Рис.8.7.

Ход работы.

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

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

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

  4. Расположите на форме 2 командных кнопки CommandButton, 2 компонента Label, 1 компонент TextBox. Примерный внешний вид формы приведен на Рис.8.7.

  5. Присвойте свойству Caption кнопки значение «Вычислить».

  6. Присвойте свойству Caption формы значение «Вычисление суммы квадратов N чисел, не превышающей заданное число M», а свойству Name значение «FrmСумма».

  7. Напишите обработчик события по кнопке «Вычислить», не забывая объявить переменные в начале программы. После знаков апострофов приведены необходимые комментарии.

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

  1. Разберитесь в коде программы. Для чего после ключевого слова Loop приведены строки:

N = N - 1

sum = sum - N * N

Можно ли обойтись без этих строк? Почему?

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

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

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

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

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

Задание 5. Вычисление значения функции и построение таблицы ее значений.

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

Разработать приложение, которое выводит на форме таблицу значений функции y = 2x­­­2 + 5x – 3 в диапазоне от -2 до 2 с шагом 0,5. Примерный результат работы программы – на Рис.8.8.

Ход работы.

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

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

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

  4. Расположите на форме 1 командную кнопку CommandButton. Примерный внешний вид приложения во время работы приведен на Рис.8.8.

  5. Присвойте свойству Caption кнопки значение «Построить таблицу значений».

  6. Присвойте свойству Caption формы значение «Построение таблицы значений функции», а свойству Name значение «FrmТаблицаФункции».

  7. Напишите обработчик события по кнопке «Построить таблицу значений», не забывая объявить переменные в начале программы. После знаков апострофов приведены необходимые комментарии.

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

  1. Сохраните проект (выбрав File – Save frmТаблицаФункции.frm и Save ТаблицаФункции.vbp) в папке 8.5.

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

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

  4. Измените программу таким образом, чтобы диапазон изменения аргумента X задавался во время работы приложения путем ввод значений пользователя. Добавьте для этого на форме необходимые компоненты (Label и TextBox).

  5. Сохраните проект в той же папке (на вопрос о перезаписи файла выберите ответ «Да»).

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

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

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

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

Задание 6. Вычисление квадратного корня из числа, не превышающего 100.

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

С клавиатуры вводятся целые положительные числа. Пока числа меньше 100, программа вычисляет квадратный корень из введенного числа. Как только число оказывается больше или р авно 100, программа прекращает работу. Примерный вид работы программы – на Рис.8.9.

Ход работы.

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

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

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

  4. Расположите на форме 1 командную кнопку CommandButton, 1 компонент Label. Примерный внешний вид приложения во время работы приведен на Рис.8.9.

  5. Присвойте свойству Caption кнопки значение «Вычислить».

  6. Присвойте свойству Caption формы значение «Квадратные корни», а свойству Name значение «FrmКорни».

  7. Напишите обработчик события по кнопке «Вычислить», не забывая объявить переменные в начале программы. После знаков апострофов приведены необходимые комментарии.

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

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

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

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

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

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

Задание 7. Вычисление среднего арифметического с помощью цикла Do Until Loop

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

С клавиатуры вводятся целые положительные числа. Программа складывает числа до тех пор, пока сумма не превышает заданное число. Как только сумма оказывается больше или равна заданному числу, программа прекращает работу и вычисляет среднее арифметическое введенных чисел. Примерный вид работы программы – на Рис.8.10.

Ход работы.

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

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

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

  4. Расположите на форме 2 командных кнопки CommandButton, 1 компонент Label. Примерный внешний вид приложения во время работы приведен на Рис.8.10.

  5. Присвойте свойству Caption кнопки Command1 значение «Расчет», а кнопки Command2 – значение «Очистка».

  6. Присвойте свойству Caption формы значение «Вычисление суммы и среднего арифметического», а свойству Name значение «FrmСреднее».

  7. Напишите обработчик события по кнопке «Расчет», не забывая объявить переменные в начале программы.

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

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

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

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

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

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

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

Подведем итоги

В работе были использованы новые

операторы:

ForNext (для повтора цикла заданное количество раз)

For EachNext (для повтора цикла заданное количество раз с учетом каждого значения)

Do WhileLoop (выполняет какое-либо действие до тех пор, пока условие истинно (проверка условия в начале цикла))

Do UntilLoop (цикл служит для того, чтобы, пока условие не выполняется, повторять тело цикла (проверка условия содержится в начале цикла))

DoLoop While (повторяет тело цикла, пока выполняется условие (проверка условия содержится в конце цикла))

DoLoop Until (повторяет тело цикла, пока условие не выполняется (проверка условия содержится в конце цикла))

WhileWend (повторяет тело цикла заранее неизвестное количество раз)

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

  1. Составьте конспект по теоретической части лабораторной работы. Выполненное задание покажите преподавателю.

  2. Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить суммарную длину пробега за N дней; в какой день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100 км.

  3. Одноклеточная амеба каждый 3 часа делится на 2 клетки. Вычислить, сколько амеб будет через 3, 6, 9, …N часов. Количество часов N вводится пользователем.

  4. Имеется список студентов и оценки, полученные на экзамене. Определить средний балл группы за экзамен. Количество студентов в группе заранее неизвестно.

  5. Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел.

  6. Написать программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их среднее арифметическое.

  7. Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов – «отлично», за 9 и 8 – «хорошо», за 7 и 6 – «удовлетворительно», за 5 и менее – «плохо».

  8. Написать программу, которая вычисляет сумму первых n целых положительных четных чисел. Количество чисел должно вводиться во время работы программы.

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

  10. Написать программу, которая вычисляет сумму первых n членов ряда .

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

  12. Написать программу, которая выводит на экран таблицу значений функции y = |x-2| + |x+1|.

  13. Написать программу, которая выводит на экран таблицу умножения Пифагора.

  14. Написать программу, которая выводит таблицу степеней двойки (от нулевой до десятой).

  15. Разработать программу, где с клавиатуры запрашивается любая цифра от 2 до 9, а затем компьютер печатает таблицу умножения на эту цифру.

Вопросы для контроля

1. В каких случаях применяются операторы цикла?

2. Каковы правила выбора оператора цикла для решения задачи?

3. Какие операторы цикла проверяют условие выполнения программы до начала выполнения цикла? После выполнения оператора цикла?

4. Как выйти из «зацикленной» программы?

5. В каких случаях используется цикл For … Next? Цикл For Each…Next?