Tytu³: Procedury - Wiadomo¶æ wys³ana przez: admin Grudzieñ 19, 2011, 08:46:31 Procedura
Procedura jest pewnym zamkniêtym fragmentem kodu, który ma swoj± nazwê i mo¿e mieæ swoje w³asne zmienne. Procedura mo¿e byæ porównana do krótkiego podprogramu którego kod zosta³ umieszczony w programie g³ównym. Procedury deklaruje siê jeszcze tu¿ przed g³ównym programem , czyli przed s³owem begin za deklaracj± zmiennych. Procedura jest deklarowana w nastêpuj±cy sposób: Procedure Adam; Begin { Tre¶æ procedury } End; Od tej chwili w programie istnieje procedura o nazwie Adam. Tytu³: Odp: Procedury - Wiadomo¶æ wys³ana przez: admin Grudzieñ 19, 2011, 08:49:43 Zadanie 1 . Przyk³ad deklarowania i wywo³ania procedury w programie.
program misio; uses crt,dos; procedure adam; begin end; var x,y: integer; begin write('Za chwile wywolam procedure Adam'); adam; readkey end. Tytu³: Odp: Procedury - Wiadomo¶æ wys³ana przez: admin Grudzieñ 19, 2011, 08:51:21 Zadanie 2. Wykorzystuj±c 4 procedury rozmie¶ciæ w czterech rogach ekranu napis "Witaj szko³o". Dziêki czterem procedurom w programie g³ównym, wywo³ywane s± tylko procedury .
program ryr; uses crt,dos; var x,y,z:integer; procedure misio; begin gotoxy(1,1); textcolor(green);write(' Witaj w szkole'); end; procedure rysio; begin textcolor(yellow);gotoxy(65,1); write('Witaj szkolo'); end; procedure zdzisio; begin textcolor(lightgreen);gotoxy(65,21); write('Witaj szkolo'); end; procedure pysio; begin textcolor(9);gotoxy(1,21); write('Witaj szkolo'); end; begin textbackground(white); clrscr; misio; rysio;zdzisio;pysio; readkey; end. Tytu³: Odp: Procedury - Wiadomo¶æ wys³ana przez: admin Grudzieñ 19, 2011, 08:59:01 Generowanie d¼wiêku.
W Pascalu istnieje polecenie umo¿liwiaj±ce przekazanie d¼wiêku do g³o¶niczka systemowego. Polecenie sound(x); generuje d¼wiêk o czêstotliwo¶ci x Hz. Np u¿ycie w programie polecenia sound(1000); spowoduje wytworzenie d¼wiêku o czêstotliwo¶ci 1000Hz. Przerwanie wytwarzania d¼wiêku umo¿liwia polecenie nosound; Je¿eli chcemy aby d¼wiêk trwa³ np. jedn± sekundê wystarczy wstawiæ polecenie zatrzymania delay(1000); pomiêdzy w³±czenie d¼wieku (sound(x)) i jego wy³±czenie (nosound;). program alba; uses crt,dos; var a,b: char; begin repeat a:=readkey; sound(1000); delay(1000); nosound; until a='q'; end. --------------------------------- Przyk³ad wykorzystania ------------------------ program alba; uses crt,dos; var a,b: char; begin clrscr; repeat a:=readkey; case a of 'a':begin sound(1000);delay(300);nosound;end; 's':begin sound(1100);delay(300);nosound;end; 'd':begin sound(1200);delay(300);nosound;end; 'f':begin sound(1300);delay(300);nosound;end; 'g':begin sound(1400);delay(300);nosound;end; 'h':begin sound(1500);delay(300);nosound;end; 'j':begin sound(1600);delay(300);nosound;end; 'k':begin sound(1700);delay(300);nosound;end else begin end; end; until a='q'; end. Tytu³: Odp: Procedury - Wiadomo¶æ wys³ana przez: admin Grudzieñ 19, 2011, 10:29:04 Choinka bez procedur (tzw. masakra)
program alba; uses crt,dos; var a,b: char; x,y:integer; begin textcolor(green);textbackground(white); clrscr; for x:=0 to 5 do begin for y:=0 to x do begin gotoxy(20+y,x+5);write('*'); gotoxy(20-y,x+5);write('*'); end; end; for x:=0 to 5 do begin for y:=0 to x+1 do begin gotoxy(20+y,x+10);write('*'); gotoxy(20-y,x+10);write('*'); end; end; for x:=0 to 5 do begin for y:=0 to x+2 do begin gotoxy(20+y,x+15);write('*'); gotoxy(20-y,x+15);write('*'); end; end; readkey; end. ------------------------------------------------- A teraz z procedur± ------------------------- program alba; uses crt,dos; var a,b: char; x,y,z,c:integer; procedure choi; begin for x:=0 to z do begin for y:=0 to x do begin gotoxy(20+y,x+c);write('*'); gotoxy(20-y,x+c);write('*'); end; end; end; begin textcolor(green);textbackground(white); clrscr; c:=5; z:=5;choi; z:=6;c:=10; choi; z:=7;c:=15; choi; readkey; end. ------------------------------------- Choinka z mrugaj±cymi ¶wiate³kami ---------------- program alba; uses crt,dos; var a,b: char; x,y,z,c,d:integer; procedure choi; begin for x:=0 to z do begin for y:=0 to x do begin d:=random(10); gotoxy(20+y,x+c); if((y+x) mod 3=0) then begin textcolor(d);write('*');end else begin textcolor(green);write('*'); end; gotoxy(20-y,x+c); if((y+x) mod 3=0) then begin textcolor(d);write('*');end else begin textcolor(green);write('*'); end; end; end; end; begin textcolor(green);textbackground(white); clrscr; randomize; repeat c:=5; z:=5;choi; z:=6;c:=10; choi; z:=7;c:=15; choi; until keypressed; readkey; end. Tytu³: Odp: Procedury - Wiadomo¶æ wys³ana przez: admin Styczeñ 02, 2012, 10:26:17 Zadanie napisaæ program który wy¶wietli ¿yczenia noworoczne przemieszczaj±ce siê po ekranie.
program Michal; uses crt,dos; var x,a,b,aa,bb:byte; procedure bobo; begin clrscr; x:=x+1;x:=(x mod 15); textcolor(yellow); gotoxy(a,b); write('Witaj w Nowym roku - 2012 '); delay(40); end; procedure smigacz; begin repeat a:=a+aa;b:=b+bb; if((a<2) OR (a>60)) then aa:=-aa; if((b<2) OR (b>20)) then bb:=-bb; bobo; until keypressed; end; begin aa:=1;bb:=1; a:=20;b:=10; x:=1; smigacz; end. Tytu³: Odp: Procedury - Wiadomo¶æ wys³ana przez: admin Styczeñ 09, 2012, 13:06:35 Zadanie do wyja¶nienia, dlaczego usuniêcie nawiasów klamrowych zmienia dzia³anie programu
program misi_pysio; uses crt,dos; var i:byte; procedure wzorek; {var i:integer; } begin for i:=1 to 20 do write(i:3); writeln; end; begin clrscr; for i:=1to 20 do wzorek; readkey; end. |