<jupyter_start><jupyter_text>Capítulo 4   Son los problemas del capítulo 4 del libro  1. Leer un número entero, encontrar su valor absoluto e imprimir número y valor absoluto.<jupyter_code>import math
def ValorAbsoluto(X):
    if X < 0:
        return X * -1
    elif X > 0:
        return X
    else:
        return 0

X = int(input('Ingrese un numero > '))
print('El valor absoluto es %s' % ValorAbsoluto(X))<jupyter_output>Ingrese un numero > -10
El valor absoluto es 10<jupyter_text>2. Leer los valores de cuatro enteros: A, B, C y D. Imprimir el mensaje “SÍ”, si el valor de A/B = C/D; en caso contrario, imprimir el mensaje “NO”. Si alguno de los valores de B o D es cero, imprimir Indefinido.<jupyter_code>def mensaje(A, B, C, D):
    if (B or D) == 0:
        print("Indefinido")
    elif A/B == C/D:
        print("Si")
    else:
        print("No")

print("Inserta 4 numeros enteros")
A = int(input())
B = int(input())
C = int(input())
D = int(input())

mensaje(A, B, C, D)
print("Inserta 4 numeros enteros")
A = int(input())
B = int(input())
C = int(input())
D = int(input())

mensaje(A, B, C, D)
print("Inserta 4 numeros enteros")
A = int(input())
B = int(input())
C = int(input())
D = int(input())

mensaje(A, B, C, D)<jupyter_output>Inserta 4 numeros enteros
4
5
9
8
No<jupyter_text>3. Calcular el valor de CAT, el cual depende de las siguientes relaciones:  Si x > 0, CAT = (A+B)(C+D) Si x = 0, CAT= (A+B)/(C+D) Si x < 0, CAT = A+B-C+D Imprimir CAT.<jupyter_code>def valor_CAT(x,A,B,C,D):
    if x > 0:
        CAT = (A+B)*(C+D)
    elif x == 0:
        CAT = (A+B)/(C+D)
    else:
        CAT = A+B+C+D
    return CAT

x = float(input("Inserta el valor de x: "))
A = float(input("Inserta un numero: "))
B = float(input("Inserta otro numero: "))
C = float(input("Inserta otro numero: "))
D = float(input("Inserta otro numero: "))

print("El valor de CAT es {}".format(round(valor_CAT(x,A,B,C,D),2)))
x = float(input("Inserta el valor de x: "))
A = float(input("Inserta un numero: "))
B = float(input("Inserta otro numero: "))
C = float(input("Inserta otro numero: "))
D = float(input("Inserta otro numero: "))

print("El valor de CAT es {}".format(round(valor_CAT(x,A,B,C,D),2)))
x = float(input("Inserta el valor de x: "))
A = float(input("Inserta un numero: "))
B = float(input("Inserta otro numero: "))
C = float(input("Inserta otro numero: "))
D = float(input("Inserta otro numero: "))

print("El valor de CAT es {}".format(round(valor_CAT(x,A,B,C,D),2)))<jupyter_output>Inserta el valor de x: 0
Inserta un numero: 1
Inserta otro numero: 8
Inserta otro numero: 90
Inserta otro numero: 14
El valor de CAT es 0.09<jupyter_text>4. Calcular el valor de X1 y X2 a partir de la ecuación general cuadrática: Imprimir los valores de X1 y X2 o los mensajes de errores respectivos.<jupyter_code>import math 
a = float(input("Inserte el valor de a: "))
b = float(input("Inserte el valor de b: "))
c = float(input("Inserte el valor de c: "))

if a != 0:
    #Aqui es donde hay que tener cuidado, estas son las formulas
    x1 = (-b + math.sqrt(b**2 - 4*a*c)) / (2 * a)
    #Esta tiene el "-" antes del sqrt porque es la 2da solucion
    x2 = (-b - math.sqrt(b**2 - 4*a*c)) / (2 * a)
    print("La soluciones son x1 = {} y x2 = {} ".format(x1,x2))
else:
    if b != 0:
        x = -c / b
        print("La solucion es x = {}".format(x))
    else:
        if c!=0:
            print("No tiene solucion.")
        else:
            print("Tiene infinitas soluciones.")<jupyter_output>Inserte el valor de a: 1
Inserte el valor de b: -10
Inserte el valor de c: 9
La soluciones son x1 = 9.0 y x2 = 1.0<jupyter_text>5. Leer un número: si es > 100, sumarle 20; si el número es = 100, sumarle uno; si el número es < 100, restarle 20. Imprimir el número después de hacer el cálculo.<jupyter_code>def calculo(n):
    if n > 100:
        return n + 20
    else:
        if n == 100:
            return n + 1
        else:
            return n - 20
n = float(input("Inserta un numero: "))        
print("El resultado es ", calculo(n))
n = float(input("Inserta un numero: "))        
print("El resultado es ", calculo(n))
n = float(input("Inserta un numero: "))        
print("El resultado es ", calculo(n))<jupyter_output>Inserta un numero: 120
El resultado es  140.0<jupyter_text>6. Leer 3 números, y determinar cuál es el mayor y cuál el menor. Imprimir el mayor y el menor con sus respectivos mensajes.<jupyter_code>def determinar_mayor(a,b,c):
    if a > b and a > c:
        print(a, "Es el mayor")
    else:
        if b > a and b > c:
            print(b, "Es el mayor")
        else:
            print(c, "Es el mayor")
            
def determinar_menor(a,b,c):
    if a < b and a < c:
        print(a, "Es el menor")
    else:
        if b < a and b < c:
            print(b, "Es el menor")
        else:
            print(c, "Es el menor")

a = float(input("Inserte primer numero: "))
b = float(input("Inserte segundo numero: "))
c = float(input("Inserte tercer numero: "))

determinar_mayor(a,b,c)
determinar_menor(a,b,c)<jupyter_output>Inserte primer numero: 1
Inserte segundo numero: 2
Inserte tercer numero: 3
3.0 Es el mayor
1.0 Es el menor<jupyter_text>7. Leer dos cantidades, una de monto adeudado y otra de pago de la deuda. Comparar ambas: si son iguales, el cliente no debe nada y ha pagado todas sus facturas; si el pago es mayor que la deuda, el cliente tiene un crédito a su favor y se calcula el monto de crédito; si el pago es menor que la deuda, se calcula la nueva deuda agregándole el cálculo del 3% de interés. Imprimir la información de entrada y la salida.<jupyter_code>def calculadora_de_deudas(monto_adeudado, pago_deuda):
    if monto_adeudado == pago_deuda:
        print("Usted no debe nada y ha pagado todas sus facturas")
    else:
        if pago_deuda > monto_adeudado:
            print("Usted tiene credito a su favor")
        else:
            nueva_deuda = (monto_adeudado-pago_deuda)*1.03
            print(nueva_deuda)

monto_adeudado = float(input("Inserte el monto_adeudado: "))
pago_deuda = float(input("Inserte el pago de la deuda: "))

calculadora_de_deudas(monto_adeudado, pago_deuda)<jupyter_output>Inserte el monto_adeudado: 150
Inserte el pago de la deuda: 25
128.75<jupyter_text>8. Leer un carácter y determinar si es una vocal o un número.<jupyter_code>def vocal_o_numero(caracter):
    vocales = ["a","e","i","o","u","A","E","I","O","U"]
    if caracter in vocales:
        print("Es una vocal")
    else:
        print("Es un numero")

caracter = input("Inserte un caracter o numero: ")
vocal_o_numero(caracter)
caracter = input("Inserte un caracter o numero: ")
vocal_o_numero(caracter)<jupyter_output>Inserte un caracter o numero: 5
Es un numero<jupyter_text>9. Leer los datos de un empleado: nombre, horas trabajadas y sueldo por hora. Calcular el sueldo del empleado. Si las horas trabajadas no pasan de 40, el sueldo se calcula de la siguiente forma: sueldo por hora por horas trabajadas. Si el empleado trabaja más de 40 horas, su sueldo se calcula así: 40 * sueldo por hora + horas extras * sueldo por hora * 1.5.<jupyter_code>def calcular_sueldo(horas_trabajadas,sueldo_por_hora):
    if horas_trabajadas <= 40:
        sueldo = horas_trabajadas * sueldo_por_hora
        print("El sueldo es {}".format(sueldo))
    else:
        horas_extra = horas_trabajadas - 40
        sueldo = 40*(sueldo_por_hora*horas_extra)*1.5
        print("El sueldo es {}".format(sueldo))
        
nombre = str(input("Inserte el nombre del empleado: "))
horas_trabajadas = float(input("Inserte las horas_trabajadas: "))
sueldo_por_hora = float(input("Inserte el sueldo_por_hora: "))

print(nombre)
calcular_sueldo(horas_trabajadas, sueldo_por_hora)<jupyter_output>Inserte el nombre del empleado: Fernando
Inserte las horas_trabajadas: 50
Inserte el sueldo_por_hora: 100
Fernando
El sueldo es 60000.0
{'fraction_non_alphanumeric': 0.12334183673469387, 'fraction_numerical': 0.020025510204081633, 'mean_word_length': 3.4678062678062678, 'pattern_counts': {'":': 0, '<': 36, '<?xml version=': 0, '>': 40, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '252398', 'license': 'MIT', 'n_tokens_mistral': 3134, 'n_tokens_neox': 3023, 'n_words': 957, 'path': 'Cap4/Capitulo 4_parte1.ipynb', 'repo_name': 'FernandoCutire/Introducci-n-a-la-programaci-n-orientada-a-objetos', 'size': '7840'}