Despre Oferta Tutoriale Articole Carti Download Legaturi Noutati
LabVIEW - Program pentru determinarea divizorilor unui număr natural nenul
un material scris de Ionut GHIONEA

Tutoriale

Cuprins
Īn această aplicaţie se prezintă modul de creare a unui instrument virtual pentru determinarea divizorilor unui număr natural, cu ajutorul mediului de programare grafică LabVIEW.
  Considerānd notaţia N – numărul natural şi D – unul dintre divizorii acestuia mai mic sau egal cu N şi nenul, se ştie că restul īmpărţirii lui N la D este egal cu zero. Pentru a putea realiza seria de īmpărţiri succesive N la D, se utilizează o structură repetitivă FOR. Divizorul D ia valori de la 1 la N, la fiecare iteraţie a buclei FOR realizāndu-se īmpărţirea N/D, iar dacă restul este egal cu zero, divizorul D găsit este scris īntr-un şir de numere de tip Array.

Īn bucla FOR există un indicator i care stochează valoarea iteraţiei curente şi ia valori īntre 0 şi N-1. Acest indicator i poate fi unul dintre divizorii D ai numărului natural N. Primul pas īn realizarea programului este dispunerea pe diagrama acestuia a unei bucle FOR (care conţine două elemente predefinite: terminalul N care determină numărul de execuţii ale buclei şi i care oferă valoarea iteraţiei curente). De asemenea, pe panoul aplicaţiei se dispune şi un element de control pentru data de intrare numerică Numar natural, reprezentānd numărul natural ai cărui divizori trebuie determinaţi.

Divizorii găsiţi vor fi stocaţi īntr-un şir de numere de tip Array, care trebuie iniţializat la īnceputul aplicaţiei cu un şir constant nul, transferul valorilor găsite corespunzătoare īn interiorul buclei FOR realizāndu-se printr-un registru de transfer (Shift Register). De asemenea, īn interiorul buclei FOR se va mai utiliza o structură CASE care ajută īn procesul de decizie dacă un număr este sau nu divizor şi dacă va fi adăugat īn şirul acestora (Fig. 1).


Fig. 1

Īn continuare, se īmparte Numărul natural N la valoarea i+1, cu ajutorul funcţiei Quotient and Remainder, pentru a calcula cātul şi, mai ales, restul acestei īmpărţiri. Valoarea restului se compară cu zero, ieşirea din funcţia de comparaţie Equal to 0 fiind de tip boolean (True sau False) se utilizează ca modalitate de decizie şi selecţie pentru structura CASE, aşa cum se observă īn Figura 2.


Fig. 2

 Īn interiorul structurii CASE se utilizează o funcţie Build Array pentru a colecta valorile determinate īn urma īmpărţirilor succesive N la i+1 ca fiind divizorii numărului natural considerat. Desigur, această funcţie Build Array este poziţionată pe ramura True a structurii CASE, adică atunci cānd restul īmpărţirii este egal cu zero, caz īn care a fost găsit un divizor (Fig. 3). Pe ramura False, şirul aflat īn registrul de transfer trece nemodificat.


Fig. 3

 La ieşirea din bucla FOR este conectat un şir de numere de tip Array, denumit, īn acest caz, Divizori. Schema din Figura 3 reprezintă o modalitate de rezolvare a problemei propuse. Īn figura 4 este prezentat un exemplu de determinare a divizorilor pentru N=250. Se observă elementul de control pentru data de intrare numerică Numar natural şi şirul de divizori ai acestuia.


Fig. 4

 

 
Introducere
Calculul catului si al restului
Crearea sirului de divizori
Afisarea divizorilor


Contact: office@catia.ro
Top
Home Email