Está en la página 1de 6

Tb1-ADO-03-07 N-14

#CARLA QUISPE ESCALANTE 175101

#Modulo funcion superior:

def operar(fn,a,b,c,d):

return (fn(a,b,c,d))

# Módulo Leer opcion del menu:

def opcion(texto, Min, Max):

n = int(input(texto))

while ((n < Min) or (n > Max)):

print('ERROR. Número fuera de rango')

print("Las instrucciones solo son [0,1,2,3,4]")

print("")

n = int(input(texto))

return (n)

#Modulo validar numeros:

def validar(texto):

print("")

n=int(input("Ingrese numerador del "+ texto + " numero racional: "))

d=int(input("Ingrese denominador del "+ texto + " numero racional: "))

while d==0:

print("ERROR, el denominador no puede ser CERO")

d=int(input("Ingrese denominador del " + texto + " numero racional diferente de cero: "))

(n,d)=simplificar(n,d)

return (n,d)

#Modulo (MáximoComunDivisor):

def mcd(x,y):
resto=x%y

while resto!=0:

x=y

y=resto

resto=x%y

mcd=y

return (mcd)

#Modulo simplificar:

def simplificar(a,b):

m = mcd(a,b)

a= a // m

b = b // m

return (a,b)

#Modulo mostrar los numeros racionales:

def leer(a,b,c,d):

print("")

print("Los numeros racionales son: ")

print("")

print("RACIONAL1 = "+(str(a)+"/"+str(b)))

print("RACIONAL2 = "+(str(c)+"/"+str(d)))

print("")

#Módulo procesar Suma de los numeros racionales:

def operacion_adicion():

def suma(a,b,c,d):

numerador=a*d+b*c

denominador=b*d

(f,g)=simplificar(numerador,denominador)

return (f,g)
(a,b)=validar("Primer")

(c,d)=validar("Segundo")

leer(a,b,c,d)

(n1,d1)=operar(suma,a,b,c,d)

print("1._Suma de racionales es: " , (str(a)+"/"+str(b))+" + "+(str(c)+"/"+str(d))+" = "+


(str(n1)+"/"+str(d1)))

print("")

#Módulo procesar Resta de los numeros racionales:

def operacion_sustraccion():

def sustraccion(a,b,c,d):

numerador=a*d-b*c

denominador=b*d

(f,g)=simplificar(numerador,denominador)

return (f,g)

(a,b)=validar("Primer")

(c,d)=validar("Segundo")

leer(a,b,c,d)

(n2,d2)=operar(sustraccion,a,b,c,d)

print("2._Sustraccion de racionales es: ", (str(a)+"/"+str(b))+" - "+(str(c)+"/"+str(d))+" = "+


(str(n2)+"/"+str(d2)))

print("")

#Módulo procesar Multiplicacion de los numeros racionales:


def operacion_multiplicacion():

def multiplicacion(a,b,c,d):

numerador=a*c

denominador=b*d

(f,g)=simplificar(numerador,denominador)

return (f,g)

(a,b)=validar("Primer")

(c,d)=validar("Segundo")

leer(a,b,c,d)

(n3,d3)=operar(multiplicacion,a,b,c,d)

print("3._Multiplicacion de racionales es: ",(str(a)+"/"+str(b))+" x "+(str(c)+"/"+str(d))+" = "+


(str(n3)+"/"+str(d3)))

print("")

#Módulo procesar Division de los numeros racionales:

def operacion_division():

def division(a,b,c,d):

numerador=a*d

denominador=b*c

(f,g)=simplificar(numerador,denominador)

return (f,g)

(a,b)=validar("Primer")

(c,d)=validar("Segundo")

while c==0:

print("")
print("ERROR, el denominador saldra cero")

print("")

c=int(input("Ingrese numerador del SEGUNDO número racional (Diferente de cero): "))

leer(a,b,c,d)

(n4,d4)=operar(division,a,b,c,d)

print("4._Division de racionales es: ",(str(a)+"/"+str(b))+" // "+(str(c)+"/"+str(d))+" = "+


(str(n4)+"/"+str(d4)))

print("")

#CARLA QUISPE ESCALANTE

#Usando libreria donde estan nuestros modulos:

from modulos import *

#Modulo Menu:

def menu():

print(" ===================================")

print(" OPERACIONES CON NÚMEROS RACIONALES ")

print(" ===================================")

print("")

print("MENU: ")

print("")

print(" La opcion 1 es la Operacion Adicion.")

print(" La opcion 2 es la Operacion Sustraccion.")

print(" La opcion 3 es la Operacion Multiplicacion.")

print(" La opcion 4 es la Operacion Division.")

print(" La opcion 0 es Salir.")

print("")
#Módulo procesar números racionales:

def procesar():

while True:

menu()

u=opcion(">>>>> ¿Qué Opción desea realizar? ",0,4)

if u==0:

break

print("")

elif u==1:

operacion_adicion()

elif u==2:

operacion_sustraccion()

elif u==3:

operacion_multiplicacion()

elif u==4:

operacion_division()

print("")

print("----------OPERACIONES TERMINADAS----------")

#PROGRAMA PRINCIPAL:

procesar()

También podría gustarte