Hoja de Ejercicios Semana

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

HOJA DE EJERCICIOS SEMANA #1

EJERCICIO 1

Escribir un programa que calcule el factorial de un número dado de manera recursiva.

EJERCICIO 2

Tu tarea consiste en desarrollar un programa en Python que permita a un usuario jugar


"Piedra, Papel, Tijera" contra la computadora. El programa deberá cumplir con los siguientes
requisitos:

Interfaz de usuario: El programa debe presentar una interfaz amigable y clara, permitiendo al
usuario ingresar fácilmente su elección (piedra, papel o tijera).

Lógica del juego: El programa debe implementar la lógica del juego, donde la computadora
genera aleatoriamente su elección y la compara con la del usuario para determinar el ganador.

Reglas del juego: El programa debe seguir las reglas tradicionales del juego: piedra vence a
tijera, tijera vence a papel, y papel vence a piedra. Además, en caso de que ambos jugadores
elijan lo mismo, debe declararse un empate.

Puntuación y estadísticas: El programa debe llevar un registro de las victorias, derrotas y


empates de cada jugador, mostrando un resumen de los resultados al final de cada partida.

Repetición del juego: El programa debe permitir que el usuario juegue varias partidas,
ofreciéndole la opción de continuar o salir del juego.

EJERCICIO 3 (Conjetura de Collatz)

La Conjetura de Collatz, también conocida como el problema 3n+1, es un problema no resuelto


en matemáticas que se plantea de la siguiente manera:

Dado un número entero positivo n, se define una secuencia de números de la siguiente forma:

Si n es par, se divide por 2.

Si n es impar, se multiplica por 3 y se suma 1.

Este proceso se repite con el número resultante hasta que se llegue al valor 1.

Por ejemplo, si se toma el número 6, se obtiene la siguiente secuencia:

6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1

La conjetura afirma que, sin importar el número entero positivo con el que se comience,
siempre se llegará al valor 1 siguiendo este proceso.

Escribe un programa en Python que, dado un número entero positivo, muestre la secuencia de
números generada por la Conjetura de Collatz hasta llegar al 1.

Requisitos:
El programa debe validar que el número ingresado sea un entero positivo.

Debe mostrar cada paso de la secuencia, indicando si el número es par o impar.

Debe indicar cuántos pasos se necesitaron para llegar al 1.

Ejemplo de ejecución:

Ingrese un número entero positivo: 6

6 es par, se divide por 2: 3

3 es impar, se multiplica por 3 y se suma 1: 10

10 es par, se divide por 2: 5

5 es impar, se multiplica por 3 y se suma 1: 16

16 es par, se divide por 2: 8 8 es par, se divide por 2: 4

4 es par, se divide por 2: 2

2 es par, se divide por 2: 1 Se necesitaron 8 pasos para llegar al 1.

EJERCICIO 4

Desarrollar un programa en Python que implemente una calculadora de matrices utilizando la


potente librería NumPy. Esta calculadora debe ofrecer al usuario un menú con las siguientes
operaciones:

Multiplicación de matrices: Dadas dos matrices, calcular el producto matricial.

Suma de matrices: Dadas dos matrices del mismo tamaño, calcular la suma de ellas.

Determinante de una matriz: Calcular el determinante de una matriz cuadrada.

Inversa de una matriz: Calcular la inversa de una matriz cuadrada.

Valores propios de una matriz: Calcular los valores propios de una matriz cuadrada.

El programa debe solicitar al usuario que ingrese las matrices necesarias para cada operación y
mostrar los resultados de forma clara y organizada. Además, se debe validar que las matrices
ingresadas cumplan con los requisitos de cada operación (por ejemplo, que las matrices a
sumar o multiplicar tengan las dimensiones adecuadas).

EJERCICIO 5

Los ficheros emisiones-2016.csv, emisiones-2017.csv, emisiones-2018.csv y emisiones-2019.csv,


contienen datos sobre las emisiones contaminates en la ciudad de Madrid en los años 2016,
2017, 2018 y 2019 respectivamente. Escribir un programa con los siguientes requisitos:

1. Generar un DataFrame con los datos de los cuatro ficheros.


2. Filtrar las columnas del DataFrame para quedarse con las columnas ESTACION,
MAGNITUD, AÑO, MES y las correspondientes a los días D01, D02, etc.
3. Reestructurar el DataFrame para que los valores de los contaminantes de las columnas
de los días aparezcan en una única columna.
4. Añadir una columna con la fecha a partir de la concatenación del año, el mes y el día
(usar el módulo datetime).
5. Eliminar las filas con fechas no válidas (utilizar la función isnat del módulo numpy) y
ordenar el DataFrame por estaciones contaminantes y fecha.
6. Mostrar por pantalla las estaciones y los contaminantes disponibles en el DataFrame.
7. Crear una función que reciba una estación, un contaminante y un rango de fechas y
devuelva una serie con las emisiones del contaminante dado en la estación y rango de
fechas dado.

También podría gustarte