3976 - Prod Impare: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Tags: Manual revert Visual edit
 
(6 intermediate revisions by 2 users not shown)
Line 5: Line 5:
Programul citește de la tastatură numărul '''n'''.
Programul citește de la tastatură numărul '''n'''.
== Date de iesire ==
== Date de iesire ==
Programul va afișa pe ecran, pe o linie nouă numărul '''P''' și mesajul "Datele introduse corespund cerințelor", reprezentând produsul primelor '''n''' numere impare, în caz contrar programul va afișa pe o linie nouă "Datele introduse nu corespund cerințelor".
Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și  pe o linie nouă numărul '''P''' reprezentând produsul primelor '''n''' numere impare, în caz contrar programul va afișa pe o linie nouă "Datele introduse nu corespund cerințelor".


== Restricţii şi precizări ==
== Restricţii şi precizări ==
Line 54: Line 54:
         produs *= i
         produs *= i
     return produs
     return produs


if __name__ == '__main__':
if __name__ == '__main__':
     n = validare_numar_intreg_pozitiv("Introduceti un numar natural nenul: ")
     n = validare_numar_intreg_pozitiv("Introduceti un numar natural nenul: ")
     produs = produs_primelor_n_numere_impare(n)
     produs = produs_primelor_n_numere_impare(n)
     print("Datele introduse corespund cerintelor.")
     print("Datele introduse corespund cerintelor.\n",produs)
    print("Produsul primelor", n, "numere impare este:", produs)
</syntaxhighlight>


</syntaxhighlight>
== Explicatie rezolvare ==
Acest program calculează produsul primelor n numere impare, unde n este un număr natural dat de utilizator. Funcția "validare_numar_intreg_pozitiv(mesaj)" primește un argument "mesaj" care este afișat pentru a îndruma utilizatorul să introducă un număr natural nenul. În cadrul acestei funcții, programul verifică dacă numărul introdus este mai mic sau egal cu 0 sau mai mare decât 15, afișând un mesaj de eroare în caz contrar. Dacă numărul este un număr natural între 1 și 15, acesta este returnat și funcția se termină. În caz contrar, utilizatorul este rugat să introducă un alt număr.
 
Funcția "produs_primelor_n_numere_impare(n)" primește un argument "n" și calculează produsul primelor n numere impare. Produsul este inițializat cu 1 și apoi, folosind un ciclu for, se calculează produsul valorilor impare din intervalul [1, 2n], adică valorile 1, 3, 5, ..., 2n-1.
 
În programul principal, utilizatorul este întâi rugat să introducă un număr natural nenul, care este verificat pentru a se asigura că corespunde cerințelor prin intermediul funcției "validare_numar_intreg_pozitiv(mesaj)". Dacă numărul este valid, programul calculează produsul și îl afișează împreună cu un mesaj de confirmare că datele introduse sunt valabile.

Latest revision as of 17:52, 14 May 2023

Sursa: [1]

Cerinţa[edit | edit source]

Se dă numărul natural nenul n. Să se determine produsul primelor n numere impare.

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul n.

Date de iesire[edit | edit source]

Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul P reprezentând produsul primelor n numere impare, în caz contrar programul va afișa pe o linie nouă "Datele introduse nu corespund cerințelor".

Restricţii şi precizări[edit | edit source]

  • 1 ⩽ n ⩽ 15

Exemplu[edit | edit source]

Exemplul 1[edit | edit source]

Intrare
4
Ieșire
Datele introduse corespund cerințelor.
105

Exemplul 2[edit | edit source]

Intrare
0
Ieșire
Datele introduse nu corespund cerințelor.

Exemplul 3[edit | edit source]

Intrare
7
Ieșire
Datele introduse corespund cerințelor.
135135

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 3976

def validare_numar_intreg_pozitiv(mesaj):

   while True:
       try:
           numar = int(input(mesaj))
           if numar <= 0:
               print("Datele introduse nu corespund cerintelor.")
           elif numar > 15:
               print("Datele introduse nu corespund cerintelor.")
           else:
               return numar
       except ValueError:
           print("Introduceti un numar intreg pozitiv.")


def produs_primelor_n_numere_impare(n):

   produs = 1
   for i in range(1, 2*n, 2):
       produs *= i
   return produs


if __name__ == '__main__':

   n = validare_numar_intreg_pozitiv("Introduceti un numar natural nenul: ")
   produs = produs_primelor_n_numere_impare(n)
   print("Datele introduse corespund cerintelor.\n",produs)

</syntaxhighlight>

Explicatie rezolvare[edit | edit source]

Acest program calculează produsul primelor n numere impare, unde n este un număr natural dat de utilizator. Funcția "validare_numar_intreg_pozitiv(mesaj)" primește un argument "mesaj" care este afișat pentru a îndruma utilizatorul să introducă un număr natural nenul. În cadrul acestei funcții, programul verifică dacă numărul introdus este mai mic sau egal cu 0 sau mai mare decât 15, afișând un mesaj de eroare în caz contrar. Dacă numărul este un număr natural între 1 și 15, acesta este returnat și funcția se termină. În caz contrar, utilizatorul este rugat să introducă un alt număr.

Funcția "produs_primelor_n_numere_impare(n)" primește un argument "n" și calculează produsul primelor n numere impare. Produsul este inițializat cu 1 și apoi, folosind un ciclu for, se calculează produsul valorilor impare din intervalul [1, 2n], adică valorile 1, 3, 5, ..., 2n-1.

În programul principal, utilizatorul este întâi rugat să introducă un număr natural nenul, care este verificat pentru a se asigura că corespunde cerințelor prin intermediul funcției "validare_numar_intreg_pozitiv(mesaj)". Dacă numărul este valid, programul calculează produsul și îl afișează împreună cu un mesaj de confirmare că datele introduse sunt valabile.