Иллюстрированный самоучитель по Basic, вводный курс

Вложенные циклы

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

Приведем пример. Напишем программу заполнения экрана точками с расстоянием между ними по горизонтали и вертикали 10.

SCREEN 9
FOR X=0 TO 64 0 STEP 10
FOR Y=0 TO 350 STEP 10 PSET(X, Y), 4
NEXT Y NEXT X

Работает программа таким образом. В первом заголовке цикла переменной X присваивается значение 0. Потом программа переходит к выполнению следующего оператора, т. е. в нашем случае, второго цикла, который и исполняется, пока Y не превысит значение 350. После этого берется следующее значение X, и действия с Y повторяются. И так до тех пор, пока X не станет больше 640. То есть программа строит вертикальные цепочки точек, пока не заполнится весь экран.

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

Правильное использование циклов:

FOR X=0 ТО 64 0 STEP 10
FOR Y=0 TO 350 STEP 10 Rem Тело цикла
NEXT Y NEXT X

Неправильное применение циклов:

FOR X=0 TO 640 STEP 10
FOR Y=0 TO 350 STEP 10 Rem Тело цикла
NEXT X NEXT Y

Кроме того, в окончании вложенных циклов можно указывать только один оператор next с перечислением параметров, например:

NEXT Y, X

Приступим к упражнениям.

200. Напишите программу, заполняющую экран лоскутным ковром. Лоскутки должны быть плотно прилегающими друг к другу разноцветными квадратиками со стороной 10 (рис. 1.58).

Иллюстрированный самоучитель по Basic, вводный курс › Алгоритмы, графика, символы и строки › Вложенные циклы
Рис. 1.58. Лоскутный ковер

201. Заполните экран светофорными кругами (рис. 1.59). Самые большие круги красные, средние – желтые, маленькие – зеленые.

Иллюстрированный самоучитель по Basic, вводный курс › Алгоритмы, графика, символы и строки › Вложенные циклы
Рис. 1.59. Светофорные круги

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.