Forma | Cum funcționează |
---|---|
while(condiție) { instrucțiune1; instrucțiune2; } |
Se evaluează condiția. Dacă rezultatul este true (adevărat, diferit de 0) atunci se execută blocul de instrucțiuni, după care se evaluează din nou condiția. Cât timp condiția va fi adevărată, se vor executa instrucțiuniile, când condiția va fi falsă, se va ieși din while și se va continua programul. |
continuă
programul
condiție
DA
NU
instrucțiune1
instrucțiune2
Cât timp condiția este adevărată, se vor executa instrucțiunile de pe ramura de 'DA'. Când condiția devine falsă, ieșim din ciclul repetitiv și continuăm programul.
Atenție! Dacă valoarea condiției nu va fi niciodată 0, programul va rula la infinit; structura se va numi buclă infinită.
Joc: "ghicește numărul"
Există o variabilă x pe care o setați în program, de la 1 la 1024, iar utilizatorul trebuie să o ghicească.
Utilizatorul are la început un număr de 10 vieți.
La fiecare tură, programul cere utilizatorului să introducă un număr, apoi spune dacă numărul acesta este "prea mic", "prea mare" sau "perfect !".
Dacă numărul este prea mic sau prea mare utilizatorul pierde o viață.
Jocul continuă cât timp jucătorul mai are vieți și încă nu a câștigat.
1A Se citesc numere naturale până la întâlnirea numărului 0. Câte numere am citit?
1B Se citesc numere zecimale pana la intalnirea numarului 0, reprezentand mediile elevilor dintr-o clasă la matematică.
Câți elevi au promovat anul? (au media peste 5)
1C Elsa se plimbă prin grădină. Ea se bucură de florile divers colorate, și ar vrea să știe câte flori sunt din fiecare culoare. (rosu, albastru, galben, alta)
Se citesc cuvinte reprezentând culori, pana la intalnirea cuvantului "gata".
Afișați câte flori au fost din fiecare culoare
2 A. Se citesc numere naturale până la întâlnirea numărului 0. Afișați suma lor.
2 B. Se citesc numere naturale până la întâlnirea numărului 0. Afișați suma celor pare.
3. Se citesc numere naturale până la întâlnirea numărului 0. Afișați maximul dintre ele.
Exemplu:
să se afișeze de n ori textul: "am început să învăț while-ul".
bucata de program: cout << "am inceput sa invat while-ul"<<endl;
Soluția 1:
Se folosește o variabilă ( de obicei i ) care reprezintă "de câte ori am afișat până acum". Această variabilă are la început valoarea 0, Trebuie să creștem această variabilă cu 1 după fiecare afișare.
Cât timp numărul de afișări este mai mic decât n afișăm din nou.
Soluția 2:
Se folosește o variabilă care reprezintă "de câte ori mai trebuie să afișăm". Această variabilă are la început valoarea n. Trebuie să scădem această variabilă după fiecare afișare.
Cât timp numărul rămas este mai mare decât 0, afișăm din nou.
1. Scrieți un program care execută de 5 ori următoarele instrucțiuni:
Citește un număr x și afișează ultima lui cifră.
2. Scrieți un program care citește un număr natural n și execută de n ori următoarele instrucțiuni:
Citește un număr x și verifică dacă acesta are exact 2 cifre
Se vor alege soluții diferite pentru cele 2 aplicații.
Hint: Ultima cifră a unui număr a era a % 10.
Hint: Un nr are exact 2 cifre dacă este mai mare decât 9 și mai mic decât 100
1. Se citește un număr natural n urmat de n numere naturale. Să se calculeze suma numerelor citite;
2. Se citește un număr natural n urmat de n numere naturale. Să se calculeze maximul dintre ele.
1. Se citește un număr natural n urmat de n numere naturale. Să se afișeze câte dintre ele erau mai mari decât 50.
2. Se citește un număr natural n urmat de n numere naturale. Să se afișeze suma celor pare.
5. Se citește un număr natural k, urmat de un număr natural, n urmat de n numere naturale. Să se determine:
(a) câte numere sunt egale cu k;
(b) câte numere au aceeaşi ultimă cifră ca şi k;
(c) câte numere au aceeaşi paritate ca şi k (dacă k este par întrebarea devine "câte numere pare sunt?", iar dacă k este impar, întrebarea devine "câte numere impare sunt?").
6. Miruna, colega Elsei are n note la geografie. Ea vrea să știe ce medie are și dacă a trecut sau nu clasa. Pentru că nu îi place să calculeze, o roagă pe Elsa să facă un program pentru asta, dar Elsa nu are timp așa că vă roagă la rândul ei pe voi.
Se citește numărul n reprezentând numărul de note al Mirunei
Se citesc apoi n numere naturale, reprezentând aceste note
Se afișează pe prima linie media și pe a doua dacă a promovat sau nu
7. (*) Elsa se juca de-a v-ați ascunselea cu Elif in Pădurea Naturală. În această pădure, fiecare copac se naşte însemnat cu un număr natural mai mic sau egal cu 2147483647. Din păcate, Elsa s-a ascuns atât de bine încât nu mai ştie nici ea unde este. Dar ea ştie de la bătrânul Switch că dacă urmează copacii în ordine descrescătoare a numerelor cu care sunt ei insemnaţi, va ajunge înapoi acasă.
Se citeşte un număr natural n (numărul de copaci pe care i-a urmărit Elsa), urmat de n numere naturale (numerele din naştere ale copacilor pe lângă care a trecut Elsa).
Să se afişeze "da" dacă Elsa a ajuns acasă sau "nu" dacă nu a reuşit încă să ajungă acasă. Ex:
n = 5; copaci = 24 5 7 4 3 -> "nu" (nu ajunge acasa pentru ca 7 e mai mare ca 5)
n = 6; copaci = 53 47 21 16 6 3 -> "da" (ajunge acasă pentru că toate numerele sunt în ordine descrescătoare)