3985 - Suma C2: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Dragos1234 (talk | contribs)
Line 11: Line 11:
În continuare, programul primește '''n''' numere naturale de la utilizator, verificând dacă fiecare număr este mai mic decât '''1.000.000.000'''. Dacă se introduce un număr mai mare, programul va afișa o eroare și va întrerupe introducerea de date.
În continuare, programul primește '''n''' numere naturale de la utilizator, verificând dacă fiecare număr este mai mic decât '''1.000.000.000'''. Dacă se introduce un număr mai mare, programul va afișa o eroare și va întrerupe introducerea de date.


Apoi, programul calculează suma tuturor numerelor cu două cifre din lista de numere introduse folosind funcția definită suma_doua_cifre. Funcția parcurge lista de numere și adună numerele cu două cifre. Suma este apoi returnată și afișată în consolă.
Apoi, programul calculează suma tuturor numerelor cu două cifre din lista de numere introduse folosind funcția definită suma_doua_cifre. Funcția parcurge lista de numere și adună numerele cu două cifre. Suma este apoi returnată și afișată, iar în consolă se va afișa mesajul "Datele introduse corespund cerintelor."În caz contrar programul va afișa mesajul "Datele introduse nu corespund cerintelor."


== Restricţii şi precizări ==
== Restricţii şi precizări ==

Revision as of 17:34, 12 May 2023

Sursa: [1]

Cerinţa

Se dau n numere naturale. Calculați suma celor care au exact două cifre.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire

Acest program primește un număr n de la utilizator, reprezentând numărul de numere naturale pe care utilizatorul dorește să le introducă. Programul verifică dacă n este între 1 și 1000, altfel va afișa o eroare.

În continuare, programul primește n numere naturale de la utilizator, verificând dacă fiecare număr este mai mic decât 1.000.000.000. Dacă se introduce un număr mai mare, programul va afișa o eroare și va întrerupe introducerea de date.

Apoi, programul calculează suma tuturor numerelor cu două cifre din lista de numere introduse folosind funcția definită suma_doua_cifre. Funcția parcurge lista de numere și adună numerele cu două cifre. Suma este apoi returnată și afișată, iar în consolă se va afișa mesajul "Datele introduse corespund cerintelor."În caz contrar programul va afișa mesajul "Datele introduse nu corespund cerintelor."

Restricţii şi precizări

  • 1 ⩽ n ⩽ 1000
  • cele n numere citite vor fi mai mici decât 1.000.000.000.

Exemplul 1

Intrare
5
1000 20 3 41 576
Ieșire
Datele introduse corespund cerintelor.
61


Exemplul 2

Intrare
2
541 99
Ieșire
Datele introduse corespund cerintelor.
99


Exemplul 3

Intrare
1001
Ieșire
Datele introduse nu corespund cerintelor.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 3985

def validare_numar(n):

   try:
       n = int(n)
       if not (1 <= n <= 1000):
           print("Datele introduse nu corespund cerintelor.")
           exit()
       return n
   except ValueError as e:
       print("Eroare:", e)
       return None


def validare_numere(n):

   numere = []
   for i in range(n):
       try:
           num = int(input("Introduceți un număr natural mai mic decât 1.000.000.000: "))
           if not (0 <= num < 1000000000):
               print("Datele introduse nu corespund cerintelor.")
               exit()
           if len(str(num)) == 2:
               numere.append(num)
       except ValueError as e:
           print("Eroare:", e)
           break
   return numere


if __name__ == "__main__":

   n = input("Introduceți numărul de numere naturale (1 ≤ n ≤ 1000): ")
   n = validare_numar(n)
   if n is not None:
       numere = validare_numere(n)
       S = sum(numere)
       print("Datele introduse corespund cerintelor\n",S)

</syntaxhighlight>

Explicatie rezolvare

Acest program este o implementare a unei aplicații care primește un număr "n" și "n" numere naturale mai mici decât 1.000.000.000. Programul validează întâi numărul "n" și apoi validează cele "n" numere introduse de utilizator. Dacă numărul "n" și numerele introduse trec de verificările de validare, atunci suma numerelor este afișată ca rezultat.

Mai precis, funcția "validare_numar" verifică dacă numărul "n" este un întreg și dacă este între 1 și 1000. Dacă nu este, atunci programul afișează un mesaj de eroare și se oprește cu ajutorul instrucțiunii "exit()". Funcția "validare_numere" primește numărul "n" și verifică fiecare dintre cele "n" numere introduse de utilizator. Verificările includ dacă numerele sunt întregi și dacă sunt mai mici decât 1.000.000.000. Dacă numărul are exact două cifre, atunci este adăugat la o listă de numere. Dacă apare o eroare în timpul verificărilor, programul afișează un mesaj de eroare și se oprește cu ajutorul instrucțiunii "break". În final, suma numerelor valide este afișată ca rezultat, împreună cu un mesaj care confirmă că datele introduse au corespuns cerințelor.