3 – / / / / / / / / / /;
4 – \ \ \ \ толстыми;
5 – / / / / толстыми;
6 – \ \ \ \ \ \ \ \ ;
7 – + + + + + + +;
8 – х х х х х х х х;
9 – клетка;
10 – редкие точки;
11– частые точки;
12 – определяется пользователем.
Процедура: FloodFill(X, Y, <цвет границы>) – штрихует замкнутую область содержащую точку с координатами (X, Y) текущим цветом до заданной границы.
Процедура: OutText( <текст>) – выводит текст в заданное положение;
Процедура: OutTextXY(X,Y, <текст>) – выводит текст в заданное положение;
Процедура: SetTextStyle(<шрифт >, <направление>, <размер>) – задает стиль рисования текста.
Где: <шрифт > -задает тип шрифта.
При выводе используются один битовый и 4 штриховых шрифта.
- битовый (стандартный, матричный 8х8 пикселей) шрифт, который входит в модуль GRAPH.TPU и содержит символы, как основного, так и дополнительного набора ASCII.
- штриховые шрифты – символы, которых формируются из векторов (штрихов) и хранятся в отдельных CHR - файлах.
Каждому стилю соответствует константа, описанная в модуле GRAPH.TPU
Const
DefaultFont = 0; {Стандартный точечный}
TriplexFont = 1; {Триплекс Trip.chr}
SmallFont = 2; {Индексный Litt.chr}
SansSriefFont = 3; {Прямой Sans.chr}
GothicFont = 4; {Готический Goth.chr}
<направление> - задается константой:
Const
HorizDir = 0; {Слева на право}
VertDir = 1; {с низу вверх}
<размер> - может изменяться от 1 до10.
Процедура: SetTextJustify( <горизонт>, <верт.>) – вертикальное и горизонтальное выравнивание текста.
Где <горизонт> = 0 – указатель справа от центра;
= 1– указатель в центре;
= 2 -– указатель слева от центра;
<верт.> = 0 – снизу;
= 1– сверху;
Пример №3
Сформировать массив, состоящий из 20 целых чисел в диапазоне от 0 до 200. Упорядочить первую половину массива по возрастанию, а вторую по убыванию. Построить гистограмму, снабдив ее необходимыми надписями.
Program GrGist;
Uses Graph,crt;
Const n = 20;
Type mas=array [1..n] of integer;
Var
Gd, Gm : Integer;
i : Integer;
m : mas;
S : string;
ch :char;
Procedure UM(c:char;n1,n2:integer; var d:mas);
Var
i,j,r : integer;
k,l : boolean;
begin
repeat
k:=true;
for i:=n1 to n2-1 do
begin
if c='<' Then l:= d[i]<d[i+1]; if c='>' then l:= d[i]>d[i+1];
if l then
begin
r:=d[i]; d[i]:=d[i+1]; d[i+1]:=r; k:=false
end
end
until k=true
end;
Begin
Repeat
Randomize;
For i:=1 to n do m[i]:=random(201);
UM('>',1,10,m); UM('<',11,20,m);
Gd := Detect; InitGraph(Gd, Gm, 'D:\TP6_0\BGI');
If GraphResult <> grOk then Halt(1);
ClearDevice; SetTextStyle(0,0,2);
OutTextXY(130,10,'Г и с т о г р а м м а ');
SetTextStyle(0,0,1);
OutTextXY(130,35,'( Случайно генерированного массива чисел )');
SetBkColor(Random(16)); SetFillStyle(9,5); SetTextStyle(0,1,1);
For i:=1 to n do
Begin
Str(m[i],s);
OutTextXY(30*(i-1)+25,260-m[i],S);
Bar3D(30*(i-1),300,30*(i-1)+30,300-m[i] ,15, TopOn);
End;
SetTextStyle(1,0,4);
OutTextXY(200,305,'R E S U L T ');
Readln;
ch:=ReadKey;
Until ch=#27;
CloseGraph;
End.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.