1 / 8

Structura Repetitiva Cu Numar Necunoscut De Repetitii

Structura Repetitiva Cu Numar Necunoscut De Repetitii. Tipuri de structuri repetitive.

asabi
Download Presentation

Structura Repetitiva Cu Numar Necunoscut De Repetitii

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. StructuraRepetitiva Cu NumarNecunoscut De Repetitii

  2. Tipuri de structuri repetitive Existatreitipuri de structuri repetitive: 1) Structura cu numarcunoscut de repetitii (FOR) 2) Structura cu numarnecunoscut de repetitiisi cu test initial (WHILE) 3) Structura cu numarnecunoscut de repetitiisi cu test final (DO-WHILE)

  3. while Sintaxa : while (expresie_logica) S; Efect Pas1: Se evalueazaexpresialogica Pas2:Daca valoareaexpresieilogiceeste 1 (adevarata) se executainstructiunea Ssi se revine la pasul 1 Pas3:daca valoareaexpresieilogiceeste zero (falsa) se continua cu instructiunea de dupapunct-virgula Observatii: • dacavaloareaexpresieilogiceestefalsa de la inceputatunciinstructiunea S nu se maiexecuta • daca WHILE trebuiesarepetemaimult de o instructiune, acestea se vorincadraintreacolade; • instructiunea WHILE se mainumeste “repetitiva cu test initial”sau“conditionata anterior”, pentru ca intaiverificavaloareaconditieisiapoiexecutasecventacetrebuierepetata 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.

  4. Exemplu ……… main() { int A, B, C=0; cin>>A>>B; while(A>=B) {A=A-B; C++;}; cout<<"catuleste :"<<C<<endl; cout<<"restuleste : "<<A; }

  5. Probleme • Se citeste un sir de numereintregipana la intoducerealui0 (Ex: 23, -4, 5, 12, 79, 0). • Stabilitinumarul de valoripozitive din sir • Afisativaloarea minima si maxima din sir • Catenumereimparesunt in sir? • Algoritmul lui Euclid. Determinarea cmmdc şi cmmmc a 2 numere.

  6. Do while • Sintaxa: do { S} while (conditie) ; • Efect: Pas1: se executasecventa de instructiuni S Pas2: se evalueazaconditie Pas3: dacavaloareaconditieiesteadevarata se revine la pasul 1 Pas4: dacavaloareaconditieiestefalsa se continua cu instructiunea de dupapunctsivirgula • Observatii: • do-while se mainumesteinstructiune cu test final sauconditionata posterior • observati ca intai se executasecventa de instructiuni (macar o data) siapoi 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.

  7. 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:oricenumar are o ultimacifra, motivpentru care intai o prelucramsieliminam , siabiaapoiverificamdacamaisuntcifre de prelucrat. Algoritmc++: main(){ unsigned intx,s=0;cout<< “x=“;cin>>x;do { s=s+x%10;x=x/10;} while(x!=0) ;cout<< “Suma cifrelor=“<<s<<endl;}

  8. Probleme Fie N un numar natural. • Catecifre are N? • Care esteceamai mare cifra din numar? (valoarea maxima). Analog minima. • Sa se determine prima cifra a numarului N. • De cateoriapare o cifra data C, in numarul N? • Sa se genereze “oglinditul” numarului N. (daca N=1987 atuncioglinditulvafi 7891) • Folosindproblema de maisus, stabilitidacanumarul N estepalindrom.

More Related