Главная страница «Первого сентября»Главная страница журнала «Информатика»Содержание №24/2008


В мир информатики
Школа программирования

Кружева

Узор, показанный на рисунке ниже, образован следующим образом. На экране строятся вершины правильного 18-угольника, центр которого совпадает с центром экрана. Каждая из восемнадцати вершин соединяется отрезками со всеми другими вершинами.

43-0.gif (85428 bytes)

В программе координаты вершин многоугольника (по оси х и по оси у) удобно хранить в двух массивах. Размер этих массивов (который совпадает с числом вершин многоугольника) можно задать в виде глобальной константы, а заполнить их можно, используя значения синуса и косинуса. Соответствующая программа на школьном алгоритмическом языке имеет вид:

цел n |Глобальная константа

n := 18

алг Кружева

нач цел таб x[1:n], y[1:n], цел расст, i, j

|Устанавливаем графический режим

видео(18)

расст := 200

|Расстояние от центра фигуры до ее вершин

|Заполняем массивы х и у

нц для i от 1 до n

x[i] := цел(максХ/2 + расст *

cos(6.28/n * i))

y[i] := цел(максY/2 + расст *

sin(6.28/n * i))

кц

|Каждую вершину n-угольника

нц для i от 1 до n

|соединяем со всеми другими вершинами

нц для j от 1 до n

поз(x[i], y[i])

линия(x[j], y[j])

кц

кц

кон

Примечания

1. Функции максХ и максУ в школьном алгоритмическом языке возвращают соответственно максимальное значение координат х и у в выбранном режиме работы экрана.

2. Функция цел возвращает целую часть ее вещественного аргумента.

Измените количество вершин, и вы увидите, как изменится узор.

TopList