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



joi, 4 iulie 2024

Exemplu comparativ. Instrucțiuni iterative Java


Toate cele trei programe determină numărul valorilor pare dintre 1 și n (unde n = 10).

Exemplul1. Utilizarea instrucţiunii for:

public class Ex_for {

public static void main (String [] args){

  int n=10, nr=0;

  for (int i=1; i<=n; i++) if (i%2==0) nr++;

  System.out.println(nr);

}}                              


Exemplul2. Utilizarea instrucţiunii while:

public class Ex_while {

public static void main (String [] args){

  int i = 1, n=10, nr=0;

  while (i<=n){

       if (i%2==0)

       nr++;

       i++;

  }

     System.out.println(nr);}}


Exemplul3. Utilizarea instrucţiunii do ... while:

 public class Ex_do_while {

public static void main (String [] args){

  int i = 1, n=10, nr=0;

  do {

       if (i%2==0)

       nr++;

       i++;}

  while (i<=n);

  System.out.println(nr);

}}



Să aveți o zi deosebită!
💝

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ă!
💝


miercuri, 10 ianuarie 2024

Exerciții practice. Controlul execuției. Tablouri unidimensionale


1. Calculul costului călătoriei 
Scrieți un program în Java care citește de la tastatură distanța parcursă în kilometri și calculează costul călătoriei. Programul va afișa atât tariful calculat, cât și costul final după eventuale reduceri. Regulile de stabilire a reducerii sunt următoarele:
  • Dacă distanța este mai mare de 30 km, costul pe km este 12 lei și se aplică o reducere de 10% din total.
  • Dacă distanța este între 15 și 30 km, costul pe km este 15 lei și fără reducere.
  • Dacă distanța este mai mică de 15 km, costul pe km este 20 lei și fără reducere.

2. Suma cifrelor și divizibilitatea cu 3
Scrieți un program în Java care citește de la tastatură un număr întreg, după care calculează suma cifrelor numărului folosind o buclă while. Programul va afișa care este suma cifrelor și dacă aceasta este un număr divizibil cu 3 sau nu.

Algoritm de urmat:


Exemplu:



3. Monitorizarea temperaturilor dintr-un laborator


O instituție monitorizează temperaturile dintr-un laborator pentru n camere. Scrieți un program în Java care:
  • citește de la tastatură numărul n și apoi cele n valori reale care reprezintă temperatura (°C) în fiecare cameră, stocate într-un vector;
  • determină temperatura medie a laboratorului;
  • găsește temperatura maximă înregistrată, constanta Double.NEGATIVE_INFINITY;
  • determină câte camere au temperaturi sub 18°C;
  • determină câte camere au temperaturi peste 25°C.
Date de ieșire:
  • pe prima linie: temperatura medie (număr real)
  • pe a doua linie: temperatura maximă (număr real)
  • pe a treia linie: numărul camerelor cu temperaturi sub 18°C (număr întreg)
  • pe a patra linie: numărul camerelor cu temperaturi peste 25°C (număr întreg)
4. Analiza notelor elevilor

Elaborați un program Java care va permite unui profesor să analizeze notele obținute de elevi la un test. Programul va permite citirea numărului de elevi (n) și nota (de la 1 la 10) fiecărui elev și le stochează în vector. Programul va calcula și:
  • afișa media generală a clasei;
  • afișa nota maximă și nota minimă, folosind Integer.MIN_VALUE și Integer.MAX_VALUE;
  • afișa numărul de elevi care au trecut testul (nota ≥ 5) și câți nu au susținut testul (nota < 5).
5. Dublarea elementelor impare

De la tastatură se introduce dimensiunea și elementele unui vector. Programul va afișa vectorul introdus, va înlocui elementele impare din vector cu dublul lor, după care va afișa vectorul modificat.

6. Media și elementele sub media aritmetică

De la tastatură se introduce dimensiunea unui vector și elementele acestuia. Programul va afișa vectorul introdus, va calcula media aritmetică a elementelor și va determina numărul de elemente mai mici decât media aritmetică, afișând rezultatele obținute.

7. Eliminarea unui număr din vector

De la tastatură se introduce dimensiunea unui vector și elementele acestuia, precum și un număr natural x. Programul va afișa vectorul introdus, va elimina toate aparițiile numărului x din vector, va afișa vectorul rezultat și noua sa lungime.

8. Verificarea elementelor pozitive

De la tastatură se introduce dimensiunea unui vector și elementele acestuia. Programul va afișa vectorul introdus, va verifica dacă toate elementele vectorului sunt numere pozitive și va afișa rezultatul verificării.

Succes!
❤️