0335 - Expresie3: Difference between revisions
Dragos1234 (talk | contribs) No edit summary |
Dragos1234 (talk | contribs) |
||
Line 52: | Line 52: | ||
== Explicatie rezolvare == | == 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. |
Revision as of 12:55, 9 April 2023
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
- Rezultatul este -12.
Exemplul 2
- Intrare
- 101
- Ieșire
- Datele nu corespund restricțiilor impuse.
Exemplul 3
- Intrare
- 8
- Ieșire
- Rezultatul este -40.
Rezolvare
<syntaxhighlight lang="python" line>
- 0335
def expresie_3(n):
expresie = 0 semn = 1
if(n < 0 or n > 100): print("Datele introduse nu corespund cerintelor.")
for i in range(1, n + 1): expresie += semn * i * (i + 1) semn *= -1
print(f"Rezultatul este {expresie}.")
if __name__ == "__main__":
numar = int(input()) expresie_3(numar)
</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.