MainC++DelhiPascalBasicGuest bookForumСоветы

Счетчик















Qbasic:

# Окружности и дуги

Оператор CIRCLE (x, y), радиус[, цвет] рисует окружность заданного радиуса и цвета с центром в точке (x, y). Если вся окружность на экране не поместится, то будет нарисована только ее часть. Радиус окружности задается в пикселях, но такое количество пикселей укладывается только по горизонтали. Размер вертикального радиуса (в пикселях) зависит от номера графического режима.

Задача. Нарисовать несколько концентрических окружностей (“мишень”).

Решение.

SCREEN 7
FOR r = 5 TO 65 STEP 5
   CIRCLE (160, 100), r, 3
NEXT r
Задание. Запишите программу под именем MISHEN.BAS. Сделайте шаг в цикле равным 3, 2, затем 1 (но не 0, так как программа “зациклится”!). Объясните возникающий при этом эффект. Измените положение “мишени” на экране так, чтобы ее часть ушла за экран. Введите зависимость положения центра окружности от ее радиуса. Поэкспериментируйте с несколькими разноцветными “мишенями”.

Тем же оператором можно нарисовать и дугу, только дополнительно потребуется задать значения начального и конечного углов дуги:

CIRCLE (x, y), радиус, [цвет], нач_угол, кон_угол

Если поместить в точку (x, y) начало математической системы координат, то начальный и конечный углы откладываются от оси Ox в направлении против часовой стрелки.

Начальный угол может быть больше конечного, но принцип рисования дуги останется прежним.

Углы дуги должны задаваться в радианах. Поскольку это не всегда удобно, автор рекомендует переводить градусы в радианы каждый раз, как это потребуется. Коэффициент пропорциональности QR вычисляется по формуле QR = p/180, где p » 3.14159265358 всем известная константа. Конечно, можно использовать и конкретное значение коэффициента: QR » 0.0174329252.

Пример. Изобразите на листе бумаги, что получится на экране после выполнения программы:

SCREEN 7
QR = 0.0174329252
CIRCLE (100, 50), 60, 2, 270*QR, 0
CIRCLE (220, 50), 60, 2, 180*QR, 270*QR
CIRCLE (100, 150), 60, 2, 0, 90*QR
CIRCLE (220, 150), 60, 2, 90*QR, 180*QR
Правильность ответа проверьте на компьютере.

Замечание. Математики рассматривают как положительные, так и отрицательные углы. В операторе CIRCLE также могут использоваться отрицательные значения для начального и конечного углов, однако здесь знак минус “сообщает”, что следует не только нарисовать дугу, но и провести один или оба радиуса. Измените предыдущую программу, посмотрите, что получится на экране. Учтите, что с точки зрения Quick Basic’а “отрицательный” нуль ничем не отличается от обычного, поэтому замените его очень маленьким отрицательным числом, например, - 0.001.



Назад





Автор: Гутман Г.Н. Мой любимый QuickBASIC, 2001г












Реклама


Хостинг от uCoz