Пермский государственный технический университет
Кафедра: Информационных технологий и автоматизированных систем
Лабораторная работа по теме:
«Создание графических объектов с помощью псевдографики»
По дисциплине «Информатика»
Пермь 2010
1. Изучить основы работы на языке высокого уровня TurboPascal.
2. Разработать программу, которая бы нарисовала инициалы студента, причем одну из букв раскрасить.
-Персональный компьютер
-Манипуляторы клавиатура и мышь
-Программы Turbo Pascal
Ход работы
Операторы, необходимы для работы в графической среде TurboPascal
· Uses graph – использование графического режима
· В разделе переменных описываем gd (графический драйвер), gm (графический режим), error (сообщение об ошибке)
· Запуск графического режима осуществляется следующим образом:
Initgraph (gd,gm,'');
gd:=detect;
error:=graphresult;
if error <>0 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 – закрытие графического режима
Текст программы
Program Iniciali;
uses graph;
var error,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('AaAAA PANEKA!');
halt;
end;
moveto((getmaxx div 2),0);
lineto((getmaxx div 2),(getmaxy div 2));
lineto(0,round ((getmaxy div 2)+sin(pi/6)/cos(pi/6)*(getmaxx div 2)));
moveto((getmaxx div 2),(getmaxy div 2));
lineto((getmaxx),round((getmaxy div 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 программа графический
В ходе данной лабораторной работы я научился работать с графической средой TurboPascal.