Глава 4
Циклы
Краткое содержание: FOft, NEXT, то» STEP
Допустим, нам необходимо составить программу, подсчитывающую
сумму вводимых пяти чисел. Это можно было бы сделать так:
10 LET TOTAL*0
20 INPUT А
30 LET TOTAL-TOTAL+A
40 INPUT A
50 LET TOTAL-T0TAL+A
60 INPUT A
70 LET TOTAL-TOTAL+A
80 INPUT A
90 LET TOTAL«TOTAL*A
100 INPUT A
HQ LET TOTAL«TOTAL + A
120 PRINT TOTAL
Получилась большая н не оптимальная программа, можно решить
эту задачу более рационально, если ввести счетчик и оператор GO
ТО:
10 LET TOTAL»0
20 LET COUNT»1
30 INPUT A
40 REM COUNT*NUMBER OP TIME THET A HAS BEEN INPUT SO PAR
SO LET TOTAL»TOTAL+A
60 LET COUNT-COUNT+I
70 IF COUNT<«5 THEN GO TO 30
8 0 PRINT TOTAL
Теперь, изменив условие в строке 7Q, можно ввести не только 5,
но и любое количество 4hccj|. Для организации в программе таких
счетчиков существуют специальные операторы FOR и NEXT, которые
всегда используются вместе, наша программа прн использовании этих
операторов будет выглядеть так:
10 LET TOTAL»0
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 Kle0 ТО 6
20 FOR N * 0 ТО М
3 0 PRINT М; м: и; N; и ";
40 NEXT N
50 PRINT
60 NEXT М
значение STEP. равное 0, вызовет бесконечное повторение цикла,
этого не рекомендуется делать.