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

film valiance unihokej bornfost 1bs