Дополнительное задание

1. Написать программу, которая выводит на экран изображение идущих часов, имеющих секундную и минутную стрелки.
2. Написать программу, которая выводит на экран график функции у — 2 Sin(x) е*/5.
3. Написать функцию, которая в графическом режиме вводит с клавиатуры дробное число. Набираемые пользователем символы (знак "минус", цифры и точка должны появляться на экране в зависимости от текущего положения точки вывода. Во время ожидания очередного символа на экране должен мигать курсор. Требуется, чтобы функция обеспечивала пользователю возможность простейшего редактирования — удаление последнего введенного символа (при помощи клавиши <BackSpace>).

Теоретические сведения

Приступая к решению задач этого раздела, следует вспомнить, что:

· в графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из 16 цветов;

· координаты точек возрастают слева направо и сверху вниз; левая верхняя точка имеет координаты (0,0), а правая нижняя - (639,479);

· для того, чтобы программа могла выводить на экран графические примитивы (линии, окружности, прямоугольники), необходимо инициализировать графический режим.

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

uses Graph; var
grDriver: Integer; grMode: Integer;
ErrCode: Integer;
res: integer; begin
grDriver:= detect;
InitGraph(grDriver, grMode,'с;\tp\bgi');
ErrCode:= GraphResult;
if ErrCode = grOk then
begin (сюда следует поместить основные инструкции }
end;
CloseGraph; end.

Процедуры и функции графического режима

Arc

Синтаксис: procedure Arc(x,у: integer; УголНачала, УголКонца: integer; Радиус: integer);

Действие:

Вычерчивает дугу с центром в точке с координатами (х,у). Параметры УголНачала и УголКонца задают угловые координаты на-чальной и конечной точек линии дуги, которая вычерчивается против часовой стрелки от начальной точки к конечной. Угловые координаты задаются в градусах. Значение угловой координаты возрастает против часовой стрелки. Параметр Радиус задает радиус дуги. Дуга вычерчивается цветом, заданным процедурой setcoior.

Bar

Синтаксис: procedure Bar(xl,yl,x2,y2: integer);

Действие:

Вычерчивает закрашенный прямоугольник. Параметры xl и yl задают положение левого верхнего угла прямоугольника, х2 и у2 — правого нижнего. Используемый стиль и цвет заливки задается Процедурой SetFillStyle.

Bar3D

Синтаксис: procedure Bar3D(xI,yl,x2,y2: integer; Глубина: word; Граница: boolean);

Действие:

Вычерчивает параллелепипед. Параметры xl и yl задают положение левого верхнего, а х2 и у2 — правого нижнего угла ближней грани параллелепипеда. Параметр глубина задает расстояние между передней и задней гранями. Параметр граница определяет, нужно ли вычерчивать верхнюю границу задней грани параллелепипеда.
Цвет и стиль закраски ближней грани параллелепипеда можно задать при помощи процедуры setmistyie, цвет линий границы — процедурой setcolor.

Circle

Синтаксис: procedure Circle(х,у: integer; r: word);

Действие:

Вычерчивает окружность радиуса г с центром в точке с координатами (х,у).
Цвет окружности можно задать при помощи процедуры Setcolor.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: