0450 - Mini Calc

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Cerință

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

Programul va citi de la tastatură 3 numere naturale.

Date de ieșire

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

  • 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

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

Rezolvare

Rezolvare ver. 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.")