Sunteți pe pagina 1din 7

Programarea Calculatoarelor 1 - Algoritmi

L3: Funcții elementare pentru valori de tip text - 1


Enunțul problemei
Să se realizeze un instrument virtual LabVIEW în care utilizatorul va introduce separat
numele și prenumele, iar programul le va afișa împreună, în formatul „Prenume NUME”:
 să se elimine eventualele caractere de tip „spațiu” (blanc) din interiorul numelui și
prenumelui introduse de utilizator;
 prenumele să fie scris cu primul caracter majusculă, iar celelalte caractere
minuscule;
 numele să fie scris cu majuscule;
Instrumentul virtual să afișeze numărul de caractere din textul final.

Exemplu de panou

Fig. 3.1. Exemplu de panou

Descrierea funcționării instrumentului virtual


Valorile de intrare sunt:
 textul reprezentând numele;
 textul reprezentând prenumele.

Valorile de ieșire sunt:


 textul care conține atât prenumele cât și numele, cu formatul specificat în enunț;
 valoarea numerică reprezentând numărul de caractere din textul final.

Pentru a permite utilizatorului să introducă valorile de intrare, pe panoul frontal vor


exista două elemente de control pentru texte, unul pentru nume și unul pentru prenume.
Elementele de control respective vor fi configurate astfel încât valorile de intrare (textele)
să fie actualizate la fiecare modificare (introducere sau ștergere a unui caracter), fără să
fie necesară apăsarea de către utilizator a tastei ENTER. De asemenea, elementele de
control pentru texte vor fi configurate astfel încât, dacă utilizatorul apasă tasta ENTER,
să nu se treacă la o linie nouă de text ci să se considere că introducerea textului s-a
încheiat. Textul care conține atât prenumele cât și numele, cu formatul specificat în
enunț, va fi afișat de către un element indicator pentru texte, având eticheta Prenume si
nume. Numărul de caractere din textul final va fi afișat într-un element indicator pentru
valori numerice, având eticheta Nr. caractere

33
Programarea Calculatoarelor 1 - Algoritmi

Indicații privind proiectarea interfeței cu utilizatorul


În panoul frontal al unui nou instrument virtual se vor dispune două elemente de control
de tip text (click dreapta mouse în panoul frontal  meniul Modern  submeniul String
& Path  String Control), care se vor denumi în etichete „Nume” respectiv „Prenume”
(figura 3.2).

Fig. 3.2. Elemente de control de tip text

Se vor fi configura elementele de control de tip text denumite „Nume” respectiv


„Prenume” astfel încât valorile de intrare (textele) să fie actualizate la fiecare modificare
(introducere sau ștergere a unui caracter), fără să fie necesară apăsarea de către
utilizator a tastei ENTER. Pentru a rezolva această cerință, se selectează succesiv
fiecare element și din meniul contextual al acestuia se activează opțiunea Update
Value While Typing ca în figura 3.3.

Fig. 3.3. Configurarea elementului de control de tip text

34
Programarea Calculatoarelor 1 - Algoritmi

De asemenea, se vor configura elementele de control pentru texte, astfel încât, dacă
utilizatorul apasă tasta ENTER, să nu se treacă la o linie nouă de text, ci să se
considere că introducerea textului s-a încheiat. Pentru a rezolva această cerință, se
selectează succesiv fiecare element și din meniul contextual al acestuia se activează
opțiunea Limit to Single Line (figura 3.4).

Fig. 3.4. Configurarea elementului de control de tip text

Pentru afișarea datelor de ieșire de tip text, se va dispune în panoul frontal un element
indicator de tipul text (click dreapta mouse în panoul frontal  meniul Modern 
submeniul String & Path  String Indicator), care se va denumi în etichetă „Prenume
și Nume” (figura 3.5).

Fig. 3.5. Elemente indicator de tip text

35
Programarea Calculatoarelor 1 - Algoritmi

Pentru afișarea numărului de caractere din textul „Prenume NUME”, se va dispune în


panoul frontal al instrumentului virtual un element indicator de tip numeric (meniul
Numeric  Numeric Indicator) care se va denumi în etichetă „Nr. caractere”.

Indicații privind realizarea diagramei instrumentului virtual


Algoritmul acestei aplicații presupune parcurgerea urmatorilor pași:
1. Se elimină spațiile libere din textul Prenume
2. Textul rezultat de pasul anterior se separa in doua componente:
 primul caracter din prenume
 restul de caractere din prenume incepând cu al 2-lea
3. Se transforma în majuculă primul caracter rezultat de la pasul anterior
4. se transforma în caractere minuscule restul de caractere din prenume incepând
cu al 2-lea rezultate de la pasul 2
5. Se elimină spațiile libere din textul Nume
6. Se transforma în majucule caracterele rezultate de la pasul anterior
7. Se unesc textele rezultate de la pașii 3,4 și 6 pentru a construi textul conform
cerinței Prenume NUME. Rezultatul se conecteaza la data de iesire Prenume și
nume
8. Se calculeaza numarul de caractere din textul rezultat la pasul anterior

Pasul 1: In diagrama instrumentului virtual, pentru eliminarea caracterelor de tipul spațiu


din textul introdus în elementul de control de tip text „Prenume”, se va folosi funcția
Search and Replace String (paleta de funcții  meniul string  funcția Search and
Replace String). Apoi se definesc legăturile corespunzătoare, astfel (figura 3.6):
- datele de tipul text de la terminalul elementului de control Prenume, în care
funcția Search and Replace String va căuta caracterele de tipul spațiu, se
conectează la intrarea imput string a funcției;
- la intrarea search string a funcției se va conecta textul căutat pentru a fi înlocuit,
adică caracterul de tipul spațiu, care va fi specificat de tastatura calculatorului
prin intermediul unei constante de tipul text (meniul String  String Constat);
- datele de tip text care vor înlocui caracterul de tip spațiu trebuie conectate la
intrarea replace string, dar, deoarece implicit la intrarea funcției Search and
Replace String există specificat caracterul de tip vid, se va lasa acest terminal
neconectat;
- de asemenea, implicit la intrarea replace all? a funcției este specificată valoarea
False, astfel încât funcția Search and Replace String va căuta în șirul de
caractere conectat la intrarea imput string doar primul caracter de tip spațiu și îl
va înlocuii cu un caracter de tipul vid. Pentru a înlocui toate caracterele de tipul
spațiu din textul prenume cu caractere de tipul vid, se va conecta la intrarea
replace all? o constantă booleană True (meniul Boolean).

36
Programarea Calculatoarelor 1 - Algoritmi

Fig. 3.6. Funcția Search and Replace String

Pasul 2: După eliminarea spațiilor libere din text Folosind funcția String Subset
(meniul String), se separă primul caracter de celelalte caractere din textul din care s-au
eliminat spațiile de la terminalul result string al funcției Search and Replace String.
Pentru a rezolva a ceastă cerință se conectează textul fără spații la intrarea string a
funcției String Subset, la intrarea offset se conectează o valoare numerică prin care se
va specifica poziția în șirul de caractere de la care se realizează extragerea, iar la
intrarea lenght se va conecta o valoare numerică prin care se specifica numărul de
caractere care vor fi extrase (figura 3.7).

Fig. 3.7. Funcția String Subset

Pasul 3: Primul caracter obținut la ieșirea substring a funcției String Subset va fi


transformă în caracter majusculă folosind funcția To Upper Case (meniul String).
Pasul 4: Restul caracterelor din prenume vor fi transformate în caractere minuscule cu
ajutorul funcției To Lower Case (meniul String) (figura 3.8).

37
Programarea Calculatoarelor 1 - Algoritmi

Fig. 3.8. Funcțiile To Upper Case și To Lower Case

Pasul 5: Din textul introdus în elementul de control de tipul text denumit „Nume” se vor
elimina caracterele de tipul spațiu (funcția Search and Replace String) parcurgând
etapele similare de la Pasul1.
Pasul 6: Textul rezultat se va transforma în caractere majuscule folosind funcția To
Upper Case (figura 3.9).

Fig. 3.9. Funcția Search and Replace String

Pasul 7: Pentru a unii textele ce formează șirul de caractere Prenume NUME, se va


folosi funcția Concatenate Strings (meniul String). Inițial aceast funcție are numai două
terminale de intrare. Pentru a conecta șirurile de caractere necesare pentru a forma
textul Prenume NUME, sunt necesare patru terminale de intrare și de aceea se
dimensionează funcția Concatenate Strings corespunzător și se efectuează legăturile ca
în figura 3.10.

38
Programarea Calculatoarelor 1 - Algoritmi

Fig. 3.10: Funcția Concatenate Strings

Șirul de caractere obținut la terminalul de ieșire concatenated string se conectează la


terminalul elementului indicator de tipul string denumit Prenume și Nume.
Pasul 8: Pentru a determina numărul de caractere din șirul de caractere obținut la
terminalul de ieșire concatenated string se va dispune în diagramă funcția String
Length și se efectuează legăturile corespunzătoare (figura 3.11).

Fig. 3.11: Diagrama și panoul aplicației

39

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