Saturday, September 18, 2021 12:47

Cuprins >> Introducere > Bucla Do While

Bucla Do While

Bucla Do While este folosită atunci când vrem să fim siguri că instrucțiunile vor fi executate cel puțin o dată, chiar și atunci când condiția buclei este evaluată ca fiind falsă. Așa cum am învățat în lecția precedentă, o buclă este un construct care ne permite să executăm una sau mai multe instrucțiuni în mod repetat, până când o condiție este evaluată ca fiind falsă.

Forma generală a unei bucle Do While arată astfel:

Dacă veți compara această buclă cu bucla While explicată în postarea anterioară, veți observa cu ușurință că verificarea condițională se efectuează DUPĂ executarea instrucțiunilor din corpul buclei. Acest lucru înseamnă că instrucțiunile vor fi executate CEL PUȚIN O DATĂ, chiar și atunci când condiția va fi evaluată ca fiind falsă.

În primul rând, programul va rula instrucțiunile, iar mai apoi va evalua condiția. În cazul în care condiția returnează Adevărat, aceasta va rula din nou instrucțiunile; dacă nu, execuția codului va sări la prima instrucțiune care urmează după bucla do while.

Iată un exemplu de utilizare a buclei Do While, calcularea factorialelor unui număr:

Dacă vă amintiți de la matematică, factorialul unui număr întreg pozitiv este produsul tuturor numerelor întregi mai mari decât 0 și mai mic sau egal cu numărul în sine. De exemplu, factorialul lui 3 este:

Deci, codul de mai sus va afișa următoarea ieșire:

bucla do while

Când programul se execută, începe mai întâi cu rezultatul 1, apoi o multiplicare ulterioară a rezultatului fiecărei iterații a buclei, reducând în același timp n cu 1, până când ajunge la 0. Acest lucru ne oferă produsul n * (n-1) * ... * 1.

Această bucată de cod se execută întotdeauna cel puțin o dată, de aceea nu va funcționa corespunzător când n este mai mic sau egal cu 0.

Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip:

EXERCIȚII
1. Scrieți un program care calculează cu câte zerouri se sfârșește factorialul unui număr oarecare. Exemple:
N = 10 -> N! = 3628800 -> 2
N = 20 -> N! = 2432902008176640000 -> 4

Soluție


Instrucțiuni: Numărul de zerouri la sfârșitul lui n! depinde de câte ori numărul 10 este divizibil cu factorialul. Deoarece produsul 1*2*3…*n are mai mulți divizori ai lui 2 decât 5, și pentru că 10 = 2 * 5, numărul de zerouri în n! sunt exact la fel de mulți ca și multiplii cu valoarea 5 în produsul 1 * 2 * 3 * … * n. Deoarece fiecare al cincilea număr este divizibil cu 5, și fiecare al 25-lea număr este divizibil cu 5 de două ori, etc, numărul de zerouri în n! este suma: n/5 + n/25 + n/125 + …

2. Scrieți un program care cere introducerea unui număr întreg reprezentând numărul unei luni (1-12), până când numărul introdus este în intervalul corect, apoi afișați-l la consolă.

Soluție


Instrucțiuni: Folosiți o buclă do…while în care verificați dacă valoarea introdusă este în intervalul acceptat. Dacă nu, afișați mesajul de introducere a valorii din nou.

Tags: ,

Leave a Reply



Follow the white rabbit