Proceduri și funcții ca parametri

Procedura q are doi parametri: parametrul-funcția s și valoarea-parametru b.

Aici parametrul formal f este o funcție a unui argument întreg, rezultatul f este real.







Dacă se numește o procedură (funcție) care are un parametru de procedură (funcție), atunci parametrul actual corespunzător trebuie să se potrivească cu tipul de rezultat cu o procedură formală (funcție). Programatorul trebuie să monitorizeze cu atenție coincidența tipurilor de rezultate. În cazul încălcării acestei reguli, nu sunt emise diagnosticări și programul nu funcționează corect. Să ne explicăm cu un exemplu.

Procedura q (funcția f (i: integer): reală) poate fi accesată după cum urmează: q (sinus (k)); unde sinusul (k) este păcat (k). Dacă k este de tip întreg. apoi sinusul (k) este real. Acesta este același lucru cu i și f în antetul q. Cu toate acestea, nu se poate întoarce la q cu funcția abs (k), și anume q (abs (k)); în acest caz, tipul parametrului formal este f-real. și tipul absului efectiv (k) este întreg. și anume Parametrii oficiali și actuali nu se potrivesc după tip.







Sarcina. Creați o procedură pentru emiterea unui tabel al unei funcții reale arbitrare. Procedura trebuie să aibă următorii parametri formali: funcția reală, limita inferioară a documentului, pas cu argument.

Expresia trunc ((sus - jos) / pas) dă numărul de puncte la care se execută funcția f (când se numerotează de la 0).

Dacă apelați funcția filelor cu un operator

atunci tabelul funcției sin x va fi tipărit pentru x de la 0 la 6.4 în pași de 0,33. Algoritmii utilizați cel mai ades de utilizatori diferiți sunt formați sub formă de proceduri și funcții și constituie o bibliotecă de programe standard (module).

Atunci când se utilizează parametri-proceduri și parametri-funcții, trebuie să țineți cont de posibilele complicații.

  1. Erori permise de către programator în procedurile care au parametrii de procedură și parametrii funcției pot fi uneori dificil de găsit, ceea ce duce la o depanare îndelungată a unor astfel de proceduri.
  2. Dacă numărul și tipul parametrilor funcției parametrice formale nu coincid cu numărul sau tipul parametrilor funcției parametru efectiv corespunzător, atunci un astfel de program nu poate fi executat în mod corespunzător și multe versiuni ale traducătorilor Pascal nu oferă niciun diagnostic în acest caz.
  3. Regulile Pascal solicită ca parametrii actuali ai funcției să conțină numai parametri de valoare. Acest lucru impune limitări grave în ceea ce privește utilizarea parametrilor-proceduri și parametrii-funcții.






Articole similare

Trimiteți-le prietenilor: