Sunteți pe pagina 1din 16

Programarea Calculatoarelor 1 - Algoritmi

L1: Operații simple cu valori scalare


Enunțul problemei
Să se realizeze un Instrument Virtual (VI) care să afișeze rădăcinile unei ecuații de
gradul al II-lea (cu coeficienții a, b și c specificați de către utilizator) și să semnalizeze
dacă rădăcinile respective sunt reale sau nu.

Exemplu de panou

Fig. 1.1. Exemplu de panou

Descrierea funcționării instrumentului virtual


Utilizatorul va avea la dispoziție trei elemente de control numerice de tipul Horizontal
Pointer Slide pentru a specifica valorile celor trei coeficienți ai ecuației de gradul al II-
lea a, b, și c. Coeficienții a, b și c pot lua valori, numere întregi, cuprinse în intervalul [-
10, 10].
Elementele indicatoare de tipul Horizontal Pointer Slide vor avea display-urile digitale
vizibile.
Instrumental virtual va afișa valorile numerice, reprezentând soluțiile ecuației, prin
intermediul elementelor indicatoare numerice X1 și X2.
Instrumentul virtual semnalizează prin aprinderea unui elment indicator boolean de tip
Round LED de culoare roșie dacă ecuația de gradul al II-lea nu are soluții reale și va
afișa în elementele indicatoare denumite X1 și X2 textul „NaN”. Elementul indicator
boolean Round LED va avea culoarea verde dacă ecuația are soluții reale.

Indicații privind proiectarea interfeței cu utilizatorul


Lansarea mediul de programare grafică LabVIEW se realizează astfel: START 
Programs  National Instruments LabVIEW … (figura 1.2).

4
Programarea Calculatoarelor 1 - Algoritmi

Fig. 1.2. Lansarea mediului de programare grafică LabView

După lansarea mediului de programare LabVIEW, pentru a deschide un nou Instrument


Virtual (un nou program), din fereastra Getting Started se selectează NewBlank VI.
(figura 1.3).

Fig. 1.3. Fereastra Getting Started

La deschiderea unui nou Instrument Virtual, se deschid cele două ferestre, panoul
frontal (fereastra cu fundal gri) și diagrama (fereastra cu fundal alb) (figura 1.4).

5
Programarea Calculatoarelor 1 - Algoritmi

Fig. 1.4. Ferestrele aplicației LabView

Panoul frontal reprezintă interfața cu utilizatorul în care se vor defini toate elementele de
intrare și ieșire ale aplicației. Pentru a specifica valorile coeficienților ecuației de gradul
al II-lea a, b și c, pe panoul frontal al aplicaţiei, se dispun trei elemente de control, de
tipul numeric, de tipul Horizontal Pointer Slide (click dreapta mouse în panoul frontal
din paleta de elemente de control se selectează meniul Modern  submeniul
Numeric  Numeric control  Horizontal Pointer Slide) (figura 1.5). Ținând buton
mouse apăsat pe elementul Horizontal Pointer Slide, se deplasează elementul
selectat într-o zonă disponibilă de pe panoul frontal și apoi se eliberează butonul
mouse-ului. Se redenumește elementul de control introdus în panou cu titlul „a” (click
mouse în eticheta elementului de control de tip numeric și de la tastatură se introduce
textul corespunzător).

Fig. 1.5. Dispunerea elementului de control numeric

6
Programarea Calculatoarelor 1 - Algoritmi

Pentru coeficienții b și c, se va copia de două ori elementul Horizontal Pointer Slide


introdus în panou (se selectează elementul Horizontal Pointer Slide și ținând simultan
apăsat buton stânga mouse și tasta CTRL, se deplasează elementul într-o zonă liberă
de pe panoul frontal) și se redenumește în etichetă „b” respectiv „c” (figura 1.6).

Fig. 1.6. Dispunerea elementelor de control numerice

Pentru ca datele de intrare introduse de utilizator, reprezentând coeficienții a, b și c, să


ia valori, numere întregi, se selectează din meniul contextual al elementelor Horizontal
Pointer Slide opțiunea Representation  I8 (Byte) (figura 1.7).

Fig. 1.7. Reprezentarea valorilor numerice

7
Programarea Calculatoarelor 1 - Algoritmi

Pentru ca valorile numerice să fie cuprinse în intervalul [-10, 10], se selectează din
meniul contextual al elementelor Horizontal Pointer Slide opțiunea Data Entry, apoi se
debifează opțiunea Use Default Limits din fereastra care se deschide și se
completează valorile Maximum, Minimum și Increment conform figurii de mai jos.

Fig. 1.8. Configurarea elementelor de control numerice

Utilizatorul poate specifica valorile numerice ale coeficienților a, b și c, direct de la


tastatură, prin intermediul display-urilor digitale ale celor trei elemente de tipul
Horizontal Pointer Slide. Pentru ca display-urile digitale să fie vizibile, din meniul
contextual al elementelor, se selectează Visible Items și din submeniul care se
deschide, se bifează opțiunea Digital Display (figura 1.9).

Fig. 1.9. Afișarea display-urilor digitale

Pentru datele de ieșire numerice, reprezentând soluțiile ecuației X1 și X2, se dispun în


panoul frontal al aplicației două elemente indicatoare numerice care se denumesc în

8
Programarea Calculatoarelor 1 - Algoritmi

eticheta Label „X1” respectiv „ X2” (click dreapta mouse în panoul frontal din paleta
de elemente de control se selectează meniul Modern  submeniul Numeric 
Numeric indicator) (figura 1.10).

Fig. 1.10. Dispunerea elementelor indicatoare numerice

Pentru valoarea de ieșire ce semnifică existenta rădăcinilor reale, se dispune în panoul


frontal al aplicației un element indicator boleean de tipul Round LED (click dreapta
mouse în panoul frontal din paleta de elemente de control se selectează meniul
Modern  submeniul Boolean  Round Led) (figura 1.11).

Fig. 1.11. Dispunerea elementului indicator boolean

Panoul aplicației pentru rezolvarea unei ecuații de gradul al II-lea va arăta ca în figura
de mai jos (figura 1.12).

9
Programarea Calculatoarelor 1 - Algoritmi

Fig. 1.12. Panoul frontal al aplicației

Indicații privind realizarea diagramei instrumentului virtual


Atunci când în panoul frontal se adaugă elemente de control și/sau elemente
indicatoare, în diagrama aplicației apar terminalele elementelor de control și ale
elementele indicatoare dispuse în panoul frontal (figura 1.13).

Fig 1.13. Terminalele elementelor

Pentru calculul rădăcinilor X1 și X2, în funcție de valorile coeficienților a, b și c, se


introduc în diagramă funcțiile aritmetice necesare și se definesc legăturile dintre
componentele din diagrama pentru a stabili astfel fluxul de date al programului. Se va
calcula, respectând ordinea operațiilor, valoarea lui Delta conform relației 1.1 și soluțiile
ecuației cu relația 1.2.
10
Programarea Calculatoarelor 1 - Algoritmi

(1.1)


(1.2)


(1.3)

Pentru a calcula valoarea lui Delta, se calculează mai întâi valoarea b2. Pentru aceasta
se introduce în diagramă funcția Multiplay (click dreapta mouse în diagramă, din
Paleta de funcții se selectează meniul Programing Numeric Multiplay) și se
efectuează legăturile corespunzătoare (figura 1.14)

Fig. 1.14. Introducerea funcției Multiplay în diagramă

Se calculează produsul dintre constanta numerică cu valoarea patru, valoarea


coeficientului a și valoarea coeficientului c cu ajutorul funcției Compound Arithmetic
(click dreapta mouse în diagramă, din Paleta de funcții se selectează meniul
Programing Numeric Compound Arithmetic) (figura 1.15).

11
Programarea Calculatoarelor 1 - Algoritmi

Fig. 1.15. Introducerea funcției Compound Arithmetic în diagramă

Implicit, funcția Compound Arithmetic are disponibile două terminale de intrare, ceea
ce ar permite calculul a două valori numerice. Pentru calculul a trei termeni, se
dimensionează funcția și Compound Arithmetic astfel încât aceasta să aibă trei
terminale de intrare. Pentru aceasta se deplasează cursorul mouse-lui pe laturile
orizontale ale funcției astfel încât acesta să ia forma  și se deplasează până când
funcția Compound Arithmetic va avea trei terminale de intrare (figura 1.16).

Fig. 1.16. Dimensionarea funcției Compound Arithmetic

Implicit, funcția Compound Arithmetic efectuează operația de adunare. Pentru a


schimba modul de operare al funcției, se selectează din meniul contextual al funcției,
opțiunea Change Mode și se bifează Multiplay (figura 1.17). Se efectuează legăturile

12
Programarea Calculatoarelor 1 - Algoritmi

corespunzătoare pentru a calcula produsul dintre constanta numerică cu valoarea patru,


valoarea coeficientului a și c.

Fig. 1.17. Configurarea funcției Compund Arithmetic

Se calculează valoarea lui Delta ca fiind diferența dintre valarea b2 și produsul 4ac
conform relației 1.1, cu funcția Subtract, disponibilă în Paleta de funcții, în meniul
Numeric (figura 1.18).

Fig. 1.18. Funcția Subtract

Dacă valoarea Delta va fi mai mare decât zero, ecuația de gradul al II-lea are soluții
reale. Se compară valoarea Delta cu valoarea zero prin intermediul funcției Grater or
Equat to 0?, disponibilă în paleta de funcții, în meniul Comparison (figura 1.19).
Instrumentul virtual va semnaliza prin aprinderea unui Round LED de culoare roșie
dacă ecuația de gradul al II-lea nu are soluții reale. Elementul indicator boolean Round
LED va avea culoarea verde dacă ecuația are soluții reale.

13
Programarea Calculatoarelor 1 - Algoritmi

Fig. 1.19. Funcția Grater Or Equal To 0?

Se calculează soluția X1 a ecuației de gradul al II-lea, conform relației 1.2, dispunând în


diagrama aplicației funcțiile: Negate (pentru a calcula valoarea –b), Sqare Root (pentru
a calcula valoarea radical din delta), Add (pentru calculul sumei dintre valoarea –b și
valoarea radical din delta), Multiply (pentru a calcula produsul dintre constanta
numerică cu valoarea doi și valoarea coeficientului a), Divide (pentru a calcula raportul
dintre suma dintre valoarea –b și valoarea radical din delta și produsul 2a). Se
efectuează legăturile corespunzătoare iar valoarea obținută la terminalul de ieșire al
funcției Divide se trimite la terminalul de intrare al elementului indicator numeric denumit
„X1” (figura 1.20).

Fig. 1.20. Calculul rădăcinii X1

Se calculează soluția X2 cu relația 1.3 folosind funcțiile: Negate (pentru a calcula


valoarea –b), Sqare Root (pentru a calcula valoarea radical din delta), Subtract (pentru
calculul diferenței dintre valoarea –b și valoarea radical din delta), Multiply (pentru a
14
Programarea Calculatoarelor 1 - Algoritmi

calcula produsul dintre constanta numerică cu valoarea doi și valoarea coeficientului a),
Divide (pentru a calcula raportul dintre suma dintre valoarea –b și valoarea radical din
delta și produsul 2a). Se efectuează legăturile corespunzătoare iar valoarea obținută la
terminalul de ieșire al funcției Divide se trimite la terminalul de intrare al elementului
indicator numeric denumit „X2”(figura 1.21).

Fig. 1.21. Calculul rădăcinii X2

Rularea aplicației
Pentru rularea aplicației, în panoul frontal, se specifică valorile coeficienților a b și c prin
intermediul elementelor de control numerice de tipul Horizontal Pointer Slide, fie de la
cursorul elementelor, fie introducând valori în display-ul digital al acestora.

Rularea cu Run (o singura execuție)


Din bara de butoane se apasă click buton stânga mouse pe primul buton (Run) pentru a
lansa în execuție programul figura 1.22).

15
Programarea Calculatoarelor 1 - Algoritmi

Fig. 1.22. Rularea aplicației

Rularea cu Running Continuously (execuție continuă)


Din bara de utilitare se apasă butonul Run Continuously pentru rularea continuă a
aplicației. În aceste condiții este posibilă urmărirea evoluției rezultatelor programului în
funcție de modificările datelor de intrare, modificări permise în acest mod de rulare
(figura 1.23).

Fig. 1.23. Rularea continuă a aplicației

Prin apăsarea butonului Abort Execution din bara de utilitare este oprită forțat rularea
continuă a aplicației (figura 1.24).

16
Programarea Calculatoarelor 1 - Algoritmi

Fig. 1.24. Oprirea forțată a rulării continue a aplicației

În fereastra diagramă a aplicației, la apăsarea butonului Highlight Execution din bara


de utilitare, este posibilă urmărirea fluxului de date al aplicației (figura 1.25).

Fig. 1.25. Fluxul de date al aplicației

17
Programarea Calculatoarelor 1 - Algoritmi

Oprirea temporară a rulării aplicației se poate realiza prin apăsarea butonului Pause din
bara de utilitare a panoului frontal sau din bara de utilitare a diagramei aplicației (figura
1.26).

Fig. 1.26. Oprirea temporară a rulării aplicației

18
Programarea Calculatoarelor 1 - Algoritmi

Salvarea aplicației
Salvarea aplicație se poate realiza din meniul File al panoului frontal sau al diagramei
selectând opțiunea Save … (salvează VI-ul curent) sau selectând Save as … (salvează
VI-ul curent sub alt nume) (figura 1.27).

Fig. 1.27. Salvarea aplicației

19

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