0450 - Mini Calc

From Bitnami MediaWiki
Revision as of 15:43, 29 April 2023 by Tuca Liviu Razvan (talk | contribs) (→‎Rezolvare ver. 1)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință[edit | edit source]

Se citesc de la tastatură 3 numere naturale, a, b, c. Să se realizeze cu a și b operația codificată prin numărul c.

Date de intrare[edit | edit source]

Programul va citi de la tastatură 3 numere naturale.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran mesajul :

Dacă al treilea număr este 1 programul va afișa pe ecran suma primelor două numere.

Dacă al treilea număr este 2 programul va afișa pe ecran diferența dintre primul număr și al doilea.

Dacă al treilea număr este 3 programul va afișa pe ecran produsul primelor două numere.

Dacă al treilea număr este 4 programul va afișa pe ecran câtul împărțirii dintre primul număr și al doilea.

Dacă al treilea număr este 5 programul va afișa pe ecran restul împărțirii dintre primul număr și al doilea.

În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit | edit source]

  • Primele două numere sunt naturale, mai mici decât 32676.
  • Primul număr este mai mare sau egal cu al doilea.
  • Al doilea număr este nenul.
  • Al treilea număr este din mulțimea {1,2,3,4,5}.

Exemplul 1[edit | edit source]

Intrare
4 2 3
Ieșire
Datele de intrare corespund restricțiilor impuse.
8

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> def validare(a, b, c):

   if 0 <= a < 32676 and 0 < b < 32676 and a >= b and c in [1, 2, 3, 4, 5]:
       return True
   return False


def operatie(a, b, c):

   if c == 1:
       # Suma primelor doua numere
       rezultat = a + b
   elif c == 2:
       # Diferenta dintre primul si al doilea numar
       rezultat = a - b
   elif c == 3:
       # Produsul primelor doua numere
       rezultat = a * b
   elif c == 4:
       # Catul impartirii dintre primul si al doilea numar
       rezultat = a // b
   elif c == 5:
       # Restul impartirii dintre primul si al doilea numar
       rezultat = a % b
   return rezultat


if __name__ == "__main__":

   # Citim cele trei numere de la tastatura
   a = int(input("Introdu primul numar: "))
   b = int(input("Introdu al doilea numar: "))
   c = int(input("Introdu cifra operatiei dorite (1 pentru suma, 2 pentru diferenta, 3 pentru produs, 4 pentru catul impartirii, 5 pentru restul impartirii): "))
   if validare(a, b, c):  # Apelam functia de validare
       print("Datele de intrare corespund restricțiilor impuse.")  # In caz afirmativ afisam mesajul pozitiv si apelam functia operatie
       print(operatie(a, b, c))
   else:  # In caz contrar afisam mesajul corespunzator
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>