Автор: Пользователь скрыл имя, 27 Октября 2011 в 18:51, реферат
Язык Borland Pascal 7.0 - это один из самых мощных языков для ЭВМ типа IBM PC/AT, работающий в среде операционной системы DOS, сочетающий в себе как мощность низкоуровневых языков программирования, так и структурированность с надежностью, присущих языкам высокого уровня.
ВВедение
2 Теоретическая часть
3 Выбор средства программирования
3.1
3.2
4 Разработка программного обеспечения
4.1
5 Заключение
6 Список используемой литературы
Основными графическими операторами по работе с цветами являются процедуры модуля GRAPH под именами SetBkColor (служит для установки цвета фона) и SetColor (для установки цвета рисования).
Формат данных операторов следующий:
SetBkColor (Color: word);
SetColor (Color: word),
где переменная Color, имеющая целочисленный тип word, служит для указания требуемого номера цвета.
Например, операторы
SetBkColor (1); SetColor (14) позволяют установить
режим рисования желтым цветом по
синему фону.
Модуль GRAPH
GRAPH - представляет собой библиотеку подпрограмм, обеспечивающую полное управление графическими режимами для различных адаптеров дисплеев: CGA, EGA, VGA... Содержит 78 процедур и функций (как базовых - рисование точек, линий, окружностей, прямоугольников) , так и расширяющих возможности базовых (многоугольники, сектора, дуги, закрашивание фигур, вывода текста и т.д.) .
Для запуска программы с использованием модуля GRAPH необходимо, чтобы в рабочем каталоге находились графические драйверы с расширением *. BGI, также должен быть доступен компилятору модуль GRAPH. TPU.
В начале программы
модуль GRAPH должен быть подключен USES GRAPH;
InitGraph(driver, mode, ’путь к BGI’) ; driver –
определяет тип графического драйвера,
mode – переменная, задающая режим
работы графического адаптера;
Процедуры
и функции модуля GRAPH
ClearDevice - Очищает экран и помещает курсор в точку (0,0) ; SetViewPort(x1, y1, x2, y2: integer; Clip: boolean) - Устанавливает текущее окно для графического вывода. X1, y1 – координата верхнего левого угла; x2, y2 - координата нижнего правого угла. Если Clip=true, то все изображения отсекаются на границах вывода; Closegraph – закрывает графический режим ClearViewPort - Очищает текущее окно; GetMaxX: integer - возвращает максимальную горизонтальную координату графического экрана; GetMaxY: integer - возвращает максимальную вертикальную координату графического экрана; GetX: integer - возвращает координату Х текущего указателя в окне; GetY: integer - возвращает координату Y курсора в окне; SetLineStyle(Line, Pattern, Thickness: word) - Устанавливает стиль (0.. 4) , шаблон штриховки (0.. 12) и толщину (1-ноpм, 3-утpоенная) ; SetFillStyle(Pattern, Color: word) - Устанавливает образец штриховки и цвет (0.. 15 и 128-меpцание) ; SetGraphMode(Mode: integer) - Устанавливает новый графический режим и очищает экран; SetColor(Color: word) - Устанавливает основной цвет, которым выполняется рисование (0.. 15) ; SetBkColor(Color: word) - Установка цвета фона.
PutPixel(X, Y: integer; Color: word) - Выводит точку цветом Color с координатой X, Y; LineTO(X, Y: integer) - Рисует линию от текущего указателя к точке с координатой Х, У; LineRel(DX, DY: integer) - Рисует линию от текущего указателя к точке, заданной приращением координат; Line(X1, Y1, X2, Y2: integer) - Рисует линию от точки (X1, Y1) к точке с координатой Х2, У2; MoveTO(X, Y: integer) - Смещает текущий указатель к точке с координатой Х, У; MoveRel(DX, DY: integer) - Смещает текущий указатель к точке, заданной приращением координат; Rectangle(X1, Y1, X2, Y2: integer) - Рисует прямоугольник, используя текущий цвет и тип линии по верхней левой и нижней правой точкам; Bar(X1, Y1, X2, Y2: integer) - Рисует закрашенный прямоугольник, используя установку SetFillStyle; Bar3D(X1, Y1, X2, Y2: integer;Depth: word;Top: Bolean) - Рисует закрашенный паpаллелипипед. Depth - глубина в Pixel (1/4 ширины) . Если Тор=True, то рисуется верхняя грань пеpеллелипипеда; Circle(X, Y: integer;R: word) - Рисует окружность радиуса R, используя X, Y как координаты центра; Fillellipse(X, Y: integer; XR, YR: word) - Рисует защтpихованный эллипс, используя X, Y как центр и XR, YR как горизонтальный и вертикальный радиусы.
RestorCRTMode - Восстанавливает текстовый режим работы экрана; OutText(Text: string) - Выводит текстовую строку на экран.
OutTextXY(X, Y: integer; Text: string) - Выводит текст в заданное место экрана. Краткая характеристика графических режимов работы дисплейных адаптеров
Настройка графических процедур на работу с конкретным адаптером достигается за счет подключения нужного графического драйвера. Драйвер - это специальная программа, осуществляющая управление теми или иными техническими средствами ПК. Графический драйвер, как это не трудно догадаться, управляет дисплейным адаптером в графическом режиме. Графические драйверы разработаны фирмой Borland практически для всех типов адаптеров. Обычно они располагаются на диске в отдельном подкаталоге BGI в виде файлов с расширением BGI (от англ.: Borland Graphics Interface - графический интерфейс фирмы Borland). Например, CGA.BGI - драйвер для CG4-адаптера, EGA VGA.BGI - драйвер для адаптеров EGA и VGA и т.п.
Выпускаемые в настоящее время ПК оснащаются адаптерами, разработанными фирмой IBM, или совместимыми с ними. Если не учитывать уже упоминавшийся в гл.13 монохромный адаптер MDA, все они имеют возможность работы в графическом режиме. В этом режиме экран дисплея рассматривается как совокупность очень близко расположенных точек - пикселей, светимостью которых можно управлять с помощью программы.
Графические возможности конкретного адаптера определяются разрешением экрана, т.е. общим количеством пикселей, а также количеством цветов (оттенков), которыми может светиться любой из них. Кроме того, многие адаптеры могут работать с несколькими графическими страницами. Графической страницей называют область оперативной памяти, используемая для создания «карты» экрана, т.е. содержащая информацию о светимости (цвете) каждого пикселя. Ниже приводится краткая характеристика графических режимов работы наиболее распространенных адаптеров.
Адаптер CGA (Color Graphics Adapter - цветной графический адаптер) имеет 5 графических режимов. Четыре режима соответствуют низкой разрешающей способности экрана (320 пикселей по горизонтали и 200 по вертикали, т.е. 320x200) и отличаются только набором допустимых цветов - палитрой. Каждая палитра состоит из трех цветов, а с учетом черного цвета несветящегося пикселя - из четырех: палитра 0 (светло-зеленый, розовый, желтый), палитра 1 (светло-бирюзовый, малиновый, белый), палитра 2 (зеленый, красный, коричневый) и палитра 3 (бирюзовый, фиолетовый, светло-серый). Пятый режим соответствует высокому разрешению 640x200, но каждый пиксель в этом случае может светиться либо каким-то одним заранее выбранным и одинаковым для всех пикселей цветом, либо не светиться вовсе, т.е. палитра этого режима содержит два цвета. В графическом режиме адаптер CGA использует только одну страницу.
Адаптер EGA (Enhanced Graphics Adapter - усиленный графический адаптер) может полностью эмулировать графические режимы адаптера CGA. Кроме того, в нем возможны режимы: низкого разрешения (640x200, 16 цветов, 4 страницы) и высокого разрешения (640x350, 16 цветов, 1 страница). В некоторых модификациях используется также монохромный режим (640x350, 1 страница, 2 цвета).
Адаптер MCGA (Multi-Color Graphics Adapter - многоцветный графический адаптер) совместим с CGA и имеет еще один режим - 640x480, 2 цвета, 1 страница. Такими адаптерами оснащались младшие модели серии ПК PS/2 фирмы IBM. Старшие модели этой серии оснащаются более совершенными адаптерами VGA (Video Graphics Array -графический видеомассив. Адаптер VGA эмулирует режимы адаптеров CGA и EGA и дополняет их режимом высокого разрешения (640x480, 16 цветов, 1 страница).
Не так давно появились так называемые cynep-VGA адаптеры (SVGA) с разрешением 800x600 и более, использующие 256 и более цветовых оттенков. В настоящее время эти адаптеры получили повсеместное распространение, однако в библиотеке Graph для них нет драйверов. Поскольку SVGA совместимы с VGA, для управления современными графическими адаптерами приходится использовать драйвер EGAVGA.BGI и довольствоваться его относительно скромными возможностями.
Несколько особняком
стоят достаточно популярные адаптеры
фирмы Hercules. Адаптер HGC имеет разрешение
720x348, его пиксели могут светиться одним
цветом (обычно светло-коричневым) или
не светиться вовсе, т.е. это монохромный
адаптер. Адаптер HGC+ отличается несущественными
усовершенствованиями, а адаптер HIСС (Hercules
In Color Card) представляет собой 16-цветный
вариант HGC+.
4. РАЗРАБОТКА И ПРИМЕНЕНИЕ КОМПЬЮТЕРНОЙ
МОДЕЛИ
4.1
Технологическая
цепочка решения
задачи
program rere;
uses crt,graph; {подключение модулей}
type {раздел описания новых типов}
mass=array [1..1]of integer;
pars=^mass;
mast=array [1..1]of string;
parr=^mast;
var title,namefile,y :string; c:char; {блок описания переменных}
d:pars;
m:parr;
procedure ramka(title:string); {процедура вывода рамки на экран}
var i:integer;
begin clrscr; textcolor(white); {задается цвет самой рамки}
gotoxy(1,1);
writeln(‘«
for i:=2 to 22 do begin
gotoxy(1,i);write('||');
gotoxy(80,i);write('||');end;
gotoxy(1,i+1);
writeln('
gotoxy(70,1);
Writeln('‚Выход ESC');
end;
Procedure animaciya; {процедурв вывода Анимации"Турбо Паскаль" }
var d,m:integer; {блок описания переменных используемых в процедуре}
i,x,y,r,j,n,h:integer;
c:char;
begin
d:=detect; {подключение графического режима}
initgraph(d,m,'D:\BP\BIN');
for n:=1 to 5 do begin
randomize; {подключение функции случайных чисел}
x:=150;
x:=150;
for i:=1 to 50 do begin
setcolor(1+random(14-1+1));{
circle(x,200,100); x:=x+7 ;delay(1000);end; {вывод окружностей через каждые 7 пикселей}
for h:=1 to 5 do begin
moveto(100,200); {перемещает указатель в эту точку}
setcolor(15);
lineto(550,200);{рисует линию белого цвета}
moveto(100,200);
setcolor(15);
lineto(125,250);
x:=125; y:=250;
for j:=1 to 4 do begin
setcolor(15);
x:=50+x;y:=y-100; delay(1000);
lineto(x,y);
setcolor(15);
x:=50+x;y:=100+y; delay(1000);
lineto(x,y);
setcolor(15);
line(550,200,525,250);
end;
end;
{until keypressed;}
setcolor(4); {блок программы в которой после запуска на экране выходят буквы различными цветами}
line(75,25,125,25);delay(3000)
setcolor(4);
line(100,25,100,75);delay(
setcolor(5);
line(150,25,150,50);delay(
setcolor(5);
line(150,50,200,50);delay(
setcolor(5);
line(200,25,200,75);delay(
setcolor(5);
line(150,75,200,75);delay(