Пермский государственный техническийуниверситет
Кафедра: Информационных технологий иавтоматизированных систем
Лабораторная работа по теме:
«Создание графических объектов спомощью псевдографики»
По дисциплине «Информатика»
Пермь 2010
Цели и задачи работы
1. Изучить основыработы на языке высокого уровня Turbo Pascal.
2. Разработатьпрограмму, которая бы нарисовала инициалы студента, причем одну из буквраскрасить.Оборудование ипрограммное обеспечение
— Персональный компьютер
— Манипуляторы клавиатура и мышь
— Программы Turbo Pascal
Ход работы
Операторы, необходимыдля работы в графической среде TurboPascal
· Usesgraph – использованиеграфического режима
· В разделепеременных описываем gd(графический драйвер), gm(графический режим), error(сообщение об ошибке)
· Запускграфического режима осуществляется следующим образом:
Initgraph(gd,gm,'');
gd:=detect;
error:=graphresult;
if error0 then
Begin
writeln('Обнаружена ошибка ');
halt;
end;
· Moveto (X,Y) – установитькурсор в точку с координатами X,Y
· Lineto (X,Y) – провестилинию из положения курсора в точку с координатами X,Y
· Setcolor (цвет) – последующий текст и линиибудит рисоваться заданным цветом
· OuttextXY (X,Y) – написатьтекст в точке с координатами X,Y
· setlinestyle(3,0,1) – установка пунктирной линии
· setlinestyle(0,0,1) – установка обычной линии
· Line (X1,Y1,X2,Y2) – провести линию из точки X1,Y1 в точку X2,Y2
· setfillstyle(solidfill,red) – установка параметров завливки, solidfill – залить всюограниченную область заданным цветом
· floodfill (X,Y,getmaxcolor) – X,Y координаты точкипринадлежащей ограниченной области
· Closegraph– закрытие графическогорежима
Текст программы
ProgramIniciali;
uses graph;
varerror,gd,gm,m,n:integer;
x,y,z,x1,x2,y1,y2,a:real;
begin
m:=100;
n:=100;
gd:=detect;
a:=30;
z:=100;
InitGraph(gd,gm,'');
error:=GraphResult;
If error 0 then
begin
writeln('AaAAAPANEKA!');
halt;
end;
moveto((getmaxxdiv 2),0);
lineto((getmaxxdiv 2),(getmaxy div 2));
lineto(0,round((getmaxy div 2)+sin(pi/6)/cos(pi/6)*(getmaxx div 2)));
moveto((getmaxxdiv 2),(getmaxy div 2));
lineto((getmaxx),round((getmaxydiv 2)+sin(pi/12)/cos(pi/12)*(getmaxx)));
moveto(m,n);
x:=z*cos(pi/6);
y:=z*sin(pi/6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
n:=n+25;
lineto(m,n);
moveto(m,n);
z:=75;
x:=-z*cos(pi/6);
y:=-z*sin(pi/6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
n:=n+200;
lineto(m,n);
moveto(m,n);
z:=25;
x:=-z*cos(pi/6);
y:=-z*sin(pi/6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
n:=n-225;
lineto(m,n);
z:=25;
x:=-z*cos(pi/6);
y:=z*sin(pi/6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
n:=n+225;
lineto(m,n);
moveto(m,n);
z:=25;
x:=z*cos(pi/6);
y:=-z*sin(pi/6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
n:=n-225;
moveto(m,n);
z:=25;
x:=-z*cos(pi/6);
y:=z*sin(pi/6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
moveto(m,n);
z:=100;
x:=z*cos(pi/6);
y:=-z*sin(pi/-6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
moveto(m,n);
z:=25;
x:=z*cos(pi/6);
y:=-z*sin(pi/6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
end;
moveto(m,n);
m:=m+100;
lineto(m,n);
n:=n-200;
lineto(m,n);
x:=-z*cos(pi/6);
y:=z*sin(pi/6);
m:=m+round(x);
n:=n-round(y);
lineto(m,n);
readln;
closegraph;
end.
Вывод
turbo pascalпрограмма графический
В ходе даннойлабораторной работы я научился работать с графической средой Turbo Pascal.