0335 - Expresie3
Sursa: [1]
Cerinţa
Să se scrie un program care citește numărul natural n și determină suma S=1*2-2*3+3*4-...±n*(n+1).
Date de intrare
Programul citește de la tastatură numărul n.
Date de iesire
Programul afișează pe ecran mesajul Rezultatul este S, unde S reprezintă valoarea calculată. În caz contrar programul v-a afișa "Datele nu corespund restricțiilor impuse."
Restricţii şi precizări
- 0 < n ⩽ 100
Exemplu
Exemplul 1
- Intrare
- 4
- Ieșire
- Datele introduse corespund cerintelor.
- Rezultatul este -12.
Exemplul 2
- Intrare
- 101
- Ieșire
- Datele nu corespund Cerintelor.
Exemplul 3
- Intrare
- 8
- Ieșire
- Rezultatul este -40.
Rezolvare
<syntaxhighlight lang="python" line>
- 0335
def expresie_3(n):
expresie = 0 semn = 1
for i in range(1, n + 1): expresie += semn * i * (i + 1) semn *= -1
print("Datele introduse corespund cerintelor.") print(expresie)
def validare_numar(n):
if not isinstance(n, int): print("Datele introduse nu corespund cerintelor.") return False elif n < 0 or n > 100: print("Datele introduse nu corespund cerintelor.") return False else: return True
if __name__ == "__main__":
numar = input("Introduceti un numar: ") try: numar = int(numar) if validare_numar(numar): expresie_3(numar) except ValueError: print("Datele introduse nu corespund cerintelor.")
</syntaxhighlight>
Explicatie rezolvare
Acest program primește ca input un număr întreg n și calculează valoarea unei expresii matematice, definită prin formula: 1*2 - 2*3 + 3*4 - 4*5 + ... +/- n*(n+1), în funcție de valoarea lui n. Programul afișează apoi valoarea expresiei calculate.
Mai precis, programul urmează următorii pași:
- Verifică dacă input-ul (n) respectă anumite condiții (trebuie să fie între 0 și 100). Dacă input-ul nu respectă aceste condiții, programul afișează un mesaj de eroare și se oprește.
- Inițializează valoarea expresiei (expresie) și un semn (semn) cu valoarea 1.
- Folosind o buclă for, se calculează suma parțială a expresiei pentru fiecare termen, folosind formula dată. La fiecare iterație, se actualizează valoarea expresiei (expresie) și semnul (semn) în funcție de iterația curentă (i).
- La sfârșit, programul afișează valoarea finală a expresiei calculate.