Darmowe Forum
Kwiecień 25, 2024, 13:50:13 *
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 8354 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

tybria unihokej rr214 sakusei castlecraft