Darmowe Forum
Grudzieñ 06, 2024, 17:41:51 *
Witamy, Go¶æ. Zaloguj siê lub zarejestruj.
Czy dotar³ do Ciebie email aktywacyjny?

Zaloguj siê podaj±c nazwê u¿ytkownika, has³o i d³ugo¶æ sesji
Aktualno¶ci: Forum zosta³o uruchomione!
 
   Strona g³ówna   Pomoc Zaloguj siê Rejestracja  
Strony: [1]
  Drukuj  
Autor W±tek: Procedury -  (Przeczytany 8719 razy)
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« : 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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.


--------------------------------- 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.
« Ostatnia zmiana: Grudzieñ 19, 2011, 09:33:50 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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.

------------------------------------- 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.
« Ostatnia zmiana: Grudzieñ 19, 2011, 11:17:10 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

gang-nd zlotasiodemka shaggydogss spw mylittlepony