Sunteți pe pagina 1din 17

Iteraţii în PYTHON

Instrucţiunea WHILE

Funcția EVAL()
Iterațiile în PYTHON

 Iterațiile presupun repetarea execuției unei


secvențe de cod de un număr de ori.
 Iteratiile împreună cu structurile de decizie
formează baza construcției algoritmilor.
 Structura de programare care implementează
iterațiile se numește buclă.
Dacă dorim afișarea numerelor de la 1 la 5, putem
folosi funcția print de 5 ori, ca în exemplul de
mai jos:
Dar dacă dorim să afișăm toate numerele de la 1 la 5000?
Scriem print de 5000 de ori??? -este posibil, dar nu este
practic!

Soluția este folosirea unei variabile, de ex. i pe care o


inițializăm cu 1 și pe care o incrementăm, luând pe rând
toate valorile de la 1 la 5000.

De fiecare dată când variabila i este incrementată, este și


afișată.Acești pași de afișare și incrementare se repetă până
când i ajunge la valoarea 5000 sau 5 (pentru exemplul de
mai sus).

Pentru a permite aceste iterații, PYTHON folosește 2


structuri:WHILE și FOR
Instrucțiunile iterative
• Instrucțiunile iterative au rolul de a executa
repetitiv o instrucțiune sau un set de
instrucțiuni, până la îndeplinirea unei condiții
de ieșire.
• Instrucțiunea iterativă while se utilizează
pentru a repeta o instrucțiune sau un bloc de
instrucțiuni atâta timp cât condiția este
adevarată.
WHILE

În exemplul de mai sus, instrucțiunile print(i) și i+=1 se repetă de 5


ori (pentru i=0, i=1, ...i=5)
Dacă dorim să afișăm toate numerele de la 1 la 5000, înlocuim 5 cu
5000.
Sintaxa lui WHILE este:

• while - este un cuvânt cheie care marchează începutul iteratiei.


• conditie - determină dacă instrucțiunile din block vor fi sau nu
executate. În cazul în care conditie este True, instrucțiunile din
block (corpul lui while) vor fi executate până când condiția devine
False. Atunci când condiția este falsă, instrucțiunile nu vor mai fi
executate. După conditie se pune întotdeauna două puncte (:)
• block - este format din una sau mai multe instrucțiuni care sunt
executate dacă condiția este adevarată.
• dacă conditie este falsă de la început, atunci nu se execută nici o
instrucțiune și while se termină
Sintaxa lui WHILE este:
Exemplu: Să se calculeze suma tuturor numerelor
pozitive introduse de la tastatură. Introdurecea unui
numar negativ va opri structura while.
Funcția EVAL()
Funcția eval evaluează input-ul produs de funcția input
și transformă automat în tipul de date corespunzator:
Exemplu: Funcția eval poate fi utilizată pentru a
introduce mai multe valori folosind functia input
• Variabila nr este inițializată cu 0, astfel încât condiția să fie cel puțin o
dată adevarată. Aceasta garantează ca instrucțiunile din structura while
(nr=eval(input("Introduceti un numar: ")) și sum+=nr) sunt executate cel
puțin o data.
• Variabila nr va conține numărul introdus de utilizator. Valoarea acesteia
se va schimba de fiecare dată când utilizatorul introduce un nou număr.
• Variabila sum se mai numește și acumulator, deoarece acumulează
toate numerele pe care utilizatorul le introduce.
• Programul nu numară câte valori au fost introduse, doar adună aceste
valori în variabila sum.
Bucla definită/Bucla nedefinită
• În exemplul de mai sus în care ne dorim afișarea
tuturor numerelor de la 1 la 5, putem determina
incă de la începutul programului numărul de iterații
pe care bucla while il va executa (în acest caz, 5
iterații). Aceasta buclă se numeste buclă definită.
• În exeplul al doilea, în care se adună numerele
pozitive introduse de utilizator, nu putem prezice
numărul de iterații de la început. Numărul de
iterații depinde de ceea ce va introduce utilizatorul.
În acest caz, această buclă se numește buclă
nedefinită.
Bucla infinită
Exemple
Rezolvă independent, utilizând WHILE
1. Se introduc succesiv numere nenule până la introducerea numărului 0.
Să se afişeze suma tuturor numerelor introduse. Exemplu: Date de
intrare 3 5 4 2 0 Date de ieşire 14.
2. Se citesc pe rând temperaturile medii ale fiecărei luni a unui an, ca
numere întregi. Să se afişeze cu două zecimale media anuală a
temperaturilor pozitive şi a celor negative. Exemplu: Date de intrare -5
-3 1 8 12 17 20 21 18 10 6 -2 Date de ieşire medie_poz=13.66
medie_neg=-3.33.
3. Se citesc numere de la tastatură până la introducerea unui număr impar
divizibil cu 3. Să se afişeze suma tuturor numerelor pare introduse.
Exemplu: Date de intrare 7 4 6 2 1 9 Date de ieşire 12.
4. Elaborați un program care va calcula suma, produsul și media aritmetică
a numerelor de la 1 la n, pentru n introdus de la tastatură.

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