Sunteți pe pagina 1din 4

Laborator 10: Utilizarea subVI-urilor

Enunțul problemei
Să se realizeze un instrument virtual LabVIEW care să determine primele N perechi de
numere prime p si q care îndeplinesc condiția q - p = 2. Numărul N va fi specificat de
către utilizator.

Descrierea funcționării instrumentului virtual


Valoarea de intrare este numărul N de perechi de numere prime p și q ce trebuie
determinate.
Valoarea de ieșire este o matrice de valori numerice, cu două linii și N coloane. Pe
fiecare coloană a matricei se află câte o pereche de numere p și q care îndeplinesc
condiția din enunț.

Exemplu de panou

Fig. 10.1. Exemplu de panou

Definirea unui subVI


În mediul de programare grafică LabVIEW există posibilitatea definirii de funcții noi,
create de către utilizator, numite subVI-uri.
Pentru a defini o funcție nouă (subVI), se creează un VI apoi se definesc intrările și
ieșirile acestuia, corespunzătoare unor elemente de control și indicatoare ale VI-ului.

De exemplu, pentru a crea o funcție care să determine dacă un număr este sau nu este
număr prim, se deschide VI-ul creat la o lucrare de laborator anterioară (Lab 8).
Programarea Calculatoarelor 1 - Algoritmi

Se definesc intrările și ieșirile VI-ului, făcând click succesiv pe câte o zonă a


conectorului VI-ului și pe câte un element de control sau indicator:
• click pe zona din colțul stânga-sus al conectorului;
• click pe elementul de control N;
• click pe zona din colțul dreapta-sus al conectorului;
• click mouse pe elementul indicator Nr prim?.

După finalizare, intrările și ieșirile ce au fost definite vor avea culori specifice tipului de
date ale elementelor de control, respectiv elementelor indicatoare conectate (figura
10.2);

Pictograma

Conectorul

Fig. 10.2. Definirea intrărilor și ieșirilor în subVI

Opțional, se poate edita pictograma ce va reprezenta subVI–ul în diagrama


instrumentului virtual principal, făcând dublu click pentru a deschide o fereastră ce
permite editarea pictogramei (figura 10.3). După finalizarea editării pictogramei se apasă
butonul OK și noua pictogramă o va înlocui pe cea implicită.

Fig. 10.3. Editarea pictogramei subVI-ului

2
Programarea Calculatoarelor 1 - Algoritmi

După definirea intrărilor și ieșirilor și eventual editarea pictogramei, se salvează subVI–


ul și se închide fișierul .

Pentru a insera subVI-ul creat anterior în diagrama instrumentului virtual curent, în


diagrama acestuia din urmă, din paleta de funcții, se selectează opțiunea Select a VI
(figura 10.4).

Fig. 10.4: Opțiunea Select a VI

La selectarea opțiunii respective, se va deschide o fereastră de selectare a unui fișier.


Se selectează subVI-ului creat anterior și se dispune pictograma acestuia în diagramă.
Pictograma subVI-ului va avea un terminal de intrare și un terminal de ieșire cu nume
corespunzătoare etichetelor elementului de control și a elementului indicator ce au fost
conectate la ele în etapa de definire a subVI-ului (figura 10.5).

3
Programarea Calculatoarelor 1 - Algoritmi

Fig. 10.5: Inserarea subVI-lui în diagramă

Indicații
Utilizând o structură repetitivă de tip buclă While, pentru fiecare pereche de valori

p = i + 1 și q = p + 2,

se va verifica, utilizând subVI-ul definit anterior, dacă numerele p și q sunt prime.

Bucla While va avea un registru de transfer, inițializat cu un Array vid de valori


numerice, cu două dimensiuni (matrice), în care vor fi stocate perechile de numere
prime p și q.

Dacă valorile p și q de la iterația curentă sunt numere prime, în fereastra True a unei
structuri Case, se formează, cu ajutorul funcției Build Array, un Array cu cele două
valori (o linie a matricei).
Linia nou formată este adăugată la matricea stocată în registrul de transfer cu ajutorul
unei a doua funcții Build Array.

Bucla While va executa iterații până când numărul de linii din matricea stocată în
registrul de transfer, egal cu numărul de soluții identificate, ajunge egal cu valoarea N
specificată de către utilizator.
Numărul de linii al matricei se poate determina cu ajutorul funcției Array Size.
Deoarece la intrarea funcției Array Size este conectat un Array cu două dimensiuni (o
matrice), la terminalul de ieșire al acesteia se va obține un Array cu două valori,
reprezentând numărul de linii, respectiv numărul de coloane ale matricei.
Extragerea din Array-ul cu două valori a numărului de linii (prima valoare din Array) se
va realiza cu ajutorul funcției Index Array.

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