Private Sub cmdRun_Click( )
‘В цикле на кнопки записываются цифры от 0 до 9
For i = 0 To 9
CmdNumber(i).Caption = Str(i)‘на i-й кнопке
‘записывается текст, содержащий число i, для этого используется ‘встроенная функция Str( )преобразования числа i в текстовую форму
Next i
‘В цикле от 0 до 15 кнопки “включаются”, т.е. их можно “нажимать”
For i = 0 To 15
cmdNumber(i).Enabled = True
Next i
cmdRezult.Enabled = True
cmdCancel.Enabled = True
End Sub
Коды, которые нужно записать для кнопки cmdCancel:
Private Sub cmdCancel_Click( )
txtCalc.Text = “0” ‘очистка окошка ввода чисел
txtRezult.Text = “0” ‘очистка окошка вывода результата
rezult = 0 ‘очистка значения результата
perv = “” ‘очистка первого числа формулы
vtor = “” ‘очистка второго числа формулы
zagotovka = “”‘очистка заготовки для формирования чисел
End Sub
Коды, которые нужно записать для кнопки cmdNumber:
Private Sub cmdNumber_Click(Ind As Integer)
Static flag
If perv = “” Then flag = 0
If Ind <= 10 Then‘Если нажата клавиша с цифрой или (.), то:
‘к тексту, который уже ввели, прирастим текст с нажатой кнопки
txtCalc.Text = txtCalc.Text + cmdNuber(Ind).Caption
‘аналогично прирастим "заготовку" для первого числа формулы
zagotovka = zagotovka + cmdNumber(Ind).Caption
Number = Val(zagotovka) ‘Преобразуем строку символов ‘zagotovka в число Numberс помощью встроенной функции Val( )
If flag = 0 Then‘Различим, с каким числом формулы “работаем”
perv = Number‘если flag = 0, то с первым
Else
vtor = Number ‘если flag = 1, то со вторым
End If
‘Если нажата одна из кнопок арифметических действий, то:
Else
‘в а запоминаем знак действия, это понадобится при вычислениях
a = cmdNumber(Ind).Caption
‘к отображаемому в окне тексту (числу), прирастим текст
‘с нажатой кнопки арифметического действия
txtCalc.Text = txtCalc.Text + a
zagotovka = “” ‘переменная готова к приёму второго числа
flag = 1 ‘разрешаем конструировать второе число и
‘одновременно запрещаем добавлять новые цифры к первому
End If
End Sub
Замечание: в аргументе подпрограммы написано выражение Ind As Integer. Оно означает, что при нажатии одной из кнопок, сформированных как массив, образуется целое число Ind, равное номеру нажатой кнопки. Тип числа – целое (Integer).
Область существования переменной flag определена оператором Static, т.е. в промежутках между вызовами данной подпрограммы значение, которое хранится в переменной flag, сохраняется, не обнуляется. Чтобы понять, какой в этом смысл, замените Static на Dim.Программа будет работать неверно, не будет формироваться второе число формулы.
Коды, которые нужно записать для кнопки cmdRezult:
Private Sub cmdRezult_Click()
Select Case a‘проверяем знак действия
Case "+"‘Если сложение, то:
rezult = perv + vtor
Case "-"‘Если вычитание, то:
rezult = perv - vtor
Case "*"‘Если умножение, то:
rezult = perv * vtor
Case "/"‘Если деление, то:
rezult = perv / vtor
Case "Корень"‘Если извлечение корня, то:
rezult = Sqr(perv)
End Select
txtRezult.Text = Str (rezult) ‘Вывод результата в окно
End Sub
Теперь осталось запустить программу и проверить ее работоспособность.
4.Отладка программы
При необходимости, нужно будет самостоятельно исправить ошибки, возникающие в результате выполнения программы.
Контрольные вопросы
1. Условный оператор Select Case. Пример его применения.
2. Для чего используется элемент Рамка?
3. Как создать массив объектов с одинаковыми свойствами?
4. Как осуществляется вывод числа в текстовое поле?
5. Программная обработка массивов объектов на примере кнопки.
6. Для каких целей используются функции Str() и Val()?
7. Назначение метода Enabledкомандной кнопки.
8. Для чего используется оператор Static?
9. С помощью каких конструкций удобно обрабатывать массивы объектов?
10. Какие способы запуска программы при ее отладке можно использовать?
Задания для самостоятельной работы
Изучив методические указания и составив программу – калькулятор, усовершенствуйте ее, добавив к имеющимся операциям следующие:
1. Синус числа (число вводится в градусах).
2. Косинус числа (число вводится в градусах).
3. Натуральный логарифм числа.
4. Вычисление функции ex.
5. Вычисление функции 1/х.
6. Целая часть числа (функция Int()).
7. Квадрат числа.
8. Факториал числа.
9. Возведение числа в степень n.
10. Извлечение корня n-ой степени.
11. Логарифм числа а по основанию b.
12. Гиперболический синус числа.
Список литературы
1. Ананьев А.И., Федоров А.Ф. Самоучитель Visual Basic 6.0 – Спб.: БХВ – Санкт-Петербург, 2000. – 624 с.
2. Браун С. Visual Basic 6.0: Учебный курс – Спб.: Питер, 2000. – 576_с.
3. Кларк Д. Объектно-ориентированное программирование в Visual Basic – Спб.: Питер, 2003. – 352 с.
Составители: Денис Васильевич Медведев
Елена Васильевна Морозова
Людмила Петровна Тарасова
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ VISUAL BASIC
Часть I
Методические указания к лабораторному практикуму
Под редакцией авторов
Темплан 2005 г., поз. № 2.
Подписано в печать 07. 06. 2005 г. Формат 60×84 1/16.
Бумага потребительская. Гарнитура ”Times“.
Усл. печ. л. 2,19. Усл. авт. л. 2.
Тираж 100 экз. Заказ
Волгоградский государственный технический университет
400131 Волгоград, просп. им. В. И. Ленина, 28.
РПК «Политехник»
Волгоградского государственного технического университета
400131 Волгоград, ул. Советская, 35.