Sunteți pe pagina 1din 7

Lucrarea 3 Bucle For.Bucle While.

Lucrare de laborator 3: Bucle For. Bucle While.

Acest exerciţiu prezintă diferenţele dintre bucla While şi bucla For. Veţi crea
ambele structuri repetitive şi le veţi utiliza.

Scop

Înţelegerea comportamentului de bază al buclelor For şi While în programul LabVIEW.

Descriere

Acest exerciţiu constă într-o serie de comenzi cu ajutorul cărora se va putea vedea
exact cum se comportă buclele în cadrul programului LabVIEW.

Bucle While.

Scop

Folosirea unei bucle While şi a unui terminal de iteraţii pentru trecerea datelor printr-un
tunel.

Scenariu

Se va crea un VI care să genereze numere aleatoare cuprinse între 0 şi 1000 până


când va genera un număr care să corespundă unui număr prestabilit. Se va determina
câte numere aleatoare generează VI-ul înainte de a genera numărul prestabilit.

Implementare

Deschideţi un nou VI şi construiţi următorul panou frontal. Modificaţi controalele şi


indicatorii după cum se poate observa în imaginea următoare şi parcurgând următorii
paşi.

L3 - 1
Lucrarea 3 Bucle For.Bucle While.

1. În folderul de lucru Laborator_LabVIEW creați un director intitulat Laborator3

2. Deschideţi un nou VI.

Selectaţi File → New VI.

3. Salvaţi VI-ul cu numele Auto Match.vi în directorul Laborator3.

4. Creaţi intrarea Number to Match.

În fereastra Front Panel adăugaţi un control numeric.

Redenumiţi controlul numeric cu numele Number to Match.

5. Stabiliţi proprietăţile pentru controlul numeric Number to Match, astfel încât


valoarea implicită să fie 50, intervalul de căutare să fie între 0 şi 1000, valoarea
incrementului să fie 1 şi precizia zecimalelor să fie 0.

Pentru a stabili 50 ca valoare implicită mergeți în panoul frontal și introduceți


această valoare în caseta controlului numeric apoi efectuaţi click-dreapta pe
controlul numeric şi selectaţi Data Operation → Make Current Value Default.

Efectuaţi click-dreapta pe controlul numeric Number to Match şi selectaţi Data


Entry. Va apărea pagina Data Entry în cadrul ferestrei Numeric Properties.

Stabiliţi valoarea minimă 0 şi selectaţi Coerce din meniul desfăşurabil Response


to value outside limits.

Stabiliţi valoarea maximă 1000 şi selectaţi Coerce din meniul desfăşurabil


Response to value outside limits.

Stabiliţi valoarea incrementului 1 şi selectaţi Coerce to Nearest din meniul


desfăşurabil Response to value outside limits.

Selectaţi câmpul Display Format.

Selectaţi Floating Point şi schimbaţi Precision Type din Significant digits în


Digits of precision.

L3 - 2
Lucrarea 3 Bucle For.Bucle While.
Introduceţi valoarea 0 în caseta Digits şi apăsaţi OK.

6. Creaţi ieşirea Current Number.

În fereastra Front Panel adăugaţi un indicator numeric.

Denumiţi indicatorul Current Number.

Efectuaţi click-dreapta pe indicator şi selectaţi Advanced → Synchronous


Display.

7. Stabiliţi precizia zecimală pentru ieşirea Current Number la 0.

Efectuaţi click-dreapta pe indicatorul Current Number şi selectaţi Display


Format. Se va deschide pagina Display Format a ferestrei Numeric
Properties.

Selectaţi Floating Point şi schimbaţi Precision Type în Digits of precision.

În caseta Digits introduceţi valoarea 0 şi apoi apăsaţi OK.

8. Creaţi ieşirea # of iterations.

În fereastra Front Panel adăugaţi un indicator numeric.

Denumiţi acest indicator # of iterations.

9. Setaţi reprezentarea ieşirii # of iterations să fie long integer.

Efectuaţi click-dreapta pe indicatorul # of iterations.

Selectaţi Representation →I32.

Creaţi următoarea diagramă folosind instrucţiunile de mai jos.

L3 - 3
Lucrarea 3 Bucle For.Bucle While.

10. Generaţi un număr întreg aleator cuprins în intervalul 0 şi 1000.

Adăugaţi în diagramă funcţia Random Number (0-1). Funcţia Random Number


(0-1) generează un număr aleator între 0 şi 1.

În fereastra Block Diagram adăugaţi funcţia Multiply. Aceasta multiplică


numărul aleator de la intrarea y pentru a produce un număr aleator între 0 şi y.

Legaţi ieşirea funcţiei Random Number de intrarea x a funcţiei Multiply.

Efectuaţi click-dreapta pe intrarea y a funcţiei Multiply, selectaţi Create →


Constant, introduceţi 1000 şi apăsaţi tasta Enter, pentru a crea o constantă
numerică.

Legaţi ieşirea funcţiei Multiply la intrarea funcţiei Round To Nearest.

Adăugaţi în diagramă funcţia Round To Nearest. Această funcţie rotunjeşte


numărul aleator la următorul număr întreg.

Legaţi ieşirea funcţiei Round To Nearest la indicatorul Current Number.

11. Comparaţi numărul generat aleator cu valoarea controlului Number to Match.

Adăugaţi la diagramă funcţia Not Equal?. Această funcţie compară numărul


aleator cu valoarea din controlul Number to Match şi trimite răspunsul True,
dacă numerele nu sunt egale, altfel trimite răspunsul False.

Legaţi ieşirea funcţiei Round To Nearest de intrarea x a funcţiei Not Equal?.

Legaţi controlul numeric Number to Match de intrarea y a funcţiei Not Equal?.

Legaţi ieşirea funcţiei Not Equal? de terminalul condiţional.

12. Repetaţi algoritmul până când funcţia Not Equal? trimite răspunsul True.

Din paleta Structures adăugaţi în diagramă bucla While.

Efectuaţi click-dreapta pe terminalul conditional şi selectaţi Continue if True.

13. Afişaţi şirul de numere aleatoare generate prin adunarea cu 1 a numărului de


iteraţii de la terminal.

Legaţi terminalul de iteraţii de marginea buclei While. Un tunel albastru va


apărea pe marginea buclei.

L3 - 4
Lucrarea 3 Bucle For.Bucle While.
Adăugaţi în fereastra Block Diagram funcţia Increment. Această funcţie adaugă
valoarea 1 iteraţiilor buclei While.

14. Salvaţi VI.

Test

1. Afişaţi fereastra Front Panel.

2. Schimbaţi numărul controlului Number to Match cu un număr care este în


intervalul 0 şi 1000 cu un increment cu valoarea 1.

3. Rulaţi VI.

4. Schimbaţi Number to Match şi rulaţi încă o dată VI. Current Number se


modifică la fiecare iteraţie a buclei, deoarece este în interiorul buclei. # of
iterations se modifică la sfârşit deoarece se găseşte în afara buclei.

5. Pentru a vedea modificările indicatorilor activaţi Highlight Execution.

În fereastra Block Diagram activaţi butonul Highlight Execution. Acesta arată


traseul datelor în diagrama block, de la un nod la altul, astfel încât se poate
observa numărul generat.

6. Rulaţi VI şi observaţi fluxul de date.

7. Încercaţi să găsiţi un număr care se află în afara intervalului.

8. Schimbaţi Number to Match cu un număr care este în afara intervalului.

Labview constrânge valoarea din afara intervalului la cea mai apropiată valoare
din intervalul specificat.

9. Închideţi VI.

Bucle For

Implementare

1. Deschideţi un VI nou.

Selectaţi File → New VI.

Salvați fișierul cu numele “Bucla_For” în directorul Laborator3.

2. Afişaţi fereastra Block Diagram.

Selectaţi Window → Show Block Diagram.

3. În fereastra Block Diagram introduceţi o buclă For.


L3 - 5
Lucrarea 3 Bucle For.Bucle While.

În paleta de funcţii selectaţi Programming → Structures →For Loop.

Introduceţi bucla For în diagrama block ţinând apăsat butonul stâng al mouse-
ului şi construind un pătrat.

4. Setaţi numărul de iteraţii pentru buclă.

Efectuaţi click-dreapta pe terminalul Loop Count al buclei For şi selectaţi


Create → Constant.

Stabiliţi valoarea 10 pentru această constantă.

5. Introduceţi o funcţie Subtract în diagrama block.

L3 - 6
Lucrarea 3 Bucle For.Bucle While.

Din paleta funcţiilor selectaţi Programming → Numeric → Subtract.

Poziţionaţi funcţia Subtract în interiorul buclei For.

6. Creaţi o constantă la intrarea în funcţia Subtract.

Efectuaţi click-dreapta pe prima intrare a funcţiei Subtract şi selectaţi Create →


Constant.

Stabiliţi pentru această constantă valoarea 10.

7. Creaţi un indicator pentru ieşirea funcţiei Subtract.

Efectuaţi click-dreapta pe cea de a doua intrare a funcţiei Subtract şi selectaţi


Create → Indicator.

8. Legaţi ieşirea Loop Iteration a buclei For la cea de a doua intrare a funcţiei
Subtract.

9. Adăugaţi în diagrama block o funcţie Wait.

Selectaţi Programming → Timing → Wait, din paleta funcţiilor şi poziţionaţi-o în


interiorul buclei.

Efectuaţi click-dreapta pe intrarea funcţiei Wait şi selectaţi Create → Constant.

Stabiliţi pentru această constantă valoarea 1000.

10. Afişaţi fereastra Front Panel.

Selectaţi Window → Show Block Diagram.

11. Rulaţi VI. Observaţi că programul numără de la 10 la 1 pentru fiecare iteraţie a


buclei For.

12. Închideţi și salvați fișierul.

13. Creați o arhivă a directorului Laborator3 și încărcați-o pe platforma Moodle în


zona dedicată.
L3 - 7

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