Лекция: Решение задач.
Задача 1.
Нарисовать четыре точки, которые лежат на одной горизонтальной прямой на расстоянии 20 пикселей друг от друга. Точка последней ссылки имеет координату (15, 20).
Решение: ПРИМЕЧАНИЯ.
SCREEN 9: COLOR 5,15 :REM графич. режим, фон 5, цвет 15
CLS :REM очистка экрана
PSET(15,20) :REM рисует точку с координатами (15,20)
PSET STEP(20,0) :REM рисует точку со смещением
PSET STEP(20,0) :REM относительно последней на 20
PSET STEP(20,0) :REM пикселей по оси ОХ.
END
Результат: 15 35 55 75
20... .
Задача 2.
Нарисовать три окружности, центры которых лежат на одной горизонтальной прямой на расстоянии 30 пикселей друг от друга. Радиусы окружностей равны 20, центр первой окружности совпадает с центром экрана.
Решение.
SCREEN 9 120 150 180
CLS
CIRCLE STEP(0, 0), 20, 15 100
CIRCLE STEP(30, 0), 20, 15
CIRCLE STEP(30, 0), 20, 15
END
Задача 2.
Построить четырехугольник с вершинами (10,15), (30,25), (30,5) и (20,0).
Решение:
SCREEN 9:CLS
LINE (10,15)-(30,25), 5
LINE — (30, 5),5
LINE — (25,0), 5
LINE — (10,15), 5
END
РЕЗУЛЬТАТ: 5 10 20 25 30
15
Задача 3.
Напишите программу рисования произвольной картинки.
Полезный совет: Прежде, чем начать писать программу, нарисуйте картинку на листке в клетку и расставьте нужные координаты. Вы сразу увидите, какие числа будут в качестве операндов в Вашей программе.
Например,
20 40 50 80
Решение:
SCREEN 9: COLOR 10, 0: CLS
LINE (20,30) — (80,70), 10, B :REM СТЕНА
LINE (20,30) — (50,10), 10 :REM КРЫША
LINE — (80,30), 10 :REM КРЫША
CIRCLE (50, 50), 10, 10 :REM ОКНО
PAINT(50, 50), 2, 10 :REM ЗАКРАШЕНО ЗЕЛЕНЫМ ЦВЕТОМ
END
Рассмотрим решение этой задачи в общем виде. Обозначим высоту домика через H, длину через L, высота крыши будет равна L/2. Пусть левый верхний угол стены домика имеет координату (x,y), тогда координаты фигур, составляющих домик будут выглядеть следующим образом:
X X+L/2 X+L
Y-L/2
Y
Y+H/2
Y+H
Оформив задание координат и размеров домика через INPUT, каждый раз мы будем получать рисунки разного размера и в разных местах экрана.
Программа примет вид:
CLS
INPUT “X=“;X
INPUT “Y=“;Y
INPUT “H=“;H
INPUT “L=“;L
SCREEN 9: COLOR 10, 0: CLS
LINE (X,Y) — (X+L,Y), 10, B :REM СТЕНА
LINE (X,Y) — (X+L/2,Y-L/2), 10 :REM КРЫША
LINE — (X+L,Y), 10 :REM КРЫША
CIRCLE (X+L/2, Y+H/2), 10, 10 :REM ОКНО
PAINT(X+L/2, Y+H/2), 2, 10 :REM ЗАКРАШЕНО
END: REM ЗЕЛЕНЫМ ЦВЕТОМ