Está en la página 1de 14

UNIVERSIDAD TECNICA DE MANABI

CARRERA
Tecnologías de la información

DOCENTE
Jorge Zambrano

ESTUDIANTES
Marjorie Johanna Ferrin Palma

ASIGNATURA
Fundamento de programación

PARALELO
“C”
Ejercicio 1 - Dificultad fácil: Escribe una función en Python que
reciba como entrada una lista de números enteros y devuelva el
promedio de los valores de la lista. Luego, crea un archivo de
texto llamado "promedio.txt" y escribe en él el resultado obtenido.
La función no debe imprimir nada en la consola.

def calcular_ promedio(lista_numeros):


if not lista_numeros:
return None

suma = sum(lista_numeros)
promedio = suma / len(lista_numeros)
return promedio

# Ejemplo de uso de la función:


números = [1, 2, 3, 4, 5]
promedio_resultado = calcular promedio(números)

# Escribir el resultado en un archivo de texto with


open("promedio.txt", "w") as archivo:
archivo. write(str(promedio_resultado))
Ejercicio 2 - Dificultad fácil: Escribe un programa en Python que
solicite al usuario ingresar dos listas de números enteros de igual
longitud. Luego, crea una matriz de NumPy que contenga ambas
listas como filas y aplique la suma de matrices para obtener una
tercera fila que contenga la suma de las dos primeras. Por último,
imprime la matriz resultante en la consola.

import numpy as np

# Solicitar al usuario ingresar dos listas de números enteros


lista1 = list(map(int, input("Ingresa la primera lista de números
separados por espacios: ").split()))
lista2 = list(map(int, input("Ingresa la segunda lista de números
separados por espacios
(con la misma longitud que la primera lista): "). split()))
# Verificar que ambas listas tengan la misma longitud
if len(lista1) != len(lista2):
print("Las listas deben tener la misma longitud.")
else:
# Crear una matriz de NumPy con ambas listas como filas
matriz = np.array([lista1, lista2])

# Calcular la suma de las filas para obtener la tercera fila


suma_filas = np.sum(matriz, axis=0)

# Agregar la fila de suma a la matriz


matriz_resultante = np.vstack([matriz, suma_filas])

# Imprimir la matriz resultante


print("Matriz resultante:")
print(matriz_resultante)
Ejercicio 3 - Dificultad media: Escribe una función en Python que
reciba como entrada una lista de palabras y devuelva un
diccionario donde las claves sean las palabras de la lista y los
valores sean el número de veces que aparece cada palabra en la
lista. Luego, escribe el diccionario resultante en un archivo de
texto llamado "frecuencias.txt" utilizando el siguiente formato:
<Palabra>: <Frecuencia> <Palabra>: <Frecuencia> ...

def contar_frecuencias(lista_palabras):
# Inicializar un diccionario vacío para almacenar las frecuencias
frecuencias = {}
# Contar las frecuencias de las palabras en la lista
for palabra in lista_palabras:
if palabra in frecuencias:
frecuencias[palabra] += 1
else:
frecuencias[palabra] = 1

return frecuencias
# Ejemplo de uso de la función:
lista_palabras = ["gato", "perro", "gato", "ratón", "perro", "perro"]
frecuencias_resultantes = contar_frecuencias(lista_palabras)
# Escribir el diccionario resultante en un archivo de texto
with open("frecuencias.txt", "w") as archivo:
for palabra, frecuencia in frecuencias_resultantes.items():
archivo.write(f"{palabra}: {frecuencia}\n")
Ejercicio 4 - Dificultad media: Codificar un programa que permita
el ingreso, modificación, consulta general y eliminación de
registros almacenados en un archivo de texto plano, es necesario
que haga uso de un menú de opciones y funciones que realizan
cada tarea a fin de que su código sea limpio y legible.

# Función para ingresar un nuevo registro


def ingresar_registro():
nombre = input("Ingrese el nombre: ")
edad = input("Ingrese la edad: ")
with open("registros.txt", "a") as archivo:
archivo.write(f"{nombre},{edad}\n")

# Función para modificar un registro existente


def modificar_registro():
nombre_a_modificar = input("Ingrese el nombre del registro que
desea modificar: ")
nuevo_nombre = input("Ingrese el nuevo nombre: ")
nueva_edad = input("Ingrese la nueva edad: ")

registros_actualizados = []

with open("registros.txt", "r") as archivo:


lineas = archivo.readlines()
for linea in lineas:
nombre, edad = linea.strip().split(',')
if nombre == nombre_a_modificar:
registros_actualizados.append(f"{nuevo_nombre},{nueva_edad}\n")
else:
registros_actualizados.append(f"{nombre},{edad}\n")
with open("registros.txt", "w") as archivo:
archivo.writelines(registros_actualizados)

# Función para consultar todos los registros


def consultar_registros():
with open("registros.txt", "r") as archivo:
lineas = archivo.readlines()
for linea in lineas:
nombre, edad = linea.strip().split(',')
print(f"Nombre: {nombre}, Edad: {edad}")

# Función para eliminar un registro


def eliminar_registro():
nombre_a_eliminar = input("Ingrese el nombre del registro que desea
eliminar: ")

registros_actualizados = []

with open("registros.txt", "r") as archivo:


lineas = archivo.readlines()
for linea in lineas:
nombre, edad = linea.strip().split(',')
if nombre != nombre_a_eliminar:
registros_actualizados.append(f"{nombre},{edad}\n")

with open("registros.txt", "w") as archivo:


archivo.writelines(registros_actualizados)

# Función principal del programa


def main():
while True:
print("\nMenú de opciones:")
print("1. Ingresar un nuevo registro")
print("2. Modificar un registro existente")
print("3. Consultar todos los registros")
print("4. Eliminar un registro")
print("5. Salir")

opcion = input("Ingrese el número de la opción que desea: ")

if opcion == "1":
ingresar_registro()
elif opcion == "2":
modificar_registro()
elif opcion == "3":
consultar_registros()
elif opcion == "4":
eliminar_registro()
elif opcion == "5":
break
else:
print("Opción no válida. Intente de nuevo.")
if __name__ == "__main__":
main()

También podría gustarte