Показать сообщение отдельно
Старый 28.10.2016, 10:54   #1 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Узор из квадратов

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

Код:
DECLARE SUB f (x!, y!, r!, p!)
CLS

CONST k = 3.5
SCREEN 11
WINDOW (-320, 240)-(320, -240)
CALL f(0, 0, 100, 3)
END

SUB f (x, y, r, p)
   IF p > 0 THEN
      s = r - 1
      LINE (x - r, y + r)-(x + r, y - r), , B
      LINE (x - s, y + s)-(x + s, y - s), 0, BF
      FOR i = 1 TO 10000: NEXT
      CALL f(x, y, r / k, p - 1)
      CALL f(x + r, y, r / k, p - 1)
      CALL f(x + r, y + r, r / k, p - 1)
      CALL f(x, y + r, r / k, p - 1)
      CALL f(x - r, y + r, r / k, p - 1)
      CALL f(x - r, y, r / k, p - 1)
      CALL f(x - r, y - r, r / k, p - 1)
      CALL f(x, y - r, r / k, p - 1)
      CALL f(x + r, y - r, r / k, p - 1)
   END IF
END SUB
Изображения
 
iks2 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070