Se afișează postările cu eticheta ciclice. Afișați toate postările
Se afișează postările cu eticheta ciclice. 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! ❤️

Instrucțiunea repetitivă for

În programarea Java, structurile repetitive ne ajută să executăm același set de instrucțiuni de mai multe ori, fără a repeta codul. 
Una dintre cele mai utilizate structuri este instrucțiunea for, datorită clarității și eficienței sale.
  • știm de la început de câte ori vrem să repetăm o acțiune;
  • avem nevoie de un contor (de exemplu, o variabilă care crește sau scade la fiecare pas);
  • vrem să parcurgem o succesiune de valori (indici, numere, caractere etc.).
  • calculul sumei primelor n numere naturale;
  • afișarea unei liste de elemente;
  • generarea de tabele (ex. tabla înmulțirii);
  • prelucrarea datelor într-un vector sau matrice;
  • repetarea unei instrucțiuni de un anumit număr de ori.
Scop:
Se folosește atunci când:
Exemple tipice de aplicare:

Sintaxa:

for (expresie_initializare; expresie_conditie; expresie_iteratie) {

    // instrucțiuni

}

Semantica:

  1. Se execută expresia de inițializare (de obicei, o variabilă contor este inițializată).
  2. Se verifică expresia condiției.
    • Dacă este adevărată (true), se execută instrucțiunile din corpul buclei.
    • Dacă este falsă (false), bucla se oprește.
  3. După execuția corpului buclei, se evaluează expresia de iterație, apoi se revine la pasul 2. 
Exemplu:

Atenție!

Variabilele declarate în zona de inițializare sunt locale buclei for și nu pot fi utilizate în afara acesteia: 


Poți declara mai multe expresii separate prin virgulă: 

Oricare dintre cele trei componente poate fi omisă. Următoarele exemple sunt corecte, dar atenție mare la buclele infinite! În aceste cazuri, este necesar să controlezi ieșirea din buclă cu instrucțiunea break.



Să aveți o zi deosebită!
💝