structura repetitiva cu numar necunoscut de repetitii

8
Structura Repetitiva Cu Numar Necunoscut De Repetitii

Upload: asabi

Post on 07-Feb-2016

80 views

Category:

Documents


4 download

DESCRIPTION

Structura Repetitiva Cu Numar Necunoscut De Repetitii. Tipuri de structuri repetitive. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Structura Repetitiva  Cu  Numar Necunoscut  De  Repetitii

Structura Repetitiva Cu Numar Necunoscut De Repetitii

Page 2: Structura Repetitiva  Cu  Numar Necunoscut  De  Repetitii

Tipuri de structuri repetitiveExista trei tipuri de structuri repetitive:

1) Structura cu numar cunoscut de repetitii (FOR) 2) Structura cu numar necunoscut de repetitii si cu test initial (WHILE) 3) Structura cu numar necunoscut de repetitii si cu test final (DO-WHILE)

Page 3: Structura Repetitiva  Cu  Numar Necunoscut  De  Repetitii

whileSintaxa :

while (expresie_logica) S;Efect

Pas1: Se evalueaza expresia logica Pas2:Daca valoarea expresiei logice este 1 (adevarata) se executa

instructiunea S si se revine la pasul 1Pas3:daca valoarea expresiei logice este zero (falsa) se continua cu

instructiunea de dupa punct-virgulaObservatii: daca valoarea expresiei logice este falsa de la inceput atunci instructiunea S nu se

mai executa daca WHILE trebuie sa repete mai mult de o instructiune, acestea se vor incadra intre

acolade; instructiunea WHILE se mai numeste “repetitiva cu test initial” sau “conditionata

anterior”, pentru ca intai verifica valoarea conditiei si apoi executa secventa ce trebuie repetata

Problema exemplu. Fie A si B doua valori naturale. Sa se simuleza impartirea cu rest a lui A la B (prin scaderi repetate) si sa se determine catul si restul impartirii.

Page 4: Structura Repetitiva  Cu  Numar Necunoscut  De  Repetitii

Exemplu………main() { int A, B, C=0; cin>>A>>B; while(A>=B) {A=A-B; C++;}; cout<<"catul este :"<<C<<endl; cout<<"restul este : "<<A; }

Page 5: Structura Repetitiva  Cu  Numar Necunoscut  De  Repetitii

ProblemeSe citeste un sir de numere intregi pana la

intoducerea lui 0 (Ex: 23, -4, 5, 12, 79, 0).1. Stabiliti numarul de valori pozitive din sir2. Afisati valoarea minima si maxima din sir3. Cate numere impare sunt in sir?

Algoritmul lui Euclid. Determinarea cmmdc şi cmmmc a 2 numere.

Page 6: Structura Repetitiva  Cu  Numar Necunoscut  De  Repetitii

Do while Sintaxa: do { S} while (conditie) ;Efect:

Pas1: se executa secventa de instructiuni SPas2: se evalueaza conditiePas3: daca valoarea conditiei este adevarata se revine la pasul 1Pas4: daca valoarea conditiei este falsa se continua cu

instructiunea de dupa punct si virgulaObservatii: do-while se mai numeste instructiune cu test final sau

conditionata posterior observati ca intai se executa secventa de instructiuni (macar

o data) si apoi se testeaza Diferența față de instrucțiunea while constă în faptul că testul

este plasat la sfârșitul buclei, deci instrucțiunea se execută cu siguranță cel puțin o dată, indiferent de valoarea expresiei.

Page 7: Structura Repetitiva  Cu  Numar Necunoscut  De  Repetitii

Exemplu Exemplu: Se afişează, pe ecran, suma cifrelor unui

număr natural nenul x. Numărul x se citeşte de la tastatură.

Obs: orice numar are o ultima cifra, motiv pentru care intai o prelucram si eliminam , si abia apoi verificam daca mai sunt cifre de prelucrat.

Algoritm c++: main()

{ unsigned int x,s=0;cout<< “x=“;cin>>x;do

{ s=s+x%10;x=x/10;} while(x!=0) ;cout<< “Suma cifrelor =“<<s<<endl;}

Page 8: Structura Repetitiva  Cu  Numar Necunoscut  De  Repetitii

ProblemeFie N un numar natural.1. Cate cifre are N?2. Care este cea mai mare cifra din numar?

(valoarea maxima). Analog minima.3. Sa se determine prima cifra a numarului N.4. De cate ori apare o cifra data C, in numarul N?5. Sa se genereze “oglinditul” numarului N. (daca

N=1987 atunci oglinditul va fi 7891)6. Folosind problema de mai sus, stabiliti daca

numarul N este palindrom.