ГЛАВА 4
ЦИКЛЫ
Краткое содержание: FOR, NEXT, ТО, STEP
Допустим, нам необходимо составить программу, подсчитывающую
сумму вводимых пяти чисел. Это можно было бы сделать так:
10 LET TOTAL*)
20 INPUT А
30 LET TOTAL-TOTAL+A
40 INPUT A
50 LET TOTAL-TOTAL+A
60 INPUT A
70 LET TOTAL-TOTAL+A
80 INPUT A
90 LET TOTAL-TOTAL+A
100 INPUT A
110 LET TOTALfTOTAL+A
120 PRINT TOTAL
Получилась большая и не очень оптимальная программа. Можно решить
эту задачу более рационально, если ввести счётчик и оператор GO ТО:
10 LET ТОТ AIM)
20 LET Count-1
30 INPUT A
40 REM Count-NUMBER of time that a has been INPUT so far
50 LET TOTAL-TOTAL + A
60 LET COUNT-COUNT + 1
70 IF Count 5 THEN GO TO 30
80 PRINT TOTAL
Теперь, изменив условия в строке 70, можно ввести не только 5, но и
любое количество чисел. Для организации в программе таких счетчиков су-
ществуют специальные операторы FOR и NEXT, которые всегда используют-
ся вместе.
Наша программа при использовании этих операторов будет выглядеть
так:
10 LET TOTAL-O
20 FOR С-1 ТО 5
30 INPUT А
40 REM C-Number of times that a has been INPUT so far
50 LET TOTAL-TOTAL+A
60 NEXT С
70 PRINT TOTAL
Здесь "С" управляющая переменная цикла должна иметь имя в одну
букву . "С" последовательно принимает значения 1, 2, 3, 4 и 5 (предел - ко-
нечное значение управляющей переменной цикла) и при каждом проходе
выполняются строки 30, 40 и 50. Затем после того, как " С " примет пятое
значение, выполнится 70-я строка. Приращение значения управляющей
переменной составляет 1. Но это значение можно изменить, используя ука-
зание STEP как часть оператора FOR. Таким образом общая форма операто-
ра FOR выглядит следующим образом:
FOR "упр.перем." - "нач.знач." ТО "предел" STEP "щаг
приращ.
Здесь "начальное значение", "предел", "шаг приращения" - есть выра-
жения, принимающие числовое значение. И так, если Вы замените строку
20 программы на:
20 FOR С-1 ТО 5 STEP 3/2
то "С" последовательно примет значения 1» 2.5 и 4.
Выполните программу, выводящую числа от 1 до 10 в убывающей пос-
ледовательности:
10 FOR N-10 ТО 1 STEP -1
20 PRINT N
30 NEXT N
Следующая программа выводит числа домино:
10 FOR М-0 ТО 6
20 FOR N-0 ТО М
30 PRINT М ;":";N;"
40 NEXT N
50 PRINT
60 NEXT M
Значение STEP, равное 0, вызовет бесконечное повторение цикла.
Этого не рекомендуется делать.