Se poate trece la capitolul următor cu tasta ► și se poate reveni la un capitol precedent cu tasta ◄

Funcții și proceduri


<

C
a
p
i
t
o
l
u
l

a
n
t
e
r
i
o
r

<

Importanța subprogramelor

Un alt lucru ce ne interesează când avem de-a face cu un limbaj de programare este modul în care putem defini funcții și, în anumite limbaje, proceduri.

Procedurile sunt o formă specială de funcții, diferența fiind dată de faptul că o procedură nu întoarce nimic la sfârșitul execuției sale. Altfel spus, o procedură este o funcție ce returnează o valoarea nulă.

Partea bună este că majoritatea limbajelor de programare oferă posibilitatea de a lucra cu funcții. De altfel dacă nu am avea această posibilitatea, întreaga programare ar sta în loc. Imaginează-ți doar să dorești să cauți o valoarea într-un șir de numere, și că trebuie să scrii codul de căutare pentru 10 șiruri diferite. Nu e deloc eficient să tot copiezi de 10 ori același cod.

Așadar când învățăm un limbaj nou trebuie să avem în vedere și cum putem crea funcții. De asemenea, când creăm un program trebuie să ne gândim ce parte poate fi scrisă ca funcție, astfel reducând timpul de lucru cât și timpul necesar depanării lui.

Alte avantaje ale subprogramelor

Posibilitatea de a scrie rezolvări la unele probleme simple ajută întreaga lume dacă soluțiile sunt făcute publice. O funcție care sortează orice șiruri de numere va fi de mare folos dacă avem nevoie de așa ceva în program. În primul rând o putem lua gata scrisă și doar o vom copia în codul sursă. Nu va trebui să ne construim propriul algoritm și nu vom mai pierde timpul scriindu-l.

Dezavantaje ale subprogramelor

Marele dezavantaj constă în faptul că o funcție este scrisă într-un anumit limbaj. Dacă noi scriem o aplicație C și funcția care ne interesează a fost scrisă de altcineva în BASIC atunci trebuie să o rescriem în C, asta dacă înțelegem cum funcționează.

Funcții predefinite

Majoritatea limbajelor oferă o multitudine de funcții (de tipuri de date și de structuri) ce vin odată cu mediul de programare. Operații ca ridicarea la putere, conversii între tipuri de date diferite (ca de exemplu conversia dintre o dată și un șir de caractere), funcții de alocare de spațiu pentru un pointer, de eliberare, funcții care accesează fișiere locale, care tipăresc și citesc de la tastatură, din baze de date sau funcții prin care ne putem conecta la un alt calculator și putem comunica cu el.

Operații ca acestea le găsim în majoritatea limbajelor de programare, însă unele limbaje oferă facilități față de altele. Adică în unele limbaje e mai ușor să scriem în baze de date decât în altele, de exemplu.

E bine să știm ce putem face cu majoritatea limbajelor de programare astfel că în momentul în care ni se cere, de exemplu, să facem o aplicație care să comunice cu altă aplicație pe un alt calculator via TCP, să nu ne speriem. Știm că majoritatea limbajelor ne oferă metode de a face acest lucru.

De asemenea e bine să știm și care limbaj anume o face cel mai eficient.


>

C
a
p
i
t
o
l
u
l

u
r
m
ă
t
o
r

>

Ți-a fost de ajutor ce am scris aici?
Hei, mersi de răspuns.