Случайные числа
Применим теперь оператор случайных чисел на практике и, как всегда, для наглядности начнем с графики.
Программа "Звездное небо
Изобразим звездное небо пятьюстами белыми точками на черном фоне. Координаты каждой из точек должны быть в пределах по X от 0 до 640 и по Y от 0 до 350.
SCREEN 9 RANDOMIZE TIMER FOR N =1 TO 500 X=INT(RND(1)*641) Y=INT(RND(1)*351) PSET(X, Y), 15 NEXT N
Здесь число 500 в заголовке цикла указывает на количество "звезд". Можете поэкспериментировать, изменяя это значение.
А теперь мы хотим нарисовать разноцветные "звезды".
Добавим для этого перед pset оператор случайных чисел для цвета:
C=INT(RND(1)*16)
А в самом операторе pset вместо цвета 15 укажем цвет с, и можем наслаждаться разноцветными "звездами".
Но давайте уж доведем дело до конца. Ведь при использовании оператора c=INT(RND(1) *16) у нас будет получаться и 0 – черный цвет, т. е. на черном фоне своеобразные "черные дыры". Давайте избежим и этого, заставив компьютер при получении 0 не брать его в расчет, пока не получится другой цвет:
SCREEN 9 RANDOMIZE TIMEP FOR N =1 TO 500 X=INT(RND(1)*641) Y=INT(RND(1)*351) 1: C=INT(RND(1)*16) IF C=0 THEN 1 PSET(X, Y), С NEXT N
Со звездным небом разобрались. Теперь задания.
176. Когда-то на петербургском 5-м канале была скандально известная информационная программа "600 секунд" с телеведущим Александром Невзоровым. Начиналась она с заставки, где экран телевизора покрывался сеткой разноцветных отрезков прямых линий со случайными координатами концов (рис 1.43). Попробуйте воспроизвести эту заставку и покажите ее своим старшим родственникам или друзьям. Это навеет на них воспоминания.
Рис. 1.43. "600 секунд"