Extras din notiță
MoveTo(x,y) – pozitioneaza pixelul curent la coordonatele (x,y)
LineRel(dx,dy) – deseneaza un segment din pixelul curent la pixelul obtinut prin deplasarea cu dx pe orizontala si cu dy pe verticala
ClearViewPort – sterge fereastra curenta
ClearDevice – sterge ecranul graphic si stabileste cursorul in stanga jos
SetColor(culoare) – stabileste culoarea de desenare
SetBkColor (culoare)– stabileste culoarea fondului
PutPixel(x,y,culoare) – aprinde cu colarea specificata pixelul graphic specificat
GetPixel(x,y) – returneaza codul de culoare al pixelului specificat
Line(ui,vi,uf,vf) – deseneaza un segment de dreapta; segm definit de punctele (ui,vi) si (uf,vf)-care devine pixel curent
LineTo(u,v) – deseneaza un segment de dreapta;deseneaza segm de dreapta format din pixelul current si pixelul de coordinate (u,v)-care la final devine pixel curent
Rectangle(u0,v0,uf,vf) – deseneaza un dreptunghi precizat prin varfuri diagonal opuse; (u0,v0)-colt stanga sus si (uf,vf)-colt dreapta jos
Bar(u0,v0,uf,vf) – deseneaza si umple un triunghi cu hasura si culoarea stabilita prin procedura SetFilleStyle
Arc(xc,yc,ui,uf,R) – traseaza un arc de cerc (xc,yc)-coord centrului,(ui,uf)-unghi initial si final[in grade],R=raza
PieSlice(xc,yc,ui,uf,R) – traseaza un sector de cerc
Ellipse(xc,yc,ui,uf,Rx,Ry) – deseneaza un arc de elipsa
FillElipse(xc,yc,ui,uf,Rx,Ry) – deseneaza si umple un sector de elipsa
OutText(text) – scrie un text pe ecranul graphic incepand de la pixelul current
OutText(x,y,text) – scrie un text pe ecranul graphic ale caror coordinate sunt specificate
SetTextStyle(font,directie,marime) – stabileste forma si marimea caracterelor
Circle(xc,yc,R) – deseneaza un cerc
program aproximarea_lui_pi; uses graph;
var gd,gm,u,v:integer; pi_aprox,x,y:real;
n,nrtotal,i:longint; begin
write('Numar total de puncte:'); readln(nrtotal); gd:=detect; InitGraph(gd,gm,'c:bpbgi');
if graphresult<>grok then begin
writeln('eroare initializare grafica');
halt(1); end; n:=0;
for i:=1 to nrtotal do begin
x:=random; y:=random;
if sqrt(sqr(x)+sqr(y))<=1 then n:=n+1;
u:=trunc(479*x); v:=479-trunc(479*y);
PutPixel(u,v,red); end;
SetLineStyle(1,1,3); MoveTo(0,0);
LineRel(479,0);LineRel(0,479);
LineRel(-479,0);LineRel(0,-479); Ellipse(0,479,0,90,479,479);
pi_aprox:=4*n/nrtotal;
readln; closegraph;
writeln('pi aproximativ=',pi_aprox:8:5);
writeln('pi exact=',pi:8:5); readln; end.
Preview document
Conținut arhivă zip
- Grafica in Pascal - Probleme.doc