ПОНЯТНО О Visual Basic NET

       

Порядок создания простого вычислительного проекта


Всем известна поговорка «Порядок бьет класс». Это наглядно доказала сборная Греции на чемпионате Европы по футболу в 2004 году. Эта поговорка верна и в программировании. Даже неопытный новичок, если он будет соблюдать надлежащий порядок создания проекта, добьется успеха.

Все, что здесь сказано, справедливо не только для вычислительных, но и для всех других проектов. Рассмотрение будем вести на примере.

Задача:  Даны размеры спичечной коробки.  Вычислить площадь основания коробки, ее объем и полную площадь поверхности.

Порядок создания проекта:

1. Программист сам должен знать решение задачи. Ведь программа – это инструкция по ее решению. Нельзя давать инструкцию, не зная, как решать. Имейте в виду, что сам компьютер абсолютно ничего не знает и все ему приходится растолковывать.

В нашем случае программист должен знать формулы для вычисления всего, что нужно:  

  • площадь основания = ширина  х  толщину
  • объем = площадь основания  х  высоту
  • периметр основания = две ширины + две толщины
  • площадь боковой поверхности = периметр основания  х   высоту
  • полная площадь поверхности = две площади основания + площадь боковой поверхности
  • Как видите, я для стройности вычислений ввел периметр основания и площадь боковой поверхности.

    Решение задачи должно быть известно программисту абсолютно четко, абсолютно точно, абсолютно правильно. Малейшая нечеткость, неточность или неправильность приведет к неверным результатам. Вы, возможно, не знаете, что профессиональный программист, получив серьезную задачу, не бросается сразу за компьютер, а сначала долгие дни, недели и даже месяцы, обложившись книжками, решает задачу «в уме» или на бумаге.

    2. Нужно придумать имена переменным.  Имя переменной должно говорить о ее смысле. Если смыслом является ширина коробки, то не ленитесь и не называйте ее а, потому что через полгода, разбираясь в своей полузабытой программе, вы будете долго тереть лоб и думать – Что, черт возьми, я обозначил через а? Называйте ее Ширина (если вы не знаете английского) или, к примеру, Width (если знаете). Так делают все профессиональные программисты (а все они, как известно – отъявленные лентяи и терпеть не могут трудиться зря J), значит, зачем-то это им нужно?




    Удовлетворимся такими именами:

    Ширина                                -              ширина

    Толщина              -              толщина

    Высота                 -              высота

    S_основ                               -              площадь основания

    V                             -              объем

    Периметр            -              периметр основания

    S_бок                    -              площадь боковой поверхности

    S_полн                 -              полная площадь поверхности

    3. Нужно определить, какого типа будут переменные.

    Поскольку нам заранее неизвестно, будут ли исходные данные целыми, объявляем все переменные – Double. Первые строки программы будут такими:

                       'Программа вычисления площади основания, объема и полной площади поверхности

                       'спичечной коробки по известным ее размерам

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

                        'Объявляем переменные величины

            Dim Ширина As Double             'ширина коробки

            Dim Толщина As Double            'толщина

            Dim Высота As Double        'высота

            Dim S_основ As Double             'площадь основания

            Dim V As Double                        'объем

            Dim Периметр As Double  'периметр основания

            Dim S_бок As Double         'площадь боковой поверхности

            Dim S_полн As Double       'полная площадь поверхности

    Создайте проект с кнопкой. Введите эти строки. Не забудьте End Sub. Запустите проект. Ничего, что до результатов еще далеко! Ошибок VB не выдал? Значит, пока все в порядке.  Не забывайте, что после ввода очередных 2-3 строк проект нужно запускать и его работу проверять.

    4. Перед вычислениями нужно задать исходные данные решения задачи. Для этого нужно придумать, каким способом пользователь будет задавать размеры коробки – при помощи текстовых полей, функции InputBox или как-то по-другому. Выберем InputBox.

    Вот следующие строки программы:



                        'Ввод исходных данных     

            Ширина = InputBox("Введите ширину коробки")

            Толщина = InputBox("Введите толщину коробки")

            Высота = InputBox("Введите высоту коробки")

    5. Теперь нужно задать компьютеру действия, которые он должен проделать с исходными данными, чтобы получить результат.

                        'Вычисление результатов

            S_основ = Ширина * Толщина

            V = S_основ * Высота

            Периметр = 2 * Ширина + 2 * Толщина

            S_бок = Периметр * Высота

            S_полн = 2 * S_основ + S_бок

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

    6. После получения результатов их нужно показать человеку. Действительно, все операторы присваивания компьютер выполняет «в уме». После их выполнения в ячейках памяти будут находиться числовые результаты решения задачи. Чтобы их увидеть, человек может использовать текстовые поля, как это мы только что делали, улучшая калькулятор. Я же использую знакомый нам Debug.WriteLine, но с нововведениями:

                        'Отображение результатов    

            Debug.WriteLine ("Площадь основания = "    S_основ)

            Debug.WriteLine ("Объем = "   &   V)

            Debug.WriteLine ("Полная площадь поверхности = "   &   S_полн)

    End Sub

    Обратите внимание, что здесь в первом операторе Debug.WriteLine – два элемента вывода, разделенные символом &: текстовое пояснение "Площадь основания = " и собственно переменная, значение которой мы хотим увидеть – S_основ. То же самое и в других операторах Debug.WriteLine.

    7. Запустите проект и убедитесь в его работоспособности. Введите в качестве размеров коробки числа 4, 2, 5. Вот результаты:

    Площадь основания = 8

    Объем = 40

    Полная площадь поверхности = 76

    Попробуйте ввести дробные числа и проверьте результат.

    Вы спросите – зачем было так долго трудиться для решения такой простой задачи? Действительно, для простых исходных данных эту задачу быстрее решить даже в уме. Однако, соблюдение приведенного мной порядка составления программы облегчит вам в дальнейшем программирование реальных задач для компьютера. Напомню: начинаем со ввода исходных данных, затем преобразовываем их в переменные величины, затем, обрабатывая переменные величины, получаем результат, затем преобразовываем результат из переменных величин в нечто видимое. Этот порядок общепринят.



    Варианты вывода результатов. Результаты можно выводить и в текстовое поле, и в метку, и в MsgBox. Вот примеры:

            TextBox1.Text = "Площадь основания = " & S_основ

            Label1.Text = "Объем = " & V

            MsgBox("Полная площадь поверхности = " & S_полн)

    Сравните с выводом тех же результатов при помощи Debug.WriteLine. Вы видите, что вывод совершенно аналогичен.

    А вот те же результаты, но отформатированные, причем одинаково:

            TextBox1.Text = "Площадь основания = " & Format(S_основ, "0.###")

            Label1.Text = "Объем = " & Format(V, "0.###")

            MsgBox("Полная площадь поверхности = " & Format(S_полн, "0.###"))

    Задание 11.         

    Автомобиль 3 часа ехал со скоростью 80 км/час и 2 часа со скоростью 90 км/час. Вычислить среднюю скорость автомобиля (она равна суммарному пути, деленному на суммарное время). Значения переменным задать операторами присваивания, результат напечатать оператором Debug.WriteLine с 3 знаками после запятой.

    Задание 12.         

    В самом углу прямоугольного двора стоит прямоугольный дом. Подсчитать площадь дома, свободную площадь двора и длину забора. Примечание: в углу, где дом, забора, естественно, нет. Размеры дома и двора вводим при помощи InputBox, результаты с пояснениями отображаем в текстовых полях и метке. Все числа целые.

    В Задание 18 вы начертите чертеж двора и дома.

    Задание 13.         

    Вычислить длину окружности и площадь круга. Радиус окружности задать в операторе Dim. Результаты с 5 знаками после запятой и с пояснениями выводить в два MsgBox.


    Содержание раздела