0451 - Calcul

From Bitnami MediaWiki
Revision as of 17:57, 22 April 2023 by Vardai Erwin (talk | contribs) (→‎Exemplul 1)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință

Se citește de la tastatură un număr natural de maxim 2 cifre . Să se afișeze pe ecran valori astfel: dacă numărul este mai mic sau egal cu 15 se va afișa pătratul valorii sale; dacă numărul este cuprins între 16 și 30 (inclusiv) se va afișa suma cifrelor sale; în caz contrar se va afișa produsul cifrelor sale.

Date de intrare

Programul va citi de la tastatură un număr natural cu cel mult două cifre.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa o valoare conform descrierii din cerință. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

Numărul citit este cuprins între 0 și 99, inclusiv.

Exemplul 1

Intrare
12
Ieșire
Datele de intrare corespund restricțiilor impuse.
144

Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1"> def validare(numar):

   """
   Funcție care validează dacă un număr este între 0 și 99 inclusiv.
   """
   if numar < 0 or numar > 99:
       return False
   else:
       return True


def procesare_numar(numar):

   """
   Funcție care procesează un număr conform cerințelor specifice.Prima data stabilim in ce interval se afla numarul.
   """
   if numar <= 15:
       print(numar ** 2)
   elif numar >= 16 and numar <= 30:
       suma_cifrelor = sum(int(digit) for digit in str(numar))
       print(suma_cifrelor)
   else:
       produs_cifrelor = 1
       for cifra in str(numar):
           produs_cifrelor *= int(cifra)
       print(produs_cifrelor)


if __name__ == "__main__":

   numar = int(input("Introduceți un număr natural de maxim 2 cifre: "))  # Citim numarul de la tastatura
   if validare(numar):  # Aplicam functia validare pentru a determina daca numarul este valid
       print(
           "Datele de intrare corespund restricțiilor impuse.")  # In caz afirmativ afisam mesajul urmator si apelam functia
       procesare_numar(numar)
   else:  # In caz contrar afisam mesajul corespunzator
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>