Jump to content

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


Leventhe
 Share

Recommended Posts

1.2.1. Un exemplu de utilizare a functiilor

Problema 1.1. Se citeste n, un numar natural. Sa se scrie programele care afiseaza valoarea calculata a expresiilor:

 

ywLahk6.png

 

Rezolvare. Functia care calculeaza E1 este:

function subp(n:integer):real;

var s:real;
      i:integer;

begin
  s:=0;
 for i:=1 to n do s:=s+1/i;
 subp:=s;
end;

Analiza programului anterior:

  • Antetul functiei este "function subp(n:integer):real;".
  • Functia se numeste "subp".
  • Ea este recunoscuta de compilator prin faptul ca antetul este precedat de cuvantul cheie "function".
  • Functia are un parametru numit n. Rolul sau este important si anume precizeaza pentru ce valoare trebuie calculata expresia. Asa cum vom vedea, exista posibilitatea sa avem mai multi parametri, de diferite tipuri.
  • Functia are un anumit tip, care precizeaza natura rezultatului. In exemplu, tipul este real intrucat expresia calcaulata este de acest tip.
  • Functia are variabile proprii - adica variabile care sunt definite in cadrul ei. In exemplu, ele sunt s si i. Aceste variabile se numesc variabile locale.
  • Am vazut ca functia intoarce un anumit rezultat - in exemplu, de tip real. Observati mecanismul prin care am obtinut aceasta. Calculez expresia in mod obisnuit. Rezultatul este retinut de variabila locala s. Prin atribuirea "subp=s;", functia a primit ca valoare de retur continutul variabilei s.

 

In continuare, prezentam cele doua programe care utilizeaza functia:

var n:integer;
function subp(n:integer):real;
var s:real;
    i:integer;
begin
 s:=0;
 for i:=1 to n do s:=s+1/i;
 subp:=s;
end;
begin
 write ('n='); readln(n);
 rez:=subp(n);
 prod:=1;
 for i:=1 to n do prod:=prod*rez;
 write(prod:5:2);
end.

Functia este apelata intotdeauna din cadrul unei expresii.

 

Apelul functiei in primul program s-a realizat astfel: "write(subp(n):5:2);", iar in al doilea, "rez:=subp(n)". In primul caz, expresia este trecuta ca parametru pentru write, iar in al doilea, avem o expresie de atribuire.

 

In terminologia utilizata in teoria subprogramelor - in particulat, in cazul functiilor - se utilizeaza termenii parametri formali si parametri efectivi.

 

Definitia 1.2. Parametrii care se gasesc in antetul functie se numesc parametri formali.

 

Definitia 1.3. Parametrii care se utilizeaza la apel se numesc parametri efectivi.

 

La apel, lucrurile stau altfel: valorile acestora sunt cunoscute. Prin urmare acestia se numesc parametri efectivi.

 

Acesta a fost lectia noastra, ne vedem data viitoare cand va voi prezenta un exemplu de utilizare a procedurilor. Astept PM cu orice problema de informatica, limbajul Pascal, pentru, clasa a IX-a si a X-a. Mai sus de clasa a X-a nu va pot ajuta, deoarece in momentul actual sunt in clasa a X-a si nu cunosc materia de clasa a XI-a si mai sus. Voi continua cu clasa a IX-a dupa ce voi termina cu clasa a X-a.

Edited by Blaze
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.