Sunteți pe pagina 1din 4

Instructiunea repetitiva while… si do… while

Instructiuni repetitive cu numar necunoscut de pasi


 Cu test initial while…
 Cu test final do…while

Declararea
Pseudocod C++ Pseudocod C++

cat_timp conditie executa while ( conditie) executa do


instructiune; instructiune; instructiune; instructiune;
sfarsit_cat_timp cat_timp conditie while( conditie);

Daca structura trebuie sa execute cel putin 2 instructiuni(prelucrari) atunci se impune sa


incadrati intre acolade instructiunile.in cazul structurii do…while structura sa inchide cu ;
singurul caz in care punem ; dupa conditie
while ( conditie)
do{
{
instructiune1;
instructiune1;
instructiune2;
instructiune2;
} while ( conditie) ;
}
Mod de executie while
 Evaluam conditie
o Daca conditie adevarata se executa instructiune ;
o Daca conditie falsa se paraseste structura si executa urmatoarea instructiune din
program.

Mod de executie do…while


 Se executa instructiune apoi se ajunge la conditie si se evalueaza
o Daca conditie adevarata se executa din nou instructiune
o Daca conditie falsa se paraseste structura si se executa urmatoarea instructiune
din program.

Observatie structura do…while se executa o data chiar daca conditie este falsa pe cand
structura while nu se va executa deloc daca conditie este falsa.

Algoritmul de extragere cifre al unui numar


Enunt : se da un numar intreg x sa se afiseze cifrele numarului.

Exemplu : x=4837 se va afisa 7 3 8 4


Pseudocod C++

Algoritm extragere_cifre
intreg x, cifra
citeste x
cat_timp x<>0 executa ///cat timp x are cifre
cifrax%10; ///se extrage cifra
scrie cifra, «  «  ;
xx/10 ; ///se sterge cifra din nr
sfarsit_cat_timp
sfarsit

Algoritmul de determinare al inversului unui numar


Enunt : se citeste de la tastatura un numar x intreg, sa se afiseze inversul numarului x.

Exemplu : x=8473 se va afisa inv=3784

Pseudocod C++

Algoritm inversul_numarului
intreg x, inv
citeste x
inv0;
cat_timp x<>0 executa ///cat timp x are cifre
invnv*10+x%10 ;
xx/10 ; ///se sterge cifra din nr
sfarsit_cat_timp
scrie « inv= », inv ;
sfarsit

x inv x!=0 afisare Calcule


8473 0 .1. inv=0*10+3=3
847 3 .1. inv=3*10+7=37
84 37 .1. inv=37*10+4=374
8 374 .1. inv=374*10+8=3748
0 3748
Algoritm de compunere numar din cifre date
Varianta1
Enunt : se dau n cifre sa se afiseze numarul format din aceste cifre.
Exemplu : n=5 ci cifrele 9 2 7 5 se va afisa 9275 C++
Pseudocod

Algoritm compunere_numar1
intreg c,n,p,i,nou ;
citeste n ///numarul de cifre
nou0;p1; ///nou=nr compus p=puterea lui10
pentru p1,n-1, pas1 executa /// 10^n-1
pp*10 ;
sfarsit_pentru
pentru i1,n, pas1 executa
citeste c ;
nou p*c+nou ;
pp*10 ;
sfarsit_pentru
scrie « nou= », nou ;
sfarsit

Varianta2

Enunt : se citesc un sir de cifre, sa se afiseze numarul format din cifre.


Exemplu : 7 5 8 2 23 se va afisa 7582 Observatie : citirea se termina cand nu introducem o
cifra
C++
Pseudocod
Probleme clasa
1. Se citeste un numar cu maxim 9 cifre, sa se afiseze suma cifrelor sale.
2. Sa se verifice daca un numar intreg x citit de la tastatura este palindrom sau nu.(Numarul
palindrom este numarul egal cu inversul sau sau spunem ca numarul citit de la stg la dr sa fie
egal cu numarul citit de la dr la stg).
3. Bbb

Tema
1 Verificati daca un numar are ultima cifra egala cu prima.
2. Determinati cifra minima a unui numar natural.
3. Determinati media aritmetica a cifrelor pare ale unui numar natural.
4. Verificati daca un numar natural are toate cifrele pare.
5. Fie un numar natural. Daca are un numar impar de cifre afisati cifra din mijloc, in caz
contrar afisati un mesaj.
6. Verificati daca un numar natural contine doar cifre binare (0 sau 1).
7. Determinati cate cifre are un număr natural nenul nr.
Exemplu nr = 2314 rezultatul este 4
8. Se citeşte un număr natural n şi o cifră c. Determinati de câte ori apare cifra c în numărul
n.
Exemplu n = 33123 c = 3 rezultatul este 3
9. Se citeşte un număr natural nr. Determinati dacă numărul conţine cifre pare.
Exemplu nr = 2314 rezultatul este “conţine cifre pare”
10. Se citeşte un număr natural nr. Determinati dacă prima cifră a numărului este pară sau
nu.
11. Se citeşte un număr natural nr. Determinati cate cifre sunt mai mici decat prima cifră a
numărului.
12.Fie doua numere naturale. Determinati care dintre ele are mai multe cifre.

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