C04-Programarea in Mathcad e

download C04-Programarea in Mathcad e

of 20

Transcript of C04-Programarea in Mathcad e

PARTICULARITI ALE PROGRAMELOR MATHCAD

4. PROGRAMAREA N MATHCAD

METODE NUMERICE N INGINERIE

EDITAREA PROGRAMELOR MATHCAD

INSTRUCIUNI

SUBPROGRAME I RECURSIVITATE

DEPANAREA PROGRAMELOR MATHCAD

MN

1TUDOR PAUNESCU

1. PARTICULARITI ALE PROGRAMELOR MATHCADProgramarea n Mathcad 14 se bazeaz pe zece instruciuni, care aparent au o funcionalitate relativ limitat, dac se compar cu posibilitile de programare existente n alte medii matematice care au cam aceeai complexitate global, i mult mai limitat, n comparaie cu a mediilor generale de programare. n realitate, cu setul de zece instruciuni, la care se adaug numeroasele funcii disponibile n biblioteca Mathcad i cu i structurile de mare eficien cum ar fi matricele imbricate, se pot elabora programe sofisticate. Instruciunile de programare pot fi apelate prin intermediul paletei Programming, sau prin meniul View Toolbars Programming. 1. Un program Mathcad este format din dou structuri:

- o parte, care este identic cu cea a unei funcii, plasat la stnga operatorului de asignare numeric;- o parte, situat n dreapta operatorului de asignare, unde se efectueaz operaii specifice.

Nume program Corp program Lista parametrilor formali Apelare program

2Lista parametrilor actuali

2. Un program Mathcad poate apela orice funcie predefinit n Mathcad, sau creat de utilizator, variabile definite de utilizator, alte programe, cu respectarea condiiilor de vizibilitate valabile ntr-o foaie de lucru.Exemplu.

Programul minf calculeaz minimum unei funcii monovariabile pe un intervaldat prin explorare n pai. Precizia determinrii este dependent de numrul de pai n care este parcurs intervalul. Varianta 1. Functia f(x) definit de utilizator este utilizat direct n corpul programului minf. Varianta 2. Functia f(x) este utilizat ca parametru actual la apelarea programului minf. Varianta 2 are generalitate mai mare dect var.1. PP1. Scriei un program care s calculeze minimum sau maximum ntr-un bivariabile unei funcii inteval dat pe x i y.

varianta1

Vezi i solutia exact n fiierul min functie iterativ1.xmcd

varianta2

3

3. Instruciunile de programare se introduc doar prin intermediul paletei Programming, sau prin hot keys, nu prin scrierea lor caracter cu caracter. 5. Ca orice expresie, un program Mathcad returneaz o valoare de natur scalar, vectorial, matriceal, matriceal imbricat sau string. Aceasta este, in general, returnat de ultima instruciune executat de program. Sunt posibile mai multe ieiri din program, prin ntreruperea programului, cu instruciunea return. 6. O variabil definit ntr-un program este local programului, deci nu este vizibil in exteriorul corpului acestuia.

?De exemplu n programul de mai sus dac se scrie xo i se apas pe tasta = Mathcad nu introduce simbolul de evaluare =, ci pe cel de atribuire :=, deoarece l consider pe xo nedefinit. 7. n programele Mathcad poate fi aplicat recursivitatea. 4

8. ntr-un program Mathcad 14 se poate defini o funcie n corpul programului (S). Exemplu: Etape a.atribuire

b.

c.

d.

9. Nu este posibil utilizarea VPA, n afar de cazul instruciunii FOR

5

2. EDITAREA PROGRAMELOR MATHCAD Liniile programului: - operatorul de adugare a unei linii la corpul programului Mathcad este - pe fiecare linie se scrie doar o instruciune; - tergerea unei linii selectate, se efectueaz cu tastele [Bksp], [Delete]; - asupra liniilor unui program se pot efectua operaii de tergere (delete), tiere (cut), copiere (copy), lipiere (paste); Atribuirea operatorul de asignare (atribuire) se poate utiliza doar in corpul unui program Mathcad. Acesta se insereaza din paleta Programming, tasta [ { ]; - operatorul de definire :=, nu poate fi utilizat n corpul unui program Mathcad. 6 sau cu sau tasta [ ] ] ;

Utilizarea unui program, definit ntr-o foaie de lucru se face respectnd regulile de vizibilitate. Se scrie numele programului, urmat de lista parametrilor actuali, ntre paranteze rotunde, folosind ca separatori virgulele. Dup cum se tie, exist o coresponden poziional

strict ntre parametri actuali i cei formali.3. INSTRUCIUNI

3.1. Instruciunea condiional (IF) Inserare Instruciunea IF din paleta Programming, sau tasta [ } ] Sintaxa forma simplificat: valoarea dorit daca condiia este adevarat forma complet: valoarea dorit daca condiia este adevarat IF condiia (expresia boolean) OTHERWISE 7 valoarea dorit daca condiia nu este adevarat IF condiia (expresia boolean)

3.2. Instruciuni repetitive (FOR, While) 3.2.1. Instruciunea FOR

Inserare Instruciunea FOR din paleta Programming, sau combinaia de taste [Ctrl]+["]. Sintaxa

Contorul este uzual o VPA (variabil range):FOR nume indice valoare initiala a indicelui, a doua valoare .. valoare final expresia care se evalueaz repetat Se utilizeaz mai rar i alte contoare: FOR nume indice vector sau list scalari sau list de VPA sau list de vectori expresia care se evalueaz repetat Observaii Instruciunea FOR se utilizeaz cnd este cunoscut numrul de cicluri. Dac contorul este o VPA, acesta se insereaz cu operatorul m..n, din paleta Calculator, sau cu tasta [ ; ] 8

3.2.2. Instruciunea WHILE Inserare

Instruciunea WHILE din paleta Programming sau [Ctrl]+]

Sintaxa WHILE condiie (expresie boolean)

expresia care se evalueaz repetat, dac condiia este satisfacutObservaii Instruciunea WHILE se utilizeaz uzual dac nu se cunoate numrul de cicluri, ieirea din calculele repetitive fcndu-se cnd nu mai este ndeplinit condiia. Aceasta trebuie s se refere la o variabil, expresie care se modific n corpul ciclului. Dac iniial condiia nu este satisfcut expresia nu este evaluat 9 niciodat, deoarece WHILE este o instruciune repetitiv cu test iniial.

FOR

versus

WHILE

Ciclu cu numr determinat de pai. Test final numr de pai dac i