Задача 1: 200 раз напечатать слово ФУТБОЛ.
Очевидно, нам нужно написать циклическую программу, где цикл выполнялся бы 200 раз. Попробуем сначала решить задачу при помощи оператора GoTo. Для выхода из цикла оператор GoTo нужно включить в состав оператора If. Кроме этого нужна переменная, меняющая свое значение от одного выполнения цикла к следующему. Удобнее всего, если эта переменная будет менять свое значение на 1, начиная с 0 или 1. Напомним, что переменная, организованная таким образом, является счетчиком циклов (См. 8.1.3). Придумаем этой величине какое-нибудь имя, скажем i. Задачу решает такой причудливый фрагмент:
i = 1
m1: If i > 200 Then GoTo m2
Debug.Write("ФУТБОЛ ")
i = i + 1
GoTo m1
m2:
Здесь i вначале равно 1, но к каждому следующему выполнению цикла оно увеличивается на 1. В первый раз выполняя оператор If, компьютер проверяет условие 1>200 и найдя его ложным, выполняет следующий оператор – Debug.Write("ФУТБОЛ "). Во второй раз проверяется условие 2>200 ит.д. В 200-й раз компьютер проверяет условие 200>200 и найдя его ложным, в 200-й раз выполняет оператор Debug.Write("ФУТБОЛ "). В 201-й раз компьютер проверяет условие 201>200 и найдя его истинным, выходит из цикла, перейдя к метке m2. Все. ФУТБОЛ напечатан ровно 200 раз.
В нашем примере «полезную» работу выполняет только одна строка из пяти – Debug.Write("ФУТБОЛ "). Остальные строки заняты тем, что обеспечивают выполнение «полезной» строки ровно 200 раз. Чтобы избежать такого перекоса в сторону «обслуживающего персонала» и для вящей краткости, придумали оператор For и вместо верхних 2 строк:
i = 1
m1: If i > 200 Then GoTo m2
стали писать 1 строку:
For i = 1 To 200
а вместо нижних 2 строк:
i = i + 1
GoTo m1
тоже стали писать 1 строку:
Next i
смысл программы оставляя тем же самым.
Получилось вот что:
For i = 1 To 200
Debug.Write("ФУТБОЛ ")