Postat de: Carmen Anton | 09/10/2014

Subprograme

SUBPROGRAME 

Toate problemele se pot descompune în subprobleme, care devin module subordonate, unele repetându-se de un număr de ori, altele executându-se numai în funcţie de anumite condiţii. Subprogramele se clasifică în funcţie de originea lor în: subprograme standard (predefinite în biblioteci ale limbajului de programare) şi nestandard sau create de utilizator, care trebuie declarate şi definite de către acesta.

  1. Sintaxa declarării şi a definirilor de subprograme
  2. definirea antetului şi a blocului unui subprogram de tip funcţie este:

tip_rezultat  nume (lista parametrilor formali)

{ instrucţiuni }

  1. definirea antetului şi a blocului unui subprogram de tip procedură este:

void  nume (lista parametrilor formali)

{ instrucţiuni }

Unde :

tip_rezultat poate fi un tip standard, o adresă sau un tip definit anterior;

lista parametrilor formali  are sintaxa  tip1 p1, tip2 p2, ….. , tipn pn

unde tipi este un tip cunoscut anterior iar pi poate fi un identificator de variabilă sau specificare de adresă.

Dacă subprogramul nu are parametri  atunci apar numai parantezele rotunde sau cuvantul void. (parantezele sunt obligatorii şi la definire şi la apel chiar dacă nu există parametri).

Observaţii :

–           Blocul subprogramului apare între acolade, imediat după antet.

–           În interiorul blocului  pot fi definite variabile interne de lucru.

–           Nu se pot defini în interior şi alte subprograme

Dacă subprogramul trebuie să returneze o valoare calculată în cadrul lui atunci se va utiliza instrucţiunea return cu sintaxa:

return expresie;                      

şi care calculează valoarea expresiei şi o returnează modulului care a apelat funcţia.

Dacă această instrucţiune lipseşte sau dacă tipul rezultatului expresiei nu coincide cu tipul funcţiei se va produce un mesaj de eroare din partea compilatorului sub formă de WARNING.

Instrucţiunea return se poate amplasa oriunde în cadrul blocului, acolo unde logica funcţionarii decide reîntoarcerea în modulul care apelează funcţia.

 

Ex: Să se scrie o funcţie care verifică dacă un număr e prim sau nu.

unsigned prim(int x)

{ int i,s; s=0; for(i=2;i<=x/2;i++)     if((x%i)==0) s=1; if (x==1) s=1; return s; }

 

Lista de probleme:

SUBPROGRAME

E_Info_intensiv_subIII

Secvente:

1 exercitii subprograme

1 probleme subprograme

2 exercitii subprograme

3 exercitii subprograme


Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s

Categorii

%d blogeri au apreciat asta: