Jump to content

[PASCAL] Informatică Clasa a X-a - Capitolul #1 (Subprograme) - Lecţia 1.2.2


Leventhe
 Share

Recommended Posts

1.2.2. Un exemplu de utilizare a procedurilor

Problema 1.2. Se citeste n, numar natural. Se citeste un vector cu n componente numere reale. Se cere sa se tipareasca vectorul sortat.

 

Rezolvare. Programul este urmatorul:

type vector=array [1..9] of integer;
var n,i:integer;
    v:vector;
procedure citesc;
begin
 write('n='); readln(n);
 for i:=1 to n do
   begin
    write('v[',i,']='); readln(v[i]);
   end;
end;

procedure tiparesc;
begin
 for i:=1 to n do writeln(v[i]);
end;

procedure sortez;
var gasit:boolean;
    man:integer;
begin
 repeat
  gasit:=false;
  for i:=1 to n-1 do
   if v[i]>v[i+1]
     then
      begin
       gasit:=true;
       man:=v[i]; v[i]:=v[i+1]; v[i+1:=man;
      end;
 untill not gasit;
end;
begin
 citesc;
 sortez;
 tiparesc;
end.

Programul contine trei proceduri: citesc, sortez si tiparesc. Forma simplificata prin care este descrisa o procedura este:

procedure nume;
begin
.....
end;

Apelul unei proceduri se face prin utilizarea numelui ei, sub forma "nume;". Mai precis, apelul unei proceduri este instructiune, numita instructiunea de apel.

 

La apel, controlul programului este transferat la prima instructiune a procedurii - dupa cum se intampla si la functii. Dupa executarea procedurii, se revine in programul principal la prima instructiune care urmeaza celei de apel - in cazul de fata se intalneste o alta instructiune de apel.

 

Ca si functiile, procedurile se pot plasa in cadrul programului intre declaratiile de variabile si instructiunea compusa.

 

Orice variabila a programului principal este si variabila a procedurii (invers nu este adevarat).

 

In acest exemplu, procedurile sunt apelate fara utilizarea parametrilor. In realitate, procedurile pot avea parametri intocmai ca si functiile.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.