Мегаобучалка Главная | О нас | Обратная связь


Какая польза от переменных величин?



2015-11-11 501 Обсуждений (0)
Какая польза от переменных величин? 0.00 из 5.00 0 оценок




Самая крохотная и простая польза в том, что с их помощью удобно решать несложные вычислительные задачи. Например, даны стороны прямоугольника: a=27018, b=3954. Вычислить его площадь и периметр (напомню, что периметр – это сумма длин сторон прямоугольника).

Создайте проект с кнопкой. Задачу решает следующая программа:

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

Dim a, b, S, p

a = 27018 'Длина прямоугольника

b = 3954 'Ширина прямоугольника

S = a * b 'Площадь

p = a + a + b + b 'Периметр

Debug.WriteLine(S)

Debug.WriteLine(p)

End Sub

После запуска и щелчка по кнопке вы увидите в окне Output следующие два числа:

Первое из этих чисел – площадь, второе – периметр. Без применения переменных величин операторы получились бы более громоздкими и менее понятными:

S = 27018 * 3954 'Площадь

p = 27018 + 27018 + 3954 + 3954 'Периметр

что особенно заметно в больших программах. К тому же, чтобы изменить значение длины или ширины, вам достаточно изменить число в одном месте программы, а не в трех.

Есть масса и других преимуществ, которые вы почувствуете в следующих главах.

Смысл оператора присваивания

Имейте в виду, что в операторе присваивания слева от знака равенства не может стоять число или выражение. Можно писать с=34, но нельзя писать 34=с. Можно писать z=f-v+990, но нельзя писать f-v+990=z. Правило это принято исходя из механики работы оператора присваивания. Оператор присваивания устроен так, что сначала смотрит или вычисляет, какое значение имеет правая часть, а затем присваивает это значение тому, что стоит в левой части. То, что справа от знака равенства, присваивается тому, что слева от знака равенства, а не наоборот. Нет смысла присваивать значение числу или выражению.

Обратите внимание еще на один важный момент. Когда школьник видит выражение (например, d+2d), он не обязательно его вычисляет. Он может его преобразовать или, скажем, упростить (получив 3d), даже не поинтересовавшись, чему равно d. Компьютер же, видя выражение, сначала его, может быть, и упростит в уме, но затем обязательно вычислит. А для этого он должен знать численные значения входящих в него величин (в нашем случае это величина d). Таким образом, вычисляя правую часть оператора присваивания (например, y=a+b+1), компьютер должен обязательно заранее знать, чему равны переменные, из которых эта правая часть состоит (в нашем случае это a и b). Ответственность за это знание лежит полностью на программисте. Пусть забывчивый программист записал такой фрагмент: … а=10 : y=a+b+1…, нигде в программе не придав b никакого значения. Естественно, при вычислении выражения a+b+1 компьютер не будет знать, чему равно b. В такой ситуации разные языки программирования поступают по-разному. Некоторые «злые» языки просто отказываются вычислять выражение, «коварный» Турбо-Паскаль может подставить вместо b какую-нибудь ерунду (и молчок, между прочим). VB добрый – он подставляет вместо b нуль.

Проверим. Заставим VB в нашем последнем проекте про прямоугольник не выполнять оператор a = 27018. Для этого его можно просто стереть, но удобнее закомментировать: поставить перед ним кавычку, тогда VB подумает, что это комментарий и выполнять не будет:

a = 27018 'Длина прямоугольника

Вот результат:

Действительно, все выполнилось так, как если бы a было равно нулю.

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

Когда на бал к графине N приезжает герцог M, то слуга объявляет на весь зал: "Герцог M!", отчего все гости сразу узнают, что перед ними именно герцог, а не какой-нибудь там барон, и обращаются к нему соответственно. Все хорошо, все прилично. Если бы слуга проморгал и объявил гостя, забыв указать его титул, то в большинстве случаев тоже ничего страшного не произошло. Однако иногда все же могли бы приключиться досадные недоразумения. Например, к герцогу могли бы обратиться так: «Эй, человек, шампанского!», а это уже скандал!

Бал – это проект. Гости – это переменные. Слуга – это программист. До сих пор мы объявляли всех гостей. И делали это оператором Dim. Правда, объявляли демократично, без указания титулов. Однако никаких эксцессов не было, все шло как по маслу. Это потому, что VB умный, он по глазам определяет, кто герцог, а кто нет. Но не у каждого гостя глаза говорят правду. Нам нужно как следует в этом разобраться. Но прежде изучим еще один полезный и приятный элемент VB – InputBox.

InputBox

Как мы можем задать, сообщить компьютеру какую-нибудь величину? Оператором присваивания – раз. А теперь рассмотрим еще один удобный и приятный способ – InputBox.

В вашем проекте о прямоугольнике вы можете хоть сто раз нажимать на кнопку – результаты все время будут одинаковые. Это потому что исходные данные a=27018 и b=3954 никто не меняет. Скучно. Хорошо бы компьютер при нажатии на кнопку каждый раз спрашивал нас, чему на этот раз равны стороны прямоугольника. А мы бы ему отвечали. А уж потом он вычислял.

Для этого нам нужно слегка изменить программу. Скопируйте папку предыдущего проекта и работайте над копией. Вот что у вас должно быть в процедуре нажатия на кнопку:

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

Dim a, b, S

a = InputBox("Введите длину прямоугольника")

b = InputBox("Введите ширину прямоугольника")

S = a * b 'Площадь

Debug.WriteLine(S)

End Sub

Сравните с предыдущей программой. Как видите, заменены первые две строки: a=27018 и b=3954. Также из учебных соображений выкинуто все, касающееся периметра.

Конструкция

a = InputBox("Введите длину прямоугольника")

есть оператор присваивания и означает она приказ компьютеру вывести сначала на экран такое окно, как на Рис. 5.1.

Рис. 5.1

После этого человек вводит в белое текстовое поле этого окна любое число и нажимает ОК. Далее компьютер присваивает переменной a введенное значение и продолжает работу, то есть переходит к выполнению следующего оператора.

Если вам не нравится строка WindowsApplication1 в заголовке окна, то вы можете задать свою строку, дополнив оператор следующим образом:

a = InputBox("Введите длину прямоугольника", "Ввод данных")

Результат вы видите на Рис. 5.2.

Рис. 5.2

Запустите проект. Проверьте его работу.

Если при вводе вы нажимаете не кнопку ОК, а кнопку Cancelили крестик, VB считает, что вы не «отменили ввод», а ввели так называемую пустую строку (что это такое, выяснится позже, сейчас достаточно знать, что выполнять умножение над пустыми строками бессмысленно и VB выдаст ошибку).

Не вводите также нечисловую информацию, иначе VB по той же причине выдаст ошибку.



2015-11-11 501 Обсуждений (0)
Какая польза от переменных величин? 0.00 из 5.00 0 оценок









Обсуждение в статье: Какая польза от переменных величин?

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (501)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)