Создание Windows приложений на языке Visual Basic
Математические возможности языка Visual Basic





Содержание:
  • Проект калькулятор. Интерфейс программы.
  • Объявление переменных и запись выражений. Условный оператор.
  • Встроенные математические функции.

  • Проект калькулятор. Интерфейс программы.
    Создадим новый проект и присвоим ему имя 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(Х); Тангенс аргумента Х
    Примечание: аргументы тригонометрических функций задаются в радианах.





       ©Гуков Константин Михайлович 2006 - 2012     Почта: [email protected]