3976 - Prod Impare: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Tags: Manual revert Visual edit
 
(11 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 numărul '''P''', reprezentând produsul primelor '''n''' numere impare, în caz contrar programul va afișa "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 ==
* 1 ⩽ '''n''' ⩽ 15
* 1 ⩽ '''n''' ⩽ 15
Line 13: Line 14:
: 4
: 4
; Ieșire
; Ieșire
: Datele introduse corespund cerințelor.
: 105
: 105
=== Exemplul 2 ===
=== Exemplul 2 ===
; Intrare
; Intrare
Line 23: Line 26:
: 7
: 7
; Ieșire
; Ieșire
: Datele introduse corespund cerințelor.
: 135135
: 135135
=== Rezolvare ===
=== Rezolvare ===
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
Line 49: 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>
 
== 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.


</syntaxhighlight>
Î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.