Знакомимся с некоторыми объектами
Для тренировки и для полезного знакомства с некоторыми функциями вам надлежит записать в процедуру еще несколько строк. Но сначала разберитесь в пояснениях, приведенных ниже, а уж потом записывайте. Вот как должна выглядеть процедура:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Debug.WriteLine(10 - 2 * 2 + 30 / 3)
Dim a = 4 - 3
Debug.WriteLine(a)
Debug.WriteLine(a + 1000)
Debug.WriteLine("Привет всем!")
Dim b = System.Math.Abs(-20)
Debug.WriteLine(b)
Debug.WriteLine(System.Math.Abs(-20))
Debug.WriteLine(Math.Abs(-20))
Debug.Write(Microsoft.VisualBasic.Strings.Len("Мир"))
Debug.Write(Strings.Len("Мир"))
Debug.Write(Len("Мир"))
Debug.WriteLine(Len("Война") + Math.Abs(-80) + a + 1)
End Sub
Когда вы запустите проект и нажмете кнопку, в окне Output вы увидите следующий результат:
Привет всем!
Перед тем, как вы перейдете к чтению пояснений, прочтите очень полезный совет по работе над программами:
Когда вы проверяете, как работает программа из книжки (например, только что приведенная) или как работает программа, созданная вами, никогда не вводите всю программу целиком, чтобы потом запустить ее и посмотреть, как она целиком работает. Вводите и запускайте понемножку.
Причина вот в чем. Каждый программист, даже самый опытный, при вводе программного текста допускает ошибки и просто описки. И большим грехом это не считает. На 100 строк программы ошибок 5-10 – это норма. Не все эти ошибки VB обнаружит. Поэтому, хотите вы этого или нет, запускать на выполнение вам придется программу ошибочную. Когда вы получите результаты работы ошибочной программы, они тоже, конечно, будут ошибочными. И вам, глядя на эти результаты, предстоит догадываться, в чем ошибки состоят. Трудно искать ошибки в длинной программе, да еще когда их там несколько!
Делайте так. Ввели первые две-три строки программы, запустили проект, посмотрели результаты, проверили, правильные ли они или хотя бы правдоподобные ли. Если все в порядке, вы можете быть спокойны: в этих строках ошибок скорее всего нет. Добавили к ним следующие две-три строки, снова запустили проект, проверили. И так далее. Каждый раз, натыкаясь на ошибочный результат, вы можете быть почти уверены, что причина его – в последних 2-3 строках программы.
Еще одна причина: так легче изучать материал из книжки. Чтобы не сломать зубы о гранит науки, от него нужно откусывать понемножку.
Учитывая все это, переходите к чтению пояснений, параллельно вводя по одной строчке кода и запуская проект.
Пояснения к первым 5 строкам:
Debug.WriteLine(10 - 2 * 2 + 30 / 3)
Этот оператор выводит первое число (16). После слова WriteLine вы обязаны поставить скобки и в скобках указать, что именно вы хотите вывести. Здесь звездочка *обозначает умножение, а косая черта / (slash) – деление. Таким образом, в скобках, стоящих за именем метода WriteLine, можно писать любое арифметическое выражение.
Dim a = 4 - 3
Здесь мы объявляем (Dim) переменную величину a и задаем ей значение 4-3 = 1.
Debug.WriteLine(a)
Значение a, равное 1, выводится в окно Output. Таким образом, в скобках, стоящих за именем метода WriteLine, можно писать переменные величины
Debug.WriteLine(a + 1000)
и любые арифметические выражения, содержащие переменные величины,
Debug.WriteLine("Привет всем!")
а также любую строку символов, взятую в двойные кавычки.
Поясняю математические функции
Dim b = System.Math.Abs(-20)
Здесь мы объявляем переменную b и присваиваем ей модуль[†] числа ‑20. Как мы это делаем? Модуль есть математическая функция и чтобы компьютер нам ее вычислил, нам нужно в VB найти соответствующий инструмент. Пишем после знака равенства название пространства имен System, затем точку и в развернувшемся списке выбираем класс Math. Он предназначен для того, чтобы снабжать нас различными математическими функциями. Затем снова пишем точку и в развернувшемся списке выбираем метод Absэтого класса. Он-то как раз и вычисляет модуль. В скобках после него пишем ‑20[‡]. Напоминаю, что многие методы называются функциями, так как сообщают нам какое-нибудь число или другую информацию.
Debug.WriteLine(b)
Значение b, равное 20, выводится в окно Output.
Debug.WriteLine(System.Math.Abs(-20))
Этот оператор тоже выводит в окно Output число 20, то есть делает то, что предыдущие два оператора вместе взятые. Я написал его, чтобы показать, что можно было обойтись и без переменной b, потому что в скобках, стоящих за именем метода WriteLine, можно писать и обращения к математическим функциям.
Debug.WriteLine(Math.Abs(-20))
Здесь я выбросил название пространства имен System и все обошлось – выведено еще одно число 20.
Поясняю работу с текстовой информацией: Часто нам бывает нужно узнать что-нибудь про какой-нибудь текст. Например, хотя бы, сколько в нем букв.
Debug.Write(Microsoft.VisualBasic.Strings.Len("Мир"))
Функция Lenкласса Stringsпространства имен Microsoft.VisualBasic находит, сколько символов (букв, других знаков и пробелов) присутствует в строке, являющейся ее аргументом. В слове «Мир» 3 буквы, поэтому в окно Output выводится число 3. Обратите внимание, что здесь я пользуюсь не методом WriteLine, а методом Write. Разница в том, что следующая за нашей тройкой информация в окне Output будет напечатана в той же строке, что и 3, а не в следующей.
Можем писать короче:
Debug.Write(Strings.Len("Мир"))
Debug.Write(Len("Мир"))
Последняя строка вычислит и выведет 5+80+1+1=87:
Debug.WriteLine(Len("Война") + Math.Abs(-80) + a + 1)