13.07.2015 Views

Nr. 64 - Pro Didactica

Nr. 64 - Pro Didactica

Nr. 64 - Pro Didactica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!