Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

FUNKCJE

Funkcja w matematyce wylicza jakąś wartość dla podanego argumentu. Na przykład funkcja sinus dla kąta równego 90° wylicza wartość 1. W programowaniu funkcja pełni identyczną rolę jak i procedura (fragment programu zamknięty w jedną całość). Od procedury odróżnia ją możliwość wyliczania (jak w matematyce) jakiejś wartości. W pascalu istnieje wiele gotowych funkcji (np. cosinus sinus itp.), ale też można definiować swoje własne. Funkcje deklarujemy w podobnym miejscu programu jak procedury.

POBIERZ CAŁĄ LEKCJĘ

GRAF17.PAS

{obliczenia trygonometryczne - funkcje}program grafika17;uses crt,graph;{wzgl©dne przesuni©cie w zaleľno˜ci od kĄta i punktu poczĄtkowego}function deX(bok,kat:integer):integer;begin  deX:=round(bok*cos(kat*pi/180));end;function deY(bok,kat:integer):integer;begin  deY:=round(bok*sin(kat*pi/180));end;{rysowanie linii: punkt poczĄtkowy i kĄt}procedure linia(x,y,bok,kat,kolor:integer);begin  setcolor(kolor);  moveto(x,y);  lineto(x+deX(bok,kat),y-deY(bok,kat))end;var d,m:integer;begin  d:=detect;  initgraph(d,m,'');  {kwadrat}  linia(200,200,100,0,12);  linia(300,200,100,90,12);  linia(300,100,100,180,12);  linia(200,100,100,270,12);  readln;  closegraph;end.GRAF18.PAS{obliczenia trygonometryczne - animacja}program grafika18;uses crt,graph;function deX(bok,kat:integer):integer;begin  deX:=round(bok*cos(kat*pi/180));end;function deY(bok,kat:integer):integer;begin  deY:=round(bok*sin(kat*pi/180));end;procedure linia(x,y,bok,kat,kolor:integer);begin  setcolor(kolor);  moveto(x,y);  lineto(x+deX(bok,kat),y-deY(bok,kat))end;var	kat:integer;var d,m:integer;begin  d:=detect;  initgraph(d,m,'');  repeat  	for kat:=360 downto 1 do    begin    	linia(300,200,200,kat,13);      delay(20);      linia(300,200,200,kat,0);    end;  until keypressed;  closegraph;end.GRAF19.PAS{obliczenia trygonometryczne - wskaz˘wka}program grafika19;uses crt,graph;function deX(bok,kat:integer):integer;begin  deX:=round(bok*cos(kat*pi/180));end;function deY(bok,kat:integer):integer;begin  deY:=round(bok*sin(kat*pi/180));end;procedure linia(x,y,bok,kat,kolor:integer);begin  setcolor(kolor);  moveto(x,y);  lineto(x+deX(bok,kat),y-deY(bok,kat))end;var	kat:integer;var d,m:integer;begin  d:=detect;  initgraph(d,m,'');  kat:=360;  repeat    linia(320,200,200,kat,11);    delay(1000);    linia(320,200,200,kat,0);    kat:=kat-6;                 {co 6 stopni skok wskaz˘wki sekundowej}    if kat <=0 then kat:=360;   {od nowa je˜li doszˆo do koäca}  until keypressed;  closegraph;end.GRAF20.PAS{obliczenia trygonometryczne - odbicia radar˘w}program grafika20;uses crt,graph;function deX(bok,kat:integer):integer;begin  deX:=round(bok*cos(kat*pi/180));end;function deY(bok,kat:integer):integer;begin  deY:=round(bok*sin(kat*pi/180));end;procedure linia(x,y,bok,kat,kolor:integer);begin  setcolor(kolor);  moveto(x,y);  lineto(x+deX(bok,kat),y-deY(bok,kat))end;var	kat,  bok,  x,y,  dx,dy:integer;var d,m:integer;begin  d:=detect;  initgraph(d,m,'');  x:=0;  y:=0;	bok:=40;  dx:=1;  dy:=1;  kat:=0;  repeat  	linia(x,y,bok,kat,13);    delay(10);    linia(x,y,bok,kat,0);    kat:=kat+3;    x:=x+dx;    y:=y+dy;    if kat >= 360 then kat:=0;    if (x > (640-bok)) or (x < 0) then dx:=-dx;    if (y > (480-bok)) or (y < 0) then dy:=-dy;  until keypressed;  closegraph;end.GRAF21.PAS{obliczenia trygonometryczne - odbicia radar˘w}program grafika21;uses crt,graph;function deX(bok,kat:integer):integer;begin  deX:=round(bok*cos(kat*pi/180));end;function deY(bok,kat:integer):integer;begin  deY:=round(bok*sin(kat*pi/180));end;procedure linia(x,y,bok,kat,kolor:integer);begin  setcolor(kolor);  moveto(x,y);  lineto(x+deX(bok,kat),y-deY(bok,kat))end;var	kat,  bok,  x,y,  dx,dy:integer;var d,m:integer;begin  d:=detect;  initgraph(d,m,'');  x:=0;  y:=0;	bok:=40;  dx:=1;  dy:=1;  kat:=0;  repeat  	linia(x,y,bok,kat,10);  	linia(640-x,y,bok,kat,11);  	linia(x,480-y,bok,kat,12);  	linia(640-x,480-y,bok,kat,13);    delay(10);{    linia(x,y,bok,kat,0);    linia(640-x,y,bok,kat,0);    linia(x,480-y,bok,kat,0);    linia(640-x,480-y,bok,kat,0);}    kat:=kat+3;    x:=x+dx;    y:=y+dy;    if kat >= 360 then kat:=0;    if (x > (640-bok)) or (x < 0) then dx:=-dx;    if (y > (480-bok)) or (y < 0) then dy:=-dy;  until keypressed;  closegraph;end.
Zobacz tutaj