Graph модулін қолдану Турбо паскаль Turbo Pasсal реферат
Жоспар
1 Кіріспе ……………………………………………………………..3
Негізгі бөлім
Graph модулін қолдану .....………………………………………….5
Фигураларды сызу ................................................................……….9
Графикалық режимде текст жазу .........………………………….. 13
Координаттар және терезелер...... ………………………………....19
2.5. Мультипликация ................................................................................
2.6 Турбо Паскальдың қосымша интерфейсі
Қорытынды …………………………………………………………….29
Пайдаланылған әдебиеттер тізімі ……………………………………30
Жұмыс түрі: Реферат
Пәні: Соңғы қосылған рефераттар
Жұмыс көлемі: - бет
-----------------------------------------------------------------------------------
РЕФЕРАТТЫҢ ҚЫСҚАРТЫЛҒАН МӘТІНІ
Жоспар
1 Кіріспе ……………………………………………………………..3
Негізгі бөлім
Graph модулін қолдану .....………………………………………….5
Фигураларды сызу ................................................................……….9
Графикалық режимде текст жазу .........………………………….. 13
Координаттар және терезелер...... ………………………………....19
2.5. Мультипликация ................................................................................
2.6 Турбо Паскальдың қосымша интерфейсі
Қорытынды …………………………………………………………….29
Пайдаланылған әдебиеттер тізімі ……………………………………30
Кіріспе
Қазіргі кездегі Турбо Паскальдің 6,7 версияларындағы
Графикалық режимдегі координаталар ситемасы текстік режимдегі
Дисплей жұмысын басқару платасы адаптер делінеді.
Турбо Паскальдің графикалық режимін іске қосудың
Куртық жұмыстың мақсаты Турбо Паскальдың графикалық
Graph модулін қолдану.
GRAPH модулінің функциялары мен процедураларының параметрлері
Initgraph (GDriver, GMode, Patch) – экранды
Мұндағы Gdriver – драйвер нөмірі.
Uses graph;
Var griver, gmode, Err Code: integer;
begin griver=detect; Initgraph (gdriver, gmode,);
ErrCode:=CraphResult; if ErrCode 0 then Writeln
end.
Setbkcolor () - экран кеңістігінің
SetColor () - кескін орнату.
GetMaxColor - палитрадағы максималды түстің
GetMaxХ, GetMaxҮ – экран координаттарының ең
CloseCraph - графикалық режимді жауып,
RestoreCRTMode – уақытша текстік режимге өту
SetGraphMode () - графикалық режимге
ClearDevice – экранды тазалайды.
GraphResult – жүйенің графиктік режимге дұрыс
Фигураларды сызу
Line (х1,у1,х2,у2) – (х1,у1) нүктесінен (х2,у2)
Rectangle (х1,у1,х2,у2) –сол жақ жоғары төбесі
Circle (x,y,R) – орталық нүктесі (х,у)
Arc (x,y,gr1,gr2,R) – градуспен берілген gr1,
Pieslice (x,y, gr1,gr2,R) - градуспен
Ellipse (x,y,gr1,gr2,Rx, Ry) – градуспен берілген
PutPixel (x,e, ) - -
FloodFill ( Х,У ) –
Графикалық режимде текст жазу
SetTextStyle(, , текст стилін орнатады. параметрінің мәні
OuttextXY (х,у, текст) – (х,у) нүктесінен
SetTextJustify (, ) – текстің
SetLinStyle ( , , Координаттар және терезелер.
1 мысал. Терезедегі суретті кесіп
Uses Graph,CRT;
var
x,y,e: Integer;
xll,yll,xl2,yl2, {1-ші терезенің координаттары}
x21,x22, {2 ші сол жақ жоғарғы
R, {бастапқы радиус}
k: Integer;
begin
DirectVideo := False
{графикалық режимді иницииалдау}
х := Detect; InitGraph(x, у, '');
{Проверяем результат}
е := GraphResult; if e
WriteLn(GraphErrorMsg (e) ) {қате}
else
begin {қате жоқ}
x11:=GetMaxX div 60;
x12:=GetMaxX div 3;
y11:=GetMaxY div 4; y12:=2*y11;
R:=(x12-x11) div 4; x21:=x12*2;
x22:=x21+x12-x11;
{терезені сызамыз}
WriteLnt'ClipOn:':10,'ClipOff:':40);
Rectangle(x11, y11, x12, y12); Rectangle(x21, y11
SetViewPort(x11, y11, x12, y12, ClipOn);
for k := 1 to 4
Circle(0,y11,R*k);
SetViewPort(x21, y11, x22, y12, ClipOff);
for k := 1 to 4
Circle(0,y11,R*k);
{кез келген клавишті басу }
if ReadKey=#0 then k := ord(ReadKey);
CloseGraph
end
end.
2 мысал. Бұл мысалда алдымен терезе
Uses CRT,Graph;
var
x1,y1,x2,y2,Err: Integer;
begin
{ графическалық режимді инициалдау}
xl := Detect; InitGraph(xl,x2,'');
Err := GraphResult; if ErrogrOk then
WriteLn(GraphErrorMsg(Err))
else
begin
x1 := GetMaxX div 4,-y1 :=
x2 := 3*x1; y2 := 3*y1;
{терезе сызамыз}
Rectangle(x1,y1,x2,y2);
SetViewPort(x1+1,y1+1,x2-1,y2-1,ClipOn);
{терезеге кездейсоқ шеңберлерді толтырамыз}
repeat
Сirclе(Random(Ge tMaxX),Random(Ge tMaxX)
Random(GetMaxX div 5))
until KeyPressed;
{Терезені тазалау үшін Enter клавишін басамыз}
ClearViewPort;
OutTextXY(0,0,'Press Enter...1);
ReadLn;
CloseGraph
end
end.
3 мысал. Әртүрлі өлшемдегі 20 шеңберден
Uses Graph,CRT;
const
R =.50;
dx = 1000;
var
d,m,e,k : Integer;
Xasp,Yasp: Word;
begin
d := Detect;
InitGraph(d, m,.'');
e : = GraphResult;
if e grOk then
WriteLn(GraphErrorMsg(e))
else
begin
GetAspectRatio(Xasp, Yasp);
for k := 0 to 20
begin
SetAspectRatio(Xasp+k*dx,Yasp);
Circle(GetMaxX div 2,GetMaxY div 2,R)
end;
if ReadKey=#0 then k := ord(ReadKey);
CloseGraph
end
end.
Мысал 4. Бір бұрышы 0 және
Uses Graph, CRT;
var
d, r, е : Integer;
Xasp,Yasp: Word;
begin
{ графиканы инициалдау}
d := Detect;
InitGraphtd, r, '');
e := GraphResult; if e
WriteLn(GraphErrorMsg(e))
else
begin
GetAspectRatio(Xasp,Yasp);
{R = 1/5 болғандағы экранның вертикальды
r := round(Yasp*GetMaxY/5/XAsp);
d := GetMaxX div 2; {екінші
e : = GetMaxY div 2;
{сол жақ графикты тұрғызайық }
Line (0,e,5*r div 2,e); {Горизонтальды
Line (5*r div 4,e div 2,5*r
Arc (5*r div 4,e,0,90,R); {доға}
OutTextXY(0,e+e div 8,'0 - 90'); {жазба}
{бірінші график}
Line (d,e,d+5*r div 2,e);
Line (d+5*r div 4,e div 2,
Arc (d+5*r div 4,e,270,540,R);
OutTextXY(d,e+e div 8,'270 - 540');
{кез келген клавишті басу}
if ReadKey=#0 then d := ord(ReadKey);
CloseGraph
end
end.
1-мысал. Графикалық режимде бірінің ішіне бірі
program exl; uses graph;
var gd, gm, erre:integer; R,i, width:integer;
begin gd=detect; inintGraph(gd,gm); erre:=GraphResult;
if erre=grOK then begin
for R:=1 to 5 do Circle
readlin; cleardevice; Bar3d (100, 100,300,250,50, TopOn);
settextstyle (0,0,3); SetColor (Red); setlinestyle (0,0,3);
settextjustify (0,0); outtextxy (130,192, PASKAL);
readlin; cleardevice; end else Halt (1);
2-мысал. Экран бетінде қызыл төртбұрыш, ортасында
Program Suret; Uses Graph;
Var CD, GM: Integer;
Begin gd=Detect;
Initgraph (CD, GM, ``); {графикалық режим
Pieslice (310,240,0,270,150); {сектор салу}
Circle (310,240,180); {шеңбер салу}
Rectangle (0,0,GetMaxX, GetMaxY);
SetFillstyle (1,Red); {Бояу түрі мен түсі}
FloodFill (10,10,White); {төртбұрышты бояу}
Readlin; {“Enter” пернесінің күтілуі}
3-мысал. Экранға готикалық шрифтпен THE END,
program ex2;
uses Crt, Craph;
var gd, gm: integer;
begin
GD: =detect; initgraph (GD, GM, `
setbkcolor (black); settextjustify (centertext, centertext);
SetTextStyle (triplexfont, horisDir, 9);
Setcolor (lithgray);
outtextxy (getmaxX div 2+2, getmaxy div
setcolor (red); outtextxy (getmaxX div 2+10,
setcolor (green); settextjustify (centertext, centertext);
SetTextStyle (gothicfont, horisDir, 13); setcolor (128+yellow);
outtextxy (getmaxX div 2+2, getmaxy div
setcolor (green); settextjustify (centertext, centertext);
SetTextStyle (gothicfont, horisDir, 4); setcolor (red);
outtextxy (getmaxx div 2+9, getmaxy div
repeat until keypressed;
end
Мултипликация
Видеожадтың немесе оның бір бөлігінің мазмұнының
Бірнеше экран парақтарын уақыт өткен сайын
1-мысал. Экранның жоғарғы бөлігінде радиустері әр
program ex3; uses graph, crt;
var gd, gm, erre: integer; R,i,j,
x0,y1,y2,x1,x2,: integer; P:pointer; Size: Word;
begin
gd:=detect; initgraph (gd, gm, ``);
erre:=GraphResult; if erre=grOK then begin
FillEllipse (getmaxX div 4, getmaxy div
FillEllipse (getmaxX div 4-50, getmaxy div
FillEllipse (getmaxX div 4+40, getmaxy div
FillEllipse (getmaxX div 4-18, getmaxy div
size:=ImageSize (getmaxX div 4-150, getmaxy div
GetMem (P,Size);
GetImage (getmaxX div 4-150, getmaxy div
setcolor (green); seltfill (3, green); bar
setfillstyle (1,15);
FOR j:=5 TO 30 DO begin
putmage (getmaxX div 4-250+j*25, getmaxy div
FOR I:=1 TO j DO begin
Ellipse (280, 350, 0, 360,
FillEllipse (280, 330-i, 10+i*2,3+i);
end; DELAY (500); end; readlin; end
2-мысал. 2 парақ не одан да
Uses GRAPH, CRT; {CRT модулінде Key
Var d, k, m: Integer; A,B:
Prosedure Kadr (A: Real; cvet: Word);
Var x,y,z,w: Integer;
Begin z: = GetMaxX div 2;
x:= Round (z+8*w*Sin(A)); y=Round (w+8*w*Cos (A));
Setcolor (cvet); SetFillStyle (1, cvet); line
PieSlice (z,w,0,360,5) {маятниктің тірек нүктесі}
PieSlice (z,w,0,360,w) {маятниктің дөңгелегі}
End
BEGIN d:=EGA: r:=1: InitGraph (d,r,`C:tpbgi`)
A: =0: B: =0 k:=1
Repereat {m=1 (-1) мәнінде тербелу бағыты
Kadr (B, GetBKColor) {маятник образын өшіру}
B: =A A: =A+m*0.02
Kadr (A, yellow)
SetVisualPage (k) SetActivePage (1-k)
Delay (50)
k:=1-k
Until KeyPressed
END.
3-мысал. Экранға мәзір шығарып (шеңбер, квадрат,
F0 модулі программасының тексті:
UNIT MODF0
INTERFACE PROSEDURE FO
IMPLEMENTATION
PROSEDURE FO
BEGIN
SETCOLOR (14) SETFILLSTYLE (6,4)
X: =100 Y: =100
SETFILLSTYLE (1,5) BAR (X,Y,
OUTEXTXY (X+5, Y+15, `Геометриялық фигураның`)
OUTEXTXY (X+5, Y+45, `түрін анықта`)
OUTEXTXY (X+5, Y+85, `1 Шеңбер`)
OUTEXTXY (X+5, Y+115, `2 квадрат`)
OUTEXTXY (X+5, Y+145, `3 үшбұрыш`)
OUTEXTXY (X+5, Y+175, `4 шығу`)
SETFILLSTYLE (1,11) BAR (X +155,
REPEAT UNTIL KEYPRESSED
END, END.
Модульді пайдаланатын программа тексті:
PROGRAM PRG11 14
USES GRAPH, CRT, MODF0
VAR DRIVER, MODE, X, Y, R:
H: CHAR
PP: ARRAY [0..4] OFPOINTTYPE
PROCEDURE F1
BEGIN CLEARDEVICE SETCOLOR (11)
SETFILLSTYLE (4, 11) FULLELLIPSE (300,200,200,200)
REPEAT UNTIL KEYPRESSED
END
PROSUDURE F2
BEGIN
CLEARDEVICE SETCOLOR (140
SETFILLSTYLE (5,140 BAR (150,150,400,400)
REPEAT UNTILL KEYPRESSED
END
PROCEDURE F3
BEGIN
CLEARDEVICE SETCOLOR (IO) SETFILLSTYLE (8,10)
PP [1].X: =200
PP [2].X: =PP[1].X+250
PP [3].PP[2].X+200
PP [4].X: =100
FILLPOLY (3, PP)
REPEAT
PROSEDURE F4
BEGIN
CLEARDEVICE SETCOLOR (3)
OUTTEXTXTY (X+5, Y+115, `дұрыс таңдамадыңыз`)
REPEAT
END
BEGIN
DRIVER: = DETECT
INITGRAPH (DRIVER, MODE, `C:TP BGI`)
FO
REPEAT
H: = READKEY SETCOLOR (O)
DELAY (IOOO)
CASE H OF
`1` : F1
`2` : F2
`3` : F3
`4` : BREAK
ELSE F4 END
UNTILL H = `4`
CLOSEGRAPH END
Есепті шығару үшін
программа денесін құрылып, айнымалылар сиаптталынады;
GRAPH модулін шақырылады;
FO-процедурасы шақырылып, экранға мәзір шығарылады;
Жұмыс соңы (`4`)-ті басқанша цикл ұйымдастырылады;
Енгізген символға байланысты F1, F2, F3,
Графикалық режим жабылады.
Айнымалылар:
FO процедурасында:
Х,Ү-мәзір координаталары (глобальды айнымалылар)
R – мәзір өлшемі (глобальды айнымалы)
РР – көпбұрыш төбелері жазылған массив
F4 – процедурасында Х, Ү –
Н – қосымша айнымалы, MODE –
Қорытынды
Бағдарламада қолданылған есептер Turbo Pascal программалау
Турбо Паскальдың графикалық режимінде амалдар қолдану
Мен осы жазғандарымды қорыта келе жалпы
Қорыта айтар болсақ графикалық режмде жұмыс
Мысалы айтар болсақ әр процедураға ерекше
Пайдаланылған әдебиеттер тізімі:
1. Ж.Қ. Масанов, Б.А.
2. Шаметов Ералы Бақтайұлы. Паскаль
3. Г.Григас. Начало программирования, - М.
4. Эллиот Б. Коффман. Turbo Pascal
2002ж.
5. О.А.Меженный . Turbo Pascal
«Вильямс», 2001-448с.
6.Камардинов О. «Информатика» 1-б¼лiм. Алматы, 1999
7.Нақысбеков Б.К. «Паскаль тiлi» Алматы, 1992
8.Байдыбекова А., Коштаева Г.Т. «Паскаль тiлiн
9.Перминов О.Н. «Программирование на языке Паскаль»
2