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.
|
|
« Ostatnia zmiana: Grudzień 19, 2011, 08:48:16 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
 |
« Odpowiedz #1 : 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.
|
|
|
Zapisane
|
|
|
|
admin
|
 |
« Odpowiedz #2 : 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.
|
|
« Ostatnia zmiana: Grudzień 19, 2011, 08:55:56 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
 |
« Odpowiedz #3 : 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.
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.
|
|
« Ostatnia zmiana: Grudzień 19, 2011, 09:33:50 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
 |
« Odpowiedz #4 : 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.
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.
|
|
« Ostatnia zmiana: Grudzień 19, 2011, 11:17:10 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
 |
« Odpowiedz #5 : 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.
|
|
|
Zapisane
|
|
|
|
admin
|
 |
« Odpowiedz #6 : 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.
|
|
« Ostatnia zmiana: Styczeń 09, 2012, 13:09:54 wysłane przez admin »
|
Zapisane
|
|
|
|
|