Заполнить экран монитора рисунком паркета "елочка" - QBasic

Узнай цену своей работы

Формулировка задачи:

Помогите с задачей. Заполнить экран монитора рисунком паркета "елочка" из прямоугольных дощечек (клепок) заданного размера. Дробные числа при вводе тоже допускаются. А каждая дощечка должна быть обведена по контуру другим цветом.

Решение задачи: «Заполнить экран монитора рисунком паркета "елочка"»

textual
Листинг программы
  1. CONST Pi = 3.14159265358#
  2. CONST U45 = Pi / 4
  3. DIM Cv1 AS INTEGER
  4. CLS : INPUT "Dlina doski: ", DlinDosk
  5. Cv1 = 7      ' Цвет обводки
  6.   SCREEN 12
  7.  
  8. XCounter = 0         ' Счётчики опорной точки
  9. YCounter = 0
  10.  
  11. PlusX = DlinDosk * COS(U45) ' Точно соответствуем длине доски
  12. PlusY = PlusX
  13. PlusX2 = PlusX
  14. PlusY2 = -PlusY
  15.  
  16. PlusX3 = PlusX2 / 2
  17. PlusY3 = PlusY2 / 2
  18. PlusX4 = PlusX / 2
  19. PlusY4 = PlusY / 2
  20.  
  21.  
  22. DO
  23.   DO
  24.    ' Главная точка отсчёта
  25.     DsX = XCounter * PlusX
  26.     DsY = YCounter * PlusY
  27.       ' Посчитаем точку 2
  28.       DsX2 = DsX + PlusX: DsY2 = DsY + PlusY
  29.      
  30.         ' Посчитаем точку 3
  31.       DsX3 = DsX2 + PlusX3: DsY3 = DsY2 + PlusY3
  32.  
  33.         ' Посчитаем точку 4
  34.       DsX4 = DsX + PlusX3: DsY4 = DsY + PlusY3
  35.  
  36.         ' Посчитаем точку 5
  37.       DsX5 = DsX2 + PlusX4: DsY5 = DsY2 + PlusY4
  38.  
  39.         ' Посчитаем точку 6
  40.       DsX6 = DsX5 + PlusX2: DsY6 = DsY5 + PlusY2
  41.  
  42.         ' Посчитаем точку 7
  43.       DsX7 = DsX2 + PlusX2: DsY7 = DsY2 + PlusY2
  44.      
  45.         XCounter = XCounter + 2
  46.       LINE (DsX, DsY)-(DsX2, DsY2), Cv1
  47.       LINE (DsX2, DsY2)-(DsX3, DsY3), Cv1
  48.       LINE (DsX, DsY)-(DsX4, DsY4), Cv1
  49.       LINE (DsX3, DsY3)-(DsX4, DsY4), Cv1
  50.  
  51.       LINE (DsX2, DsY2)-(DsX5, DsY5), Cv1
  52.       LINE (DsX2, DsY2)-(DsX7, DsY7), Cv1
  53.       LINE (DsX5, DsY5)-(DsX6, DsY6), Cv1
  54.       LINE (DsX7, DsY7)-(DsX6, DsY6), Cv1
  55.   LOOP UNTIL DsX7 >= 639
  56.   YCounter = YCounter + 1
  57.   XCounter = 0
  58. LOOP UNTIL DsY6 >= 479

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут