Darmowe Forum

Turbo Pascal => Turbo Pascal semestr I => W±tek zaczêty przez: admin Grudzieñ 19, 2011, 08:46:31



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.


Polityka cookies
Darmowe Fora | Darmowe Forum

zlotasiodemka shaggydogss articz mylittlepony proskills