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


Еще о пользе переменных



2015-11-11 426 Обсуждений (0)
Еще о пользе переменных 0.00 из 5.00 0 оценок




Переменные быстры. Значения переменных величин не обязаны, подобно тексту элементов управления, отображаться «на медлительной поверхности проекта». Они спрятаны глубоко в сверхбыстрой оперативной памяти компьютера, там над ними удобно проводить вычисления и разнообразные логические преобразования. Фактически вся мыслительная работа компьютера проводится над переменными величинами. И лишь иногда, когда человеку понадобится, они показываются «на поверхности» в виде содержимого текстовых полей или как-нибудь еще.

Создавая калькулятор, мы не ведали ни о каких переменных, поэтому вместо изящного

Рез = Чис1 + Чис2

писали громоздкое

Результат.Text = Val(Число1.Text) + Val(Число2.Text)

Вообще, попытки использовать для вычислений вместо переменных текстовые поля напоминает попытку неуклюжих королей-тугодумов (текстовых полей) из разных государств договориться между собой. После безуспешных попыток они вызывают своих шустрых министров иностранных дел (переменные величины), которые в два счета договариваются и отдают готовый договор на подпись королям (имеется в виду, что результат вычислений показывается в текстовом поле).

Улучшаем калькулятор. С учетом сказанного попробуем улучшить программу калькулятора:

Public Class Form1

Inherits System.Windows.Forms.Form

Windows Form Designer generated code

Dim Чис1 As Double 'Переменная, содержащая число из текстового поля Число1

Dim Чис2 As Double 'Переменная, содержащая число из текстового поля Число2

Dim Рез As Double 'Переменная-результат, предназначенный для текстового поля Результат

 

Private Sub Кл_сложения_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _

Handles Кл_сложения.Click

Чис1 = Число1.Text 'Значения исходных данных переходят из текстовых полей в переменные

Чис2 = Число2.Text

Рез = Чис1 + Чис2 'Обработка переменных для получения результата

Результат.Text = Рез 'Значение результата переходит из переменной в текстовое поле

End Sub

 

Private Sub Кл_вычитания_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _

Handles Кл_вычитания.Click

Чис1 = Число1.Text

Чис2 = Число2.Text

Рез = Чис1 - Чис2

Результат.Text = Рез

End Sub

Здесь не показаны процедуры умножения и деления, так как они совершенно аналогичны процедурам сложения и вычитания. Переменные Чис1, Чис2 и Рез встречаются в каждой процедуре, поэтому в данном случае удобно объявлятьих не в каждой процедуре, а один раз – вне процедур. Теперь каждая процедура может этими переменными пользоваться. Переменными же, объявленными внутри процедуры, может пользоваться только процедура, в которой они объявлены, а другие не могут. Традиционно объявления таких «общих» переменных делаются перед текстом всех процедур, как это сделал я.

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

Эта схема, когда информация из текстовых полей (или других средств задания исходных данных) передается в переменные, затем обрабатывается, а уж затем из переменных передается обратно – в текстовые поля – весьма разумна и я рекомендую ей пользоваться.

Три совета. Дорогие читатели-новички! Вот вам три моих совета, по своей силе приближающихся к непререкаемым приказам:

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

2. В каждой из этих программ экспериментируйте, то есть разными способами изменяйте в них то, что я как раз в этот момент объясняю. Например, если я объясняю оператор For i=1 To 5, пробуйте For i=1 To 10 и смотрите, что будет.

3. Выполняйте и сверяйте с ответом все задания. Это, конечно, главный совет из трех. Учтите, что сверенная с ответом правильно работающая программа – ваша победа, сверенная с ответом неправильно работающая программа – временное поражение, отказ от сверки – разгром.

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

Префиксы

Как по вашему, почему мы написали

Dim Чис1 As Double

Dim Чис2 As Double

Dim Рез As Double

а не

Dim Число1 As Double

Dim Число2 As Double

Dim Результат As Double

Потому что имена Число1, Число2 и Результат уже имеют текстовые поля, а называть одинаковыми именами разные объекты – значит заставлять спутаться и себя и компьютер. И все же имена Чис1, Чис2 и Рез придуманы не очень удачно, так как по ним не очень даже догадаешься, какие слова они сокращают: может быть, «чистка» и «резинка»?

В практике программирования сплошь и рядом встречаются ситуации, когда одинаковыми именами хочется назвать разные объекты. В таких случаях некоторые профессиональные программисты начинают каждое имя с так называемого префикса, который говорит программисту (не компьютеру!) о том, кому принадлежит имя (кнопке (префикс btn), строковой переменной (префикс str) или кому-нибудь другому).

В нашем случае можно было бы назвать текстовые поля так:

txtЧисло1, txtЧисло2, txtРезультат,

а переменные так:

dblЧисло1, dblЧисло2, dblРезультат.

А теперь о чувстве меры. Некоторые имена, будь то имя переменной, формы или другого элемента, в программах используются очень часто. Например, так называемую переменную цикла, которую мы с вами еще будем проходить, принято именовать буквой i. Если таким переменным давать «по науке» длинные имена с префиксами, то текст вашей программы будет очень громоздким. Поэтому никто на вас не обидится, если вы вместо

intПеременная_цикла = intПеременная_цикла + 1

y(intПеременная_цикла) = 2 * a(intПеременная_цикла)

напишете просто

i = i + 1

y(i) = 2 * a(i)

Существует более-менее общепринятое соглашение о том, какие объекты и какие типы какими префиксами обозначать. Сам я префиксы не люблю и употребляю их редко.



2015-11-11 426 Обсуждений (0)
Еще о пользе переменных 0.00 из 5.00 0 оценок









Обсуждение в статье: Еще о пользе переменных

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

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

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



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

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

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

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

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

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



(0.006 сек.)