Está en la página 1de 8

UNIVERSIDAD PRIVADA DEL VALLE

SUBSEDE SUCRE
FACULTAD DE TECNOLOGIA
CARRERA INGENIERIA CIVIL

MATERIA: Computación
Alumno: Miranda Condori Michael Efrain
DOCENTE: Ing. Subieta Magariños Edwin

FECHA: 20/03/2023

SUCRE – BOLIVIA
Laboratorio Funciones
1)Desarrollar una función para encontrar las raíces de la ecuación cuadrática: ax^2+bx+c=0

from cmath import sqrt


from typing import Tuple, Union
def solve(
    a: Union[int, float],
    b: Union[int, float],
    c: Union[int, float],
) -> Tuple[float, float]:
    d = b**2 - 4*a*c
    if d < 0:
        x1 = (-b + sqrt(d)) / (2*a)
        x2 = (-b - sqrt(d)) / (2*a)
    elif d == 0:
        x1 = x2 = -b / (2*a)
    else:
        x1 = (-b + d**0.5) / (2*a)
        x2 = (-b - d**0.5) / (2*a)
    return x1, x2
def main():
    a = float(input("Digite un valor para a: "))
    b = float(input("Digite un valor para b: "))
    c = float(input("Digite un valor para c: "))
    x1, x2 = solve(a, b, c)
    print(f" La solución en x1={x1}")
    print(f"La solución en x2={x2}")
if __name__ == "__main__":
    main()
2)Codificar un programa que permita capturar una frase, esta frase se pasará a una función como
parámetro. Esta función devolverá la cantidad de vocales y consonantes de la frase

from typing import Dict


def solver(frase: str) -> Dict[str, int]:
    frase: str = frase.lower()
    vocales: int = 0
    consonantes: int = 0
    digitos: int = 0
    for caracter in frase:
        if caracter in "aeiouáéíóú":
            vocales += 1
        elif caracter in "bcdfghjklmnñpqrstvwxyz":
            consonantes += 1
        elif caracter in "0123456789":
            digitos += 1
    return {"vocales": vocales, "consonantes": consonantes, "digitos":
digitos}
def main():
    frase = input("Frase: ")
    resultado = solver(frase)
    print(f"Cantidad de vocales: {resultado['vocales']}")
    print(f"Cantidad de consonantes: {resultado['consonantes']}")

3) Implementar una función que devuelva la sumatoria de los cuadrados de N valores aleatorios
comprendidos entre 100.00 y 250.99. Muestre el resultado final en notación científica.
from random import uniform
from typing import List
def generar_aleatorios(
    min: float = 100.00,
    max: float = 250.99,
    size: int = 20
) -> List[float]:
    return [uniform(min, max) for _ in range(size)]
def sumatoria_cuadrados(numeros: List[float]) -> float:
    return sum(map(lambda x: x**2, numeros))
def main():
    n = int(input("Cantidad de números: "))
    numeros = generar_aleatorios(size=n)
    resultado = sumatoria_cuadrados(numeros)
    print(f"Sumatoria de cuadrados: {format(resultado, '.2e')}")

if __name__ == "__main__":
    main()

4) Dado un conjunto de palabras con los siguientes separadores , . : ; -se requiere crear una
función que obtenga como salida la cantidad de palabras de la frase.

Lógica: Reemplazar todos los separadores por uno de ellos de tal forma que exista un solo
separador luego de cada palabra. Luego contar los separadores de la frase. Finalmente la cantidad
de palabras será la cantidad de separadores +1.

Nota: Se sugiere utilizar las sgtes funciones: replace, count

def solver(words: str) -> int:


    for word in words:
        if word in ",.:-;":
            words = words.replace(word, " ")
    return len(words.split())
def main():
    s = input("Ingrese una frase: ")
    print(solver(s.lower()))
if __name__ == "__main__":
    main()

5) Crear una funciónllamada “Combinatorio” que invoque una funcióndenominada “Factorial” para
calcular el número combinatorio dado por:

Recuerde que el símbolo ! representa el factorial de un número.

def factorial(n: int) -> int:


    return 1 if n == 0 else n * factorial(n - 1)
def combinatorio(m: int, n: int) -> int:
    return factorial(m) // (factorial(n) * factorial(m - n))
def main():
    while True:
        try:
            n = int(input("Ingrese el valor de n: "))
            m = int(input("Ingrese el valor de m: "))
            if n < 0 or m < 0:
                raise ValueError("Solicitar nuevamente los valores de m y n
hasta que m>0, n>0, m>=n.")
            break
        except ValueError as e:
            print(f"Error: {e}")
    print(combinatorio(m, n))

if __name__ == "__main__":
    main()
6) Desarrolle un programa y la función correspondiente para calcular:

Exprese el resultado con 4 decimales.

import math

def calcular_y():
    y = (1 - math.sin(math.pi/4) * math.cos(math.pi)**4) / (1 +
math.cos(math.pi)**2)
    return round(y, 4)

print(calcular_y())

7) Implemente una funciónpara convertir coordenadas polares a rectangulares. Debe tener en


cuenta lo siguiente:

x = r cos(θ) ; y = r sen(θ)

Recuerde queθ es un ángulo y debe expresarlo en radianes.

from math import sin, cos, pi


def solver(r: float, theta: float) -> float:
    return r * cos(theta), r * sin(theta)
def main():
    r = float(input("Para los radianes (r): "))
    degrees = float(input("Para el angulo de (theta): "))
    theta = degrees * pi / 180.0
    x, y = solver(r, theta)
    print(f"Las coordenadas rectangulares son: ({x}, {y})")
if __name__ == "__main__":
    main()
8) Desarrolle un programa Python, haciendo uso de una función para determinar el resultado de la
siguiente serie:

Sugerencia: Use la función math.pow() para generar los denominadores

import math
def serie(n):
    resultado = 0
    for i in range(1, n+1):
        denominador = math.pow(2, i)
        numerador = i * math.pow(-1, i+1)
        resultado += numerador / denominador
    return resultado
n = int(input("Ingrese el número de términos de la serie: "))
resultado = serie(n)
print(f"El resultado de la serie es: {round(resultado, 4)}")

9) Crear funciones que permitan realizar los siguientes tipos de cambio monetario a bolivianos:

•De Euro a Bs.

•De Dólar EEUU a Bs

•De Yen a Bs.

•De Libra Esterlinas a Bs.

from typing import Dict

CONVERSION: Dict[str, float] = {


    "euro": 7.61, "dolar": 6.93, "yen": 0.052, "libra": 8.65,
}

def converter(local: float, foreign: str) -> float:


    return local * CONVERSION[foreign]

def main():
    monto = float(input("Monto que desea adquirir: "))
    cambio = input("en que tipo de moneda extrangera: ")
    print(f"{converter(monto, cambio)} Bs")

if __name__ == "__main__":
    main()

También podría gustarte