ГлавнаяПрограммы Basic
logo

Программирование

Basic

Warthog-spectrum

Пусть F — натуральное число. Рассмотрим значения N=1,2,3,4,....,F. Мы нарисуем фигуру, состоящую из F отрезков равной длины, так, чтобы начальная точка каждого отрезка была конечной точкой предыдущего, а направление каждого отрезка определялось дробным значением функции N^3/F. Пример: F=3 N=1,2,3 ZZ(N)=(N^3)/3 ZZ(1)=1/3 ZZ(2)=2/3 ZZ(3)=3/3=1 Соответствующие направления (от 0º до 360º) будут Z(1)=120º, Z(2)=240º, Z(3)=360º, и результирующая фигура — равносторонний треугольник. Но можно продолжать эксперименты для F=3,4,5,6,7,8,9,10,... каждый раз получая другую фигуру!

Warthog-Spectrum
Рисунок 1. Код Basic для Warthog на микрокомпьютере ZX Spectrum 48K. Программа в строке 20 запрашивает разные значения F, каждое из которых даёт свою фигуру. При большом F время выполнения может достигать часов... (на ZX Spectrum 48K), но результат стоил ожидания:
w-003
w-003
w-004
w-004
w-005
w-005
w-006
w-006
w-007
w-007
w-008
w-008
w-009
w-009
w-010
w-010
w-088
w-088
w-098
w-098
w-099
w-099
w-1050
w-1050
w-126
w-126
w-136
w-136
w-147
w-147
w-149
w-149

Эти фигуры сгенерированы с помощью версии Warthog для Octave, но тот же результат достигается на ZX Spectrum. Первая треть сегментов окрашена в красный цвет, вторая треть — в зелёный, последняя треть — в красный, что придаёт более привлекательный внешний вид. Интересно отметить, что эволюция формы фигур не является прогрессивной. Как правило, фигура F+1 не является небольшим изменением фигуры F. Хотя для каждого значения F появляется своя фигура, некоторые удивительные узоры повторяются по форме. Некоторые фигуры смеются над нами. Вопрос в том, как возможно, что все эти фигуры скрыты внутри функции (N^3)/F?