Содержание:
- Проект калькулятор. Интерфейс программы.
-
Объявление переменных и запись выражений. Условный оператор.
-
Встроенные математические функции.
Проект калькулятор. Интерфейс программы.
|
Создадим новый проект и присвоим ему имя Lesson2. На левой панели визуальных объектов выберем и поставим на форму визуальные элементы, так как показано на рисунке:
Форме, в свойстве Text присвоим значение "Калькулятор". Меткам (Label1 - Label4) и кнопкам (Button1, Button2) присвоим значения свойству Text, так, как показано на рисунке.
Калькулятор будет работать следующим образом: в поле <эЗначение 1> (TextBox1) вводится первое число, в поле <эЗнак> вводится знак операции, в поле <эЗначение 2> вводится второе число. При нажатии на кнопку <эвычислить> производится вычисление, и результат помещается в поле <эРезультат>. Кнопка <эСброс> очищает все поля ввода и устанавливает начальные значения переменных.
Для обработки числовых данных требуется объявление переменных соответствующих заданному типу.
|
Объявление переменных и запись выражений. Условный оператор.
|
Переменные объявляются в начале программы следующим образом:
Dim имя переменной as Тип переменной
Или для нескольких переменных одного типа
Dim имя переменной 1, имя переменной 2, ... имя переменной N as Тип переменной
Имя переменной задаётся английскими буквами, например: InX, InY
Имя кроме букв может содержать цифры, но первой должна быть обязательно буква, например: z500, x_1, y2.
Тип переменной зависит от выполняемой задачи. Ниже приведены основные числовые типы языка Visual Basic:
Целые типы
Integer - числа от -32768 до +32767
Long - числа от - 9223372036854775808 до +9223372036854775807
Типы с плавающей запятой
float - числа от + 1,5*10-45 до + 3,4*1033
double - числа от + 5*10-324 до + 1,7*10306
Очевидно, что целые числа для калькулятора не подходят, поэтому примем для вычислений тип float.
Вначале создадим обработчик события (далее просто событие) для кнопки <эСброс>. Событие нажатия на эту кнопку можно создать просто двойным щелчком мыши на кнопке. В результате откроется редактор кода с таким текстом:
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End Sub
End Class
Допишем строки кода для объявления переменных и начальных установок.
Public Class Form1
Dim x1, x2, z As Double REM Объявление переменных
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
' Очищаем текстовые поля
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
' Обнуляем переменные
x1 = 0
x2 = 0
z = 0
End Sub
End Class
Комментарии к программе можно записывать, используя стандартное слово REM (Remark) или поставив в начале строки комментария одиночную кавычку (апостроф). Если комментарий занимает несколько строк, то в начале каждой строки следует ввести REM или апостроф. Комментарии никак не влияют на работу программы.
Попробуем запустить программу на исполнение (F5) и, введя какие нибудь символы в поля ввода нажмём кнопку <эСброс>. Все поля должны очиститься.
Теперь, создадим событие для кнопки "Вычислить". Двойным щелчком на кнопке получим код события:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub
Добавим необходимые для вычислений строки кода:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
x1 = Convert.ToDouble(TextBox1.Text)
x2 = Convert.ToDouble(TextBox3.Text)
If TextBox2.Text = "+" Then z = x1 + x2
If TextBox2.Text = "-" Then z = x1 - x2
If TextBox2.Text = "*" Then z = x1 * x2
If TextBox2.Text = "/" Then z = x1 / x2
TextBox4.Text = Convert.ToString(z)
End Sub
Рассмотрим, что означают добавленные строки.
x1 = Convert.ToDouble(TextBox1.Text) - означает, переменной х1 присвоить значение из текстового поля TextBox1. Так как TextBox1 содержит данные текстового типа, то их нужно преобразовать к числовому типу. Для этого используем функцию Convert.ToDouble. Вторая строка аналогична первой, но для значения x2.
Далее идут строки с так называемыми условными операторами. Например строка If TextBox2.Text = "+" Then z = x1 + x2 означает: Если (if) текст из текстового поля TextBox2 равен символу + то (Then) переменной z присвоить сумму значений x1 и x2.
Таким образом, последовательно проверяя, какой символ введён в качестве знака операции, производим соответствующее вычисление. И, наконец выводим полученный результат в строку TextBox4. Так как TextBox4 принимает данные только текстового типа, то нам следует значение переменной z преобразовать к строковому типу. Для этого воспользуемся функцией преобразования Convert.ToString(z).
Попробуем произвести вычисления в нашем калькуляторе. Запустим программу на выполнение (F5). При вводе чисел с плавающей запятой в качестве разделителя следует использовать знак <эзапятая>.
Добавим, для разнообразия, в наш калькулятор операцию возведения значения 1 в степень значения 2. Степень принято обозначать значком ^. Для расширения возможностей калькулятора добавим строку в код обработчика события:
If TextBox2.Text = "+" Then z = x1 + x2
If TextBox2.Text = "-" Then z = x1 - x2
If TextBox2.Text = "*" Then z = x1 * x2
If TextBox2.Text = "/" Then z = x1 / x2
If TextBox2.Text = "^" Then z = Math.Pow(x1, x2)
Для вычисления степени используем функцию Pow(x1, x2) которая встроена в объект Math.
|
Встроенные математические функции.
Ниже перечислены математические функции которые существенно расширяют
математические возможности языка Visual Basic.
Запись на C#
|
Возвращаемый результат
|
Math.Abs(Х); |
Модуль числа Х |
Math.Ceiling (Х); |
Округление числа Х до большего целого |
Math.Floor(Х); |
Округление числа Х до меньшего целого |
Math.Cos (Х); |
Косинус аргумента Х |
Math.E |
Число е. е = 2,718282 |
Math.Exp (Х); |
Экспонента, число е в степени Х |
Math.Log(Х); |
Логарифм натуральный числа Х |
Math.Log10(Х); |
Логарифм десятичный числа Х |
Math.Max(Х,Y); |
Максимум из двух чисел Х и Y. |
Math.Min (X,Y); |
Минимум из двух чисел Х и Y. |
Math.Pi |
Число пи. |
Math.Pow(X,Y); |
Число X в степени Y |
Math.Round(Х); |
Простое округление числа Х |
Math.Sing(Х); |
Знак числа Х |
Math.Sin(Х); |
Синус аргумента Х |
Math.Sqrt(Х); |
Квадратный корень числа Х |
Math.Tan(Х); |
Тангенс аргумента Х |
Примечание: аргументы тригонометрических функций задаются в радианах.
|