Se afișează postările cu eticheta iterative. Afișați toate postările
Se afișează postările cu eticheta iterative. Afișați toate postările

joi, 15 august 2024

Instrucţiunea repetitivă do-while

În limbajul Java există încă o instrucțiune iterativă, do‑while — asemănătoare cu while, dar cu o diferenţă importantă: corpul buclei se execută cel puţin o dată, indiferent dacă condiţia iniţială este adevărată sau falsă.

Scop:
Se foloseşte atunci când:
  1. vrem să efectuăm cel puţin o dată o acţiune (de ex. afişarea unui meniu, citirea input-ului) şi apoi să continuăm repetarea doar cât timp condiţia este îndeplinită;
  2. condiţia de continuare apare după corpul buclei (post-condiţie).
Sintaxa:
do { 
 // instrucţiuni 
} while (expresie_conditie);


Semantica:
  1. Se execută corpul buclei.
  2. Se verifică expresia_conditie.
  3. Dacă este adevărată, se revine la pasul 1 (se repetă).
  4. Dacă este falsă, bucla se opreşte şi apoi execuţia continuă.

Exemplu

Rezultate


Explicație
Codul solicită utilizatorului un număr pozitiv cel puţin o dată, şi repetă solicitarea dacă numărul este negativ.
Chiar dacă expresia_conditie este falsă de la început (ex. numar este deja pozitiv), corpul se va executa o dată.
Ca şi în cazul instrucțiunii while, trebuie să existe o cale de ieşire — altfel va apărea o buclă infinită.
Evitaţi folosirea condiţiei true fără mecanism de întrerupere.



miercuri, 3 iulie 2024

Lecție practică Instrucțiunea for


Probleme propuse spre rezolvare

1. Elaborați un program care afișează pe ecran numerele de la 1 la 10, fiecare pe o linie nouă.

2. Elaborați un program care va afișa toate numerele din intervalul [a, b], unde a și b se citesc de la tastatură.

3. Elaborați un program care va afișa pe ecran factorialul unui număr citit de la tastatură.

4. Elaborați un program care va citi de la tastatură n numere, va calcula și afișa suma acestora.

5. Elaborați un program care va citi n numere întregi, va determina și afișa elementul maxim.

6. Elaborați un program care citește un număr n și afișează toate numerele mai mici sau egale cu n care sunt divizibile cu 3, dar nu cu 5.

7. Un profesor dorește să determine dacă un elev a promovat disciplina. El introduce notele elevului obținute pe parcursul semestrului și vrea ca programul să calculeze media aritmetică și să afișeze un mesaj corespunzător. Elaborați un program care:
- Citește de la tastatură un număr n — numărul de note;
- Citește n note (numere reale între 1 și 10);
- Calculează media aritmetică a notelor;
- Folosește instrucțiunea if pentru a afișa:
a. „Elevul a promovat” – dacă media ≥ 5;
b. „Elevul nu a promovat” – dacă media < 5.

8. Un contabil dorește să calculeze salariul total al unui angajat pentru mai multe luni. Dacă salariul lunar depășește 10.000 lei, se acordă un bonus de 10%. Elaborați un program care:
- Citește un număr n – numărul de luni;
- Pentru fiecare lună, citește salariul de bază;
- Dacă salariul > 10.000, aplică un bonus de 10%;
- Afișează salariul total acumulat.

9. Managerul unui magazin vrea să analizeze vânzările dintr-o săptămână. Dacă vânzarea zilnică depășește 5000 lei, se consideră o „zi profitabilă”. Elaborați un program care:
- Se citesc vânzările pentru n zile.
- Se calculează totalul vânzărilor și numărul de zile profitabile.
- Se afișează media zilnică și un mesaj:
a. „Vânzări excelente!” – dacă mai mult de jumătate din zile au fost profitabile;
b. „Necesită îmbunătățiri” – altfel.

10. Un client economisește o sumă într-un cont bancar. Se aplică o dobândă anuală de 5%. Elaborați un program care:
- citește suma inițială S și numărul de ani n.
- pentru fiecare an, se actualizează suma:
- suma = suma + suma*0,05
- Dacă la final suma > 150% din cea inițială, se afișează mesajul „Investiție reușită!”.

11. Utilizatorul efectuează mai multe operații la un ATM. Elaborați un program care va simulat ATM:
- soldul inițial este 1000 lei.
- se citește n – numărul de operații.
- pentru fiecare operație se citește un cod:
1 → Depunere
2 → Retragere
3 → Interogare sold
- switch tratează tipul de operație.
- se actualizează soldul în dependență de acțiunea utilizatorului.
- În cazul în care din soldul nu conține suma care se dorește a fi extrasă utilizatorul să fie anunțat că operațiunea nu poate fi admisă din cauza mijloacelor financiare indisponibile.

Succes! ❤️

joi, 8 februarie 2024

Instrucţiunea repetitivă while

În programarea Java, structurile repetitive ne ajută să executăm un set de instrucţiuni de mai multe ori, fără a repeta codul manual. Una dintre variante este instrucţiunea while, utilă în special când nu ştim de la început exact de câte ori vrem să repetăm acţiunea.

Scop:

Se foloseşte atunci când:
  1. condiţia de repetare depinde de o variabilă ce se poate modifica în timpul execuţiei;
  2. vrem să repetăm o acţiune atât timp cât o anumită condiţie este adevărată;
  3. nu avem neapărat un contor fix la început (sau contorul apare intern).

Sintaxa:

while (expresie_conditie) {
// instrucţiuni
}

 Semantica:

  1. Se verifică expresia_conditie.
  2. Dacă este adevărată (true), se execută corpul buclei.
  3. Dacă este falsă (false), se iese din buclă.
  4. După executarea corpului, se revine la pasul 1.
  5. Atunci când expresia devine falsă, bucla se încheie şi execuţia continuă cu instrucţiunea următoare.

Exemplu:


Rezultat:

Atenţie!

Dacă variabila/condiţia nu se modifică corect în corpul buclei, riscăm o buclă infinită.

De exemplu, codul de mai jos conține buclă infinită:
Rezultat:
Deci corect este:

Rezultat:



Variabila/condiţia trebuie să fie vizibilă în contextul buclei (de ex. declarată înainte).

Utilizaţi break dacă aveţi nevoie să ieşiţi anticipat din buclă în situaţii speciale:


De exemplu:

Rezultat:





Să aveți o zi deosebită!
💝