Sunteți pe pagina 1din 9

4.

PROCEDURI

MAPLE permite modul de programare bazat pe utilizarea procedurilor. Procedura reprezint un grup finit de instruciuni, variabile i constante avnd un scop bine precizat. Cu ajutorul procedurilor, un utilizator i poate defini propriile sale funcii. Procedura n MAPLE are urmtoarea sintax: Sintaxa:
nume := proc ( secvena1 ) [ local secvena2 ;] [ options secvena3 ;] instruciuni end ; Argument: secvena1 - secven de simboluri separate prin virgul.

Parantezele drepte [ ] simbolizeaz caracterul opional al coninutului pe care l includ. Secvena2 se refer la variabilele locale utilizate n procedur, precizate sub form de simboluri separate prin virgule. 2

se refer la opiunile folosite n procedur i care sunt separate prin virgule.


Secvena3

De fiecare dat cnd o procedur este apelat, parametrii si formali sunt nlocuii prin parametrii actuali i este returnat valoarea mediei calculate a acestora. O procedur returneaz, n general, ultima valoare calculat. Dac se urmrete o valoare returnat explicit, atunci se utilizeaz funcia predefinit RETURN. n procedura urmtoare funciei RETURN i se asociaz un mesaj privind existena ntr-o list de numere naturale a cel puin unui numr prim; 3 altfel, procedura returneaz un mesaj privind inexistena acestora.

Variabilele care apar ntr-o procedur i care nu sunt parametrii sau variabile locale sunt variabile globale recunoscute n ntregul program. Pentru generarea unui mesaj de eroare ntr-o procedur se poate folosi funcia predefinit ERROR, avnd ca argument mesajul respectiv. Procedura inversa, pornind de la o mulime de numere, construiete o alt mulime, ale crei elemente sunt inversele elementelor primei mulimi. Dac prima mulime conine elementul neinversabil zero, atunci 4

procedura se ntrerupe, dnd un mesaj de eroare.

MAPLE accept procedurile imbricate (procedur n procedur). Procedura cmmmc calculeaz c.m.m.m.c. a dou numere naturale a i b cu formula: c.m.m.m.c.(a, b) = a * b / c.m.m.d.c.(a, b). Pentru calculul c.m.m.d.c.(a, b) se folosete algoritmul lui Euclid n procedura interioar cmmdc.

Procedura poate returna mai mult de o singur valoare dac se utilizeaz o structur de date: secvena, lista, vectorul. O alt modalitate este returnarea valorilor prin parametrii specificai.

n cazul implementrii relaiilor recursive sub form de proceduri, procedurile respective sunt de tip recursiv. Procedura P calculeaz, n mod recursiv, puterea de ordin n a unui numr natural x. Se constat c aceast modalitate nu este cea mai eficient ntruct apeluri cu aceleai argumente se repet de mai multe ori. Ca o consecin, se observ pentru valori mari ale lui n, sistemul returneaz un mesaj de eroare, privind depirea capacitii de memorare.

Pentru a preveni astfel de situaii se recomand utilizarea n construirea procedurii a opiunii remember. Ea are rolul de a stoca valorile calculate anterior i care sunt astfel folosite n calculele ulterioare.

S-ar putea să vă placă și