Программирование - это просто
Advertisement
Главная arrow Компьютер для блондинок arrow Программирование для блондинок arrow Программирование для блондинок. Цикл и переменные
25.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Программирование для блондинок. Цикл и переменные Печать E-mail
Автор megabax   
25.01.2011 г.
Привет

Программирование для блондинок. Цикл и переменные

- Ты обещал рассказать, что такое циклы и переменные, - напомнила Лена Коле, когда мы пришли к нему изучать программирование.

- Ну, как бы это так объяснить... - парень немного задумался, затем продолжил:

- Вот представьте себе ящички с номерами в камере хранения. Туда мы можем что то положить. Например, документы. Или сумку свою. А вот теперь представьте себе, что в ящики камеры хранения можно положить только, допустим, книги. Тоесть информацию. 

 - Это что же за камера хранения такая?! - возмутилась я, - что туда только книги можно класть?

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

- А! Ну так бы сразу и сказал...

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

Sub ПробныйМакрос()
'
' ПробныйМакрос Макрос
' Макрос записан 20.05.2010 (admin)
'

'

      x = 1
      For i = 1 To 10
            Range("A" + Trim(Str(i))).Select
            ActiveCell.FormulaR1C1 = x
            x = x * 2
      Next i
End Sub

- Обратите внимание на строку x=1, - вещал Коля.

- Да, видим, - ответила за нас обеих Лена.

-  Это и есть операция помещения числа 1 в ячейку с именем x, - сказал программист, -  На самом деле имена могут быть разные. Например: x1, xyz, a, b, Proba, Proba1, Moia_yacheyka и так далее. Имена переменных могу состоять из букв, цифр и знаков подчеркивания "_".  Правда, с цифры имя начинаться не может.

- Почему? - спросила я.

- А откуда компьютер знает, начало переменной это или цифра? А если имя переменной начинается с буквы, то компьютеру уже понятно, что это не цифра. И даже если дальше идут цифры, то компьютеру все равно понятно, что цифры - это не цифры а часть переменной.

- Хм, странный какой то компьютер, - произнесла Лена.

- Ну, это так, технические тонкости. Не стоит в них вдаваться, лучше просто запомнить, что имена переменных не могут начинаться с цифры.

- Ладно, - сказала я, - ты еще про циклы хотел рассказать.

- Во! - Коля поднял указательный палец вверх, - кстати, о циклах. Видите следующий текст:

For i = 1 To 10

- Так вот, - продолжал он, - это как раз и обозначает цикл. i - это переменная. В нее кладем значение 1. но у нас есть еще и to 10. Оно обозначает, что мы не один раз кладем в ячейку i единицы, а сначала 1, потом 2, потом 3 и так до 10. По мы не просто тупо присваиваем ячейке числа от 1 до 10, а каждый раз делаем то, что находиться до строки Next i. И каждый раз мы делаем это с новым значением переменной i.

- Круто сказано, - заметила Лена, - но все равно ничего не понятно.

- Ладно, - произнес Коля, - представьте себе, что компьютер - это такой человечек типа робота, который идет по коридору и видит на указателях строки программы. видит и исполняет их. Вот он увидел:

x = 1

- Положил в ячейку x значение 1. Далее видит 

For i = 1 To 10

- В ячейку i кладет 1. Это первая часть команды. А вторая часть проверить, не равно ли значение переменной i 10.

- Зачем? И так понятно, что не равно! - вмешалась я.

- Ну, вам то понятно, а компьютеру нет. Он же не помнит, что положил в i. К тому же к этому указателю он не раз будет возвращаться...

- Зачем? - Лена удивленно нахмурила брови.

- Что бы цикл организовать, - ответил программист, - компьютеру надо 10 раз повторить одно и тоже действие. Для этого ему придется пройти от начала этого действия и до конца, вернуться, проверить, надо ли еще раз это делать и если нет то прекратить. Вот для этого то существует переменная i, которую он каждый раз сравнивает с 10-ти.

- Ясно, - сказала Лена.

- Если у нас i еще не 10, то компьютер идет дальше и делает все, что находиться до next i. Дойдя до него, он  увеличивает i на 1 и возвращается к For i=1 to 10. Так опять сравнивает, не равно ли i 10. Если нет - опять идет к next i. И так до тех пор, пока не сосчитает до 10. Затем он идет за next i и делает все, что стоит за ним. 

- А там ничего и нет, - усмехнулась я.

- Значит, компьютер ничего и не делает.

- Теперь я поняла, что делает эта программа и почему она выдает вот такой результат, - сказала Лена*:

Программирование для блондинок. Цикл и переменные

- А если мы вместо 

For i = 1 To 10

напишем

For i = 1 To 20

то у нас увеличивающиеся в два раза числа распространятся на 20 строк, - сообразила я*:

Программирование для блондинок. Цикл и переменные

- А еще можно сделать так, что бы число строк не задавать в программе, а вводить с клавиатуры, - сказал Коля, - вот так тогда будет выглдятье программа:

 

Sub ПробныйМакрос()
'
' ПробныйМакрос Макрос
' Макрос записан 20.05.2010 (admin)
'

     
y = InputBox("Введите число")
      x = 1
      For i = 1 To val(y)
            Range("A" + Trim(Str(i))).Select
            ActiveCell.FormulaR1C1 = x
            x = x * 2
      Next i
End Sub

тогда на экране сначала появиться вот такой диалог*:

Программирование для блондинок. Цикл и переменные

а уже потом будут заполнены строки.

- А для чего val? - спросила я.

- А он переводит строку в число. Дело в том, что InputBox дает ввести цифры, и буквы. И у нас y получается строковой переменной. Ее нужно конвертировать в число.

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


Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями   программного продукта "Microsoft Excel", авторское право на который принадлежит "Microsoft"


 

Последнее обновление ( 18.06.2013 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги