Acumulare
Calculezi sume și produse prin prelucrare secvențială.
Sume, produse, minim, maxim și alte prelucrări secvențiale.
Calculezi sume și produse prin prelucrare secvențială.
Determini minimul și maximul prin actualizare.
Numeri elementele care îndeplinesc o condiție.
Combini mai multe prelucrări într-o singură parcurgere.
Cu ce valori inițializăm, în mod obișnuit, suma și produsul?
Pentru S=x₁+x₂+...+xₙ folosim un acumulator. Pornim de la 0 și adăugăm fiecare element.
Pentru P=x₁·x₂·...·xₙ pornim de la 1, elementul neutru al înmulțirii.
O inițializare sigură este primul element al șirului. Apoi comparăm fiecare element următor cu valoarea curentă.
Folosim un contor inițializat cu 0 și îl creștem atunci când condiția este adevărată.
Media aritmetică este suma împărțită la numărul de valori: M=(x₁+...+xₙ)/n.
Pentru sumă, totalul evoluează 0→8→15→25→34→40.
Pentru maxim, valoarea curentă evoluează 8→8→10→10→10.
Pentru numărul notelor cel puțin 9, contorul evoluează 0→0→1→2→2.
Ce este 0→1→2 în exemplul de mai sus?
n = int(input())
suma = 0
for i in range(n):
x = int(input())
suma = suma + x
print(suma)n = int(input())
x = int(input())
minim = x
maxim = x
for i in range(n - 1):
x = int(input())
if x < minim:
minim = x
if x > maxim:
maxim = x
print(minim)
print(maxim)suma = 0
numar_pare = 0
for i in range(n):
x = int(input())
suma += x
if x % 2 == 0:
numar_pare += 1Mai multe rezultate pot fi actualizate în aceeași buclă.
citește n
suma ← 0
pentru i 1,n execută
citește x
suma ← suma + x
sfârșit pentru
scrie sumacitește n
citește x
minim ← x
maxim ← x
pentru i 2,n execută
citește x
dacă x < minim atunci minim ← x
dacă x > maxim atunci maxim ← x
sfârșit pentru
scrie minim, maxim0 este elementul neutru al adunării.
1 este elementul neutru al înmulțirii.
Primul element este o inițializare sigură atunci când n≥1.
Contorul numără apariții; acumulatorul adună sau înmulțește valori.
Se citește n și apoi n numere naturale. Determinați suma, produsul, cel mai mic număr, cel mai mare număr și câte numere sunt pare.
Folosim primul element pentru inițializarea sumei, produsului, minimului și maximului. Verificăm și paritatea acestuia, apoi prelucrăm celelalte n−1 valori în aceeași parcurgere.
n = int(input())
x = int(input())
suma = x
produs = x
minim = x
maxim = x
numar_pare = 1 if x % 2 == 0 else 0
for i in range(n - 1):
x = int(input())
suma += x
produs *= x
if x < minim:
minim = x
if x > maxim:
maxim = x
if x % 2 == 0:
numar_pare += 1
print(suma)
print(produs)
print(minim)
print(maxim)
print(numar_pare)| x | suma | produs | min | max | pare |
|---|---|---|---|---|---|
| 8 | 8 | 8 | 8 | 8 | 1 |
| 7 | 15 | 56 | 7 | 8 | 1 |
| 10 | 25 | 560 | 7 | 10 | 2 |
| 9 | 34 | 5040 | 7 | 10 | 2 |
| 6 | 40 | 30240 | 6 | 10 | 3 |
Include n=1, valori egale, 0 și valori negative dacă sunt permise de enunț.
Rezultatele se pot verifica independent: suma 40, produsul 30240, minim 6, maxim 10, trei valori pare.
Programul citește n rezultate, valori între 1 și 10, și afișează suma, media, minimul, maximul, numărul rezultatelor de 10, numărul rezultatelor mai mici decât 5, dacă există cel puțin un 10 și dacă toate rezultatele sunt cel puțin 5.
Recitește explicațiile și verifică rezultatele înainte de a marca lecția.