0% encontró este documento útil (0 votos)
52 vistas23 páginas

Ejercicios de Programación en Python

Cargado por

asiel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas23 páginas

Ejercicios de Programación en Python

Cargado por

asiel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

EJERCICIOS DE APLICACIÓN

SEGUNDO DE BACHILLERATO
PROGRAMACIÓN Y BASE DE DATOS
En cada uno de los ejercicios escribir la solución (código fuente) y
explicar la lógica que utilizo en el desarrollo de su programa,
además de señalar y explicar las líneas más importantes de su
programa.
Cálculo de promedio de una lista de números: Escribe un
programa que calcule el promedio de una lista de números
enteros que el usuario ingresa. El programa debe permitir que el
usuario ingrese la cantidad de números y luego los valores de
cada uno.
Cómo funciona:
El programa solicita al usuario la cantidad de números que desea
ingresar.
Luego, se utiliza un bucle for para pedir cada número y
almacenarlo en una lista.
Se calcula el promedio sumando todos los elementos de la lista
(sum(numeros)) y dividiendo por la cantidad total.
Finalmente, muestra el resultado al usuario.

Verificación de número primo: Crea un programa que determine


si un número entero ingresado por el usuario es primo o no. Un
número primo es aquel que solo tiene dos divisores: 1 y sí
mismo.

Explicación:
Casos iniciales:
Los números menores o iguales a 1 no son primos, así que se
descartan desde el inicio.
Optimización con raíz cuadrada:
En lugar de verificar todos los números desde 2 hasta el número
dado, solo verificamos hasta su raíz cuadrada. Esto reduce la
cantidad de divisiones necesarias.
Comprobación:
Si el número es divisible por algún valor entre 2 y la raíz cuadrada
del número, no es primo.
Resultado:
Si no se encuentran divisores, el número es primo.

Conversión de temperatura: Desarrolla un programa que


convierta una temperatura dada en grados Celsius a Fahrenheit y
viceversa. El usuario debe ingresar la temperatura y la unidad de
medida (C o F).
Explicación:
Definición de funciones:
Se crean dos funciones: una para convertir de Celsius a
Fahrenheit y otra para el proceso inverso.
Entrada del usuario:
Se pide la temperatura y su unidad de medida.
La unidad se procesa para ser insensible a
mayúsculas/minúsculas.
Validación de la unidad:
Según la unidad ingresada (C o F), se realiza la conversión.
Si la unidad no es válida, se notifica al usuario.
Resultado:
Muestra el valor convertido con dos decimales de precisión.

Ordenación de una lista: Escribe un programa que ordene una


lista de números enteros de menor a mayor utilizando el
algoritmo de burbuja. La lista debe ser proporcionada por el
usuario.
Explicación:
Entrada del usuario:
Se solicita una lista de números enteros separados por espacios y
se convierte en una lista de enteros usando map y split.
Algoritmo de burbuja:
El algoritmo compara pares consecutivos de elementos en la lista.
Si un elemento es mayor que el siguiente, se intercambian.
Este proceso se repite varias veces, reduciendo el rango de
comparación en cada iteración externa.
Resultado:
Una vez ordenada, la lista se imprime en pantalla.

Factorial de un número: Crea un programa que calcule el


factorial de un número entero no negativo utilizando un ciclo for.
El usuario debe ingresar el número.
Explicación:
Entrada del usuario:
El programa solicita un número entero no negativo.
Validación:
Si el número es negativo, se informa al usuario que no se puede
calcular el factorial.
Cálculo del factorial:
Usamos un ciclo for que multiplica factorial por cada número
desde 1 hasta el número ingresado (incluido).
Iniciamos factorial en 1 porque es el elemento neutro de la
multiplicación.
Resultado:
Se muestra el factorial calculado.
Contar caracteres en una cadena: Escribe un programa que
cuente cuántas veces aparece una letra específica en una cadena
de texto que el usuario ingresa.

Explicación:
Entrada del usuario:
Se solicita una cadena de texto y una letra específica para buscar.
Validación:
Se verifica que el usuario haya ingresado solo un carácter como
letra.
Cálculo del conteo:
La función count se usa para contar cuántas veces aparece la
letra en la cadena.
Se aplica .lower() tanto a la cadena como a la letra para ignorar
diferencias entre mayúsculas y minúsculas.
Resultado:
El programa imprime el número de veces que aparece la letra.

Palíndromo: Crea un programa que determine si una palabra o


frase ingresada por el usuario es un palíndromo (es decir, que se
lee igual de izquierda a derecha que de derecha a izquierda). El
programa debe ignorar espacios y caracteres especiales.
Se define una función es_palindromo que toma una frase como
argumento.
Se limpia la frase convirtiéndola a minúsculas y eliminando
caracteres no alfanuméricos.
Se compara la cadena limpia con su reverso usando el slicing [::-
1].
Se solicita al usuario que ingrese una palabra o frase y se imprime
si es un palíndromo o no.

Suma de dígitos de un número: Desarrolla un programa que


calcule la suma de los dígitos de un número entero ingresado por
el usuario.
Se define una función suma_digitos que convierte el número a
cadena y suma cada dígito.
Se utiliza sum() y una comprensión de lista para convertir cada
dígito de nuevo a entero y sumarlos.
Se solicita al usuario que ingrese un número y se muestra el
resultado

Calculadora básica: Crea una calculadora simple que permita al


usuario realizar operaciones básicas como suma, resta,
multiplicación y división. El programa debe pedir al usuario la
operación y los dos números.

Se define una función calculadora que toma dos números y una


operación.
Se evalúa la operación y se realiza el cálculo correspondiente.
Se maneja el caso de división por cero.
Se solicita al usuario que ingrese dos números y una operación,
luego se muestra el resultado.
Números Fibonacci: Escribe un programa que imprima los
primeros n números de la secuencia de Fibonacci, donde n es un
número entero ingresado por el usuario.

Se define una función fibonacci que genera la secuencia de


Fibonacci hasta n.
Se utilizan una lista para almacenar los números y un bucle for
para calcular los siguientes números.
Se solicita al usuario que ingrese un número y se muestra la
secuencia.

Matriz transpuesta: Escribe un programa que reciba una matriz


de dimensiones n x m (n filas y m columnas) y calcule su
transpuesta. La transpuesta de una matriz es otra matriz en la
que las filas de la original se convierten en columnas y viceversa.
Se define una función fibonacci que genera la secuencia de
Fibonacci hasta n.
Se utilizan una lista para almacenar los números y un bucle for
para calcular los siguientes números.
Se solicita al usuario que ingrese un número y se muestra la
secuencia.

Calculadora de expresión matemática: Crea un programa que


evalúe una expresión matemática que el usuario ingrese como
cadena de texto, por ejemplo: "3 + 5 * (2 - 8)". El programa debe
manejar paréntesis y operaciones de manera adecuada.
Se define una función que toma una cadena de texto expresion
como argumento.
Dentro de la función, se utiliza un bloque try-except para manejar
posibles errores durante la evaluación.
Uso de eval():

Se utiliza eval(expresion) para evaluar la expresión matemática.


eval() ejecuta la cadena como si fuera código Python y devuelve
el resultado.
Si la expresión es válida, se devuelve el resultado.
Manejo de Errores:

Si ocurre un error (por ejemplo, si la expresión es inválida), se


captura la excepción y se devuelve un mensaje de error.
Entrada del Usuario:

Manejo de excepciones: Desarrolla un programa que permita


realizar una división entre dos números ingresados por el
usuario. El programa debe manejar correctamente las
excepciones, como la división por cero, y mostrar un mensaje
adecuado en caso de error.
Busqueda binaria: Escribe un programa que realice una
búsqueda binaria en una lista de números enteros ordenados. El
programa debe pedir al usuario la lista y el número a buscar.

Generación de un Sudoku: Crea un programa que genere un


tablero de Sudoku 9x9 con una solución válida. El tablero debe
tener al menos 20 casillas vacías.
Cuenta de palabras en un texto: Desarrolla un programa que
cuente cuántas palabras contiene un texto ingresado por el
usuario. El programa debe distinguir correctamente entre
palabras y signos de puntuación.

Ordenación por inserción: Escribe un programa que ordene una


lista de números utilizando el algoritmo de ordenación por
inserción.
Sistema de gestión de estudiantes: Crea un programa que
permita gestionar una lista de estudiantes en una escuela. Cada
estudiante tiene un nombre, una edad y una nota final. El
programa debe permitir agregar estudiantes, eliminar
estudiantes, y mostrar todos los estudiantes ordenados por sus
notas de mayor a menor.

Algoritmo de Dijkstra: Implementa el algoritmo de Dijkstra para


encontrar el camino más corto entre dos nodos en un grafo
ponderado. El grafo se puede representar con una matriz de
adyacencia y los pesos de las aristas.
Simulación de un cajero automático: Crea un programa que
simule el funcionamiento de un cajero automático. El programa
debe permitir al usuario ingresar un PIN, ver el saldo, depositar
dinero, retirar dinero (si el saldo es suficiente) y realizar
transferencias entre cuentas.

También podría gustarte