13.07.2015 Views

Nr. 64 - Pro Didactica

Nr. 64 - Pro Didactica

Nr. 64 - Pro Didactica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Ex Cathedrape treceri riguroase de la o stare la alta în succesiuneaobligatorie a evenimentelor în timp.Un algoritm (cuvîntul are la origine numele matematicianuluipersan Al-Khwarizmi) reprezintă o metodăsau o procedură de calcul alcătuită din paşii elementarinecesari pentru rezolvarea unei probleme sau categoriide probleme. De obicei, algoritmii se implementează înmod concret prin programarea adecvată a unui calculatorsau a mai multora. Şabloanele sînt o caracteristică a limbajuluide programare C++, care permit scrierea de codfără a lua în considerare tipul de date ce va fi utilizat.În limbajul C++, programarea generică poate firealizată prin intermediul template-ului. „Template-ul(sau clasa parametrizată) implementează conceptul detip parametrizat. O clasă parametrizată reprezintă unşablon (sau container) ce defineşte o mulţime de clase”[1, pag. 187].Funcţii templateFuncţiile template (şablon) sînt concepute pentru auşura scrierea funcţiilor cu algoritmi similari, deosebindu-sedoar prin tipul datelor prelucrate. O funcţie templateare în calitate de parametru formal tipul acesteia.Declararea unei funcţii template se realizează conformsintaxei:template [tip_returnat] nume_functie ([lista_parametri_formali]){//instructiuni}Pentru a apela o funcţie şablon, vom scrie:nume_functie< T1,T2,...,Tn>([lista_parametri_actuali]);unde template este cuvînt-cheie;T1,T2,...,Tn sînt o serie de tipuri abstracte.Şabloanele permit utilizarea unei funcţii pentru ogamă largă de tipuri. Drept exemplu se consideră <strong>Pro</strong>blema1, care prezintă o funcţie şablon pentru determinareaelementului maximal dintre două valori.<strong>Pro</strong>blema 1#includetemplate T max(T a,T b){if(a>b) return a; else return b;}int main(){cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!