Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мет.указ. бейсик .doc
Скачиваний:
5
Добавлен:
10.02.2016
Размер:
2.06 Mб
Скачать

Контрольная работа №9 создание и обработка графических изображений

    1. Теоретическая часть.

Перевод экрана в графический режим осуществляется с помощью оператора

SCREEN K, где К = 1 – режим средней разрешающей способности; К=2 – режим высокой разрешающей способности.

В графическом режиме можно выводить на экран отдельные точки, линии, различные геометрические фигуры и т.д.

Экран в зависимости от режима SCREEN 1 или SCREEN 2 имеет соответственно

320х200 и 640х200 точек.

Координаты точки экрана для операторов графики можно задавать как в абсолютной форме (x,y) , x – горизонталь, y- вертикаль, так и относительно последней точки, которая устанавливается каждым оператором графики.

STEP (G,V) – определяет смещение относительно последней точки соответственно на величину G по горизонтали и V по вертикали.

В графическом режиме можно выводить и текстовую информацию по 40 символов в строке (SCREEN 1) или по 80 (SCREEN 2).

Для работы в графи чеком режиме используется следующее операторы:

CIRCLE (M,N),A

где M,N – координаты центра эллипса,

A – определяет Х-полуось , если E<=E1 (E2)

Чертится круг радиуса А, если Е=1

А определяет Y – полуось , в противном случае где :

E1=5/6 (SCREEN 1), E2=5/12 (SCREEN 2).

LINE [(M1,N1)]-(M2,N2)

В [ ] скобках приведены необязательные параметры. Этот оператор случит для вывода на экран прямой линии или прямоугольника с заданными параметрами.

Координаты (M1,N1), (M2,N2) определяют в абсолютной или относительной форме точки экрана, через которые проходит отрезок искомой прямой.

По умолчанию для параметра (M1, N1) определяются координатой точки последней ссылки.

PSET (M,N) – выводит на экран дисплея точки с указанными координатами (M,N)

Координаты (M,N) могут задаваться как в абсолютной, так и в относительной форме.

LOCATE M,N - устанавливает курсор в позицию экрана с заданными координатами M,N, где M – номер строки, а N- номер позиции в строке.

DRAW X$ - выводит на экран рисунок определяемый символьным параметром Х$, который содержит команды управления работой с графическим экраном. Команды перемещения начинают движение и вычерчивание линий с конечной точки предыдущего перемещения.

Смысл этих команд следующий :

Uk – перемещение вверх на расстояние k точек.

Dk - перемещение вниз на расстояние k точек.

Lk - перемещение влево на расстояние k точек.

Rk - перемещение вправо на расстояние k точек.

Ek – перемещение по диагонали вверх и вправо на k точек.

Ek - перемещение по диагонали вниз и вправо на k точек.

Gk - перемещение по диагонали вниз и влево на k точек.

Hk - перемещение по диагонали вверх и влево на k точек.

M x,y - абсолютное или относительное перемещение до точки с координатами (x,y).

GET (M1,N1) – (M2,N2) , <имя> - служит помещения копии буфера экрана в заданный параметром <имя> числовой массив. Параметр (M1,N1) – (M2,N2) задает диагональ прямоугольной области экрана, копия содержимого которой помещается в числовой массив с именем <имя>.

PUT (M,N),<имя> - служит для восстановления содержимого экрана, ранее помещенного оператором GET в числовой массив <имя>. Параметры (M,N) и <имя> имеют тот же смысл, что и в операторе GET.

Примеры программ:

1)

10 SCREEN 2: INPUT “ЗАДАТЬ РЕБРО КУБА <133 ”;P: CLS

20 A=0: B=0: C=2*P: D=0: GOSUB 100:B=-P:D=B:GOSUB 100

30 B=0:C=0:GOSUB 100:A=2*P:C=A:GOSUB 100:A=0:B=-P:

40 C=P:D=-3/2*P:GOSUB 100:A=2*P:C=3*P:GOSUB 100

50 B=0:D=-.6*P:GOSUB 100:A=0:B=0:C=P:GOSUB 110

60 A=P:B=D:C=3*P:GOSUB 110:A=3*P:D=-3/2*P

70 GOSUB 100:A=P:B=D:GOSUB 100:C=P:D=-.6*P:GOSUB 100

80 INPUT “ЕЩЕ? (1-ДА,2-НЕТ)”;T: LOCATE 25,50

90 ON T GOTO 10: END:

100 LINE (10+A,199+B)-(10+C,199+D): RETURN

110 LINE (10+A,199+B)-(10+C,199+D),,,&H1111: RETURN

В данном примере запрашивается размер ребра куба и на его основе на экран по средством операторов LINE (строки 9-10)

выводится трехмерный куб с указанным ребром. На экран воспроизводится как видимые (сплошные), так и невидимые (пунктирные) ребра куба.

2)

10 CLS: ‘ Вывод на экран графика функции k=(x/46)^2

20 PRINT “Y=K*(X/46)^2”: LOCATE 2: SCREEN 2: A=100

30 LINE (10,100)-(600,100): LINE (305,0)-(305,199)

40 INPUT “ЗАДАТЬ К”,K: LOCATE 2: FOR L=-295 TO 295

50 PSET (305+L,A-K*(L/46)^2): NEXT: INPUT “ЕЩЕ? (Y/N”),A$

60 IF A$=”Y” OR A$=”y” THEN LOCATE 2:GOTO 3 ELSE END

В данной программе оператор PSET используется совместно с оператором LINE для вывода семейства графиков функции y=k*(x/46)^2 в зависимости от задаваемого значения для коэффициента <k>, лежащего в пределах –750 и 750.