A MacBook with lines of code on its screen on a busy desk

100 ejercicios de programación para practicar desde cero hasta avanzado

Este listado está organizado por niveles y secciones, para que puedas practicar progresivamente en Python, Java, JavaScript, PHP, C# o cualquier otro lenguaje de programación.

Los ejercicios están planteados como retos: debes analizar el problema, identificar los datos de entrada, definir el procesamiento y producir una salida. No necesitas utilizar un lenguaje específico para resolverlos.

Nivel 1. Fundamentos de programación

Ejercicios 1–10 · Variables, operadores, entrada y salida de datos.

01

Presentación personal

🌟 ¡Visita Nuestra Tienda para Programadores! 🌟

Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!

Solicita el nombre, la edad y la ciudad de una persona, y muestra sus datos en un mensaje.

02

Operaciones matemáticas

Solicita dos números y muestra su suma, resta, multiplicación y división.

03

Área de un rectángulo

Calcula el área y el perímetro a partir de su base y altura.

04

Conversor de temperatura

Convierte grados Celsius a Fahrenheit y Kelvin.

05

Calculadora de edad

Solicita el año de nacimiento y calcula la edad aproximada según el año actual.

06

Conversor de monedas

Convierte una cantidad de pesos colombianos a dólares utilizando una tasa de cambio ingresada por el usuario.

07

Promedio de calificaciones

Solicita tres notas y calcula el promedio aritmético.

08

Tiempo en segundos

Convierte una cantidad de segundos en horas, minutos y segundos restantes.

09

Precio con descuento

Calcula el precio final de un producto después de aplicar un porcentaje de descuento.

10

Consumo de combustible

Calcula cuántos kilómetros por litro recorre un vehículo, dados la distancia y los litros consumidos.

Nivel 2. Condicionales

Ejercicios 11–20 · if, else, elif y operadores lógicos.

  1. Número positivo, negativo o cero: determina a qué categoría pertenece un número.
  2. Número par o impar: identifica si un entero es divisible entre dos.
  3. Mayor de dos números: muestra el número más grande, o indica si son iguales.
  4. Mayor de tres números: encuentra el mayor de tres valores sin ordenarlos previamente.
  5. Aprobado o reprobado: recibe una nota de 0 a 100 y determina si se alcanza el mínimo aprobatorio de 60.
  6. Clasificación por edad: clasifica una edad en categorías definidas por ti, por ejemplo, niñez, adolescencia y adultez.
  7. Año bisiesto: determina si un año es bisiesto aplicando las reglas del calendario gregoriano.
  8. Calculadora con menú: solicita dos números y una operación; ejecuta la operación elegida y valida la división entre cero.
  9. Tarifa de transporte: calcula el precio de un pasaje según la edad del pasajero y las reglas de descuento definidas.
  10. Validación de acceso: permite ingresar si el usuario tiene credenciales correctas y cumple una condición adicional, como ser mayor de edad.

Nivel 3. Ciclos y estructuras repetitivas

Ejercicios 21–30 · for, while, contadores y acumuladores.

  1. Contar del 1 al 100: imprime todos los números en orden ascendente.
  2. Cuenta regresiva: solicita un número e imprime la secuencia hasta llegar a cero.
  3. Tabla de multiplicar: muestra la tabla de un número del 1 al 10.
  4. Suma de números naturales: calcula la suma de los primeros N números naturales.
  5. Factorial: calcula el factorial de un entero no negativo.
  6. Adivina el número: genera o define un número secreto y permite al usuario intentarlo hasta acertar.
  7. Suma de números ingresados: solicita números hasta que el usuario introduzca un valor de terminación y calcula la suma.
  8. Contador de pares e impares: recibe N números y cuenta cuántos pertenecen a cada grupo.
  9. Número primo: determina si un entero mayor que uno es primo.
  10. Secuencia de Fibonacci: genera los primeros N términos de la secuencia.

Nivel 4. Cadenas de texto

Ejercicios 31–40 · Manipulación, búsqueda y validación de texto.

  1. Contador de caracteres: cuenta cuántos caracteres tiene una frase sin contar los espacios.
  2. Contador de vocales: determina cuántas vocales contiene una palabra o frase.
  3. Invertir una cadena: muestra un texto de derecha a izquierda.
  4. Palíndromo: comprueba si una palabra se lee igual al derecho y al revés, ignorando mayúsculas.
  5. Contador de palabras: calcula cuántas palabras contiene una oración.
  6. Buscador de palabras: recibe un texto y una palabra, e indica cuántas veces aparece.
  7. Eliminar espacios repetidos: normaliza una frase para que no tenga espacios innecesarios.
  8. Validador de contraseña: comprueba si una contraseña cumple una longitud mínima y contiene mayúsculas, minúsculas y números.
  9. Censurador de palabras: reemplaza determinadas palabras de un texto por asteriscos.
  10. Frecuencia de caracteres: muestra cuántas veces aparece cada letra en una frase.

Nivel 5. Listas y arreglos

Ejercicios 41–50 · Colecciones, recorridos y búsqueda de datos.

  1. Promedio de una lista: calcula el promedio de un conjunto de números.
  2. Mayor y menor: encuentra los valores máximo y mínimo sin utilizar funciones que los calculen directamente.
  3. Eliminar duplicados: crea una nueva lista con valores únicos, conservando el orden original.
  4. Ordenamiento manual: ordena una lista de números de menor a mayor sin usar una función de ordenamiento incorporada.
  5. Búsqueda lineal: busca un número en una lista e indica su posición.
  6. Segundo número mayor: encuentra el segundo valor más grande sin contar duplicados.
  7. Separar pares e impares: distribuye los números de una lista en dos listas diferentes.
  8. Rotación de una lista: desplaza los elementos una posición hacia la derecha o hacia la izquierda.
  9. Intersección de listas: identifica los elementos que aparecen en dos listas.
  10. Estadísticas de ventas: recibe las ventas de varios días y calcula el total, el promedio y el día con mayor venta.

Nivel 6. Funciones y modularidad

Ejercicios 51–60 · Parámetros, retornos, reutilización y recursividad.

  1. Función de suma: crea una función que reciba dos números y retorne su suma.
  2. Calculadora modular: implementa una función independiente para cada operación matemática.
  3. Conversor reutilizable: crea funciones para convertir Celsius a Fahrenheit y viceversa.
  4. Validador de números primos: encapsula la lógica de comprobar si un número es primo en una función.
  5. Máximo común divisor: calcula el MCD de dos enteros mediante el algoritmo de Euclides.
  6. Potencia recursiva: calcula \(a^n\) mediante recursividad, sin usar el operador de potencia.
  7. Factorial recursivo: resuelve el factorial utilizando una función que se invoque a sí misma.
  8. Función de estadísticas: recibe una lista y devuelve su mínimo, máximo, promedio y cantidad de elementos.
  9. Argumentos variables: crea una función que reciba una cantidad indeterminada de números y calcule su promedio.
  10. Biblioteca matemática: construye un módulo propio con funciones de porcentaje, redondeo, MCD y validación numérica.

Nivel 7. Matrices y algoritmos

Ejercicios 61–70 · Matrices bidimensionales y resolución algorítmica.

  1. Suma de matrices: suma dos matrices del mismo tamaño.
  2. Transpuesta de una matriz: intercambia las filas por las columnas.
  3. Diagonal principal: calcula la suma de los elementos de la diagonal principal de una matriz cuadrada.
  4. Multiplicación de matrices: multiplica dos matrices compatibles.
  5. Buscar un elemento: encuentra las coordenadas de un valor dentro de una matriz.
  6. Triángulo de números: imprime un triángulo numérico de N filas mediante ciclos anidados.
  7. Ordenamiento por burbuja: implementa el algoritmo Bubble Sort y cuenta cuántos intercambios realiza.
  8. Búsqueda binaria: encuentra un elemento en una lista ordenada dividiendo repetidamente el intervalo de búsqueda.
  9. Análisis de complejidad: implementa dos soluciones para buscar un elemento y compara su número de operaciones.
  10. Laberinto: representa un laberinto mediante una matriz y encuentra una ruta entre el punto inicial y la salida.

Nivel 8. Programación orientada a objetos (POO)

Ejercicios 71–80 · Clases, objetos, encapsulación, herencia y polimorfismo.

  1. Clase Persona: crea una clase con nombre, edad y un método para mostrar sus datos.
  2. Cuenta bancaria: implementa depósitos, retiros y consulta de saldo, evitando retiros superiores al saldo disponible.
  3. Sistema de estudiantes: crea una clase Estudiante con código, nombre, notas y un método para calcular el promedio.
  4. Inventario de productos: representa productos mediante objetos con código, nombre, precio y cantidad disponible.
  5. Herencia de empleados: crea una clase base Empleado y clases derivadas para empleados de tiempo completo y contratistas.
  6. Polimorfismo de pagos: implementa distintos métodos de pago con una interfaz común, como efectivo y tarjeta, usando simulaciones.
  7. Carrito de compras: permite agregar y quitar productos, calcular subtotales y obtener el total de la compra.
  8. Sistema de biblioteca: modela libros, usuarios y préstamos, controlando la disponibilidad de cada libro.
  9. Gestión de vehículos: crea clases para automóviles y motocicletas que compartan atributos y comportamientos, pero tengan características específicas.
  10. Juego de combate: implementa personajes con salud, ataque y defensa, y permite que combatan por turnos.

Nivel 9. Archivos, persistencia y bases de datos

Ejercicios 81–90 · Archivos, JSON, SQL y manejo de errores.

  1. Bloc de notas: crea una aplicación que permita escribir texto y guardarlo en un archivo.
  2. Lector de archivos: lee un archivo de texto y muestra el número de líneas, palabras y caracteres.
  3. Registro de gastos: almacena gastos en un archivo CSV y calcula el total mensual por categoría.
  4. Agenda de contactos: permite registrar, buscar, editar y eliminar contactos guardados en un archivo JSON.
  5. Manejo de excepciones: solicita números al usuario y controla errores cuando introduce datos inválidos o intenta dividir entre cero.
  6. Importador de CSV: lee un archivo con datos de estudiantes y genera un reporte de promedios y aprobados.
  7. CRUD con SQLite: construye un sistema para crear, consultar, actualizar y eliminar registros de productos en una base de datos.
  8. Sistema de inicio de sesión: registra usuarios y verifica contraseñas almacenadas mediante un mecanismo seguro de hash, sin guardar contraseñas en texto plano.
  9. Control de inventario con SQL: registra entradas y salidas de productos, actualizando existencias en una base de datos.
  10. Reporte de ventas: consulta una base de datos y genera un reporte agrupado por producto, fecha y vendedor.

Nivel 10. Proyectos prácticos e integración

Ejercicios 91–100 · Aplicaciones que integran varios conceptos de programación.

  1. Sistema de calificaciones: registra estudiantes, permite ingresar notas, calcula promedios y genera un listado de aprobados y reprobados.
  2. Cajero automático simulado: permite consultar saldo, retirar dinero, depositar y consultar el historial de operaciones.
  3. Sistema de reservas: administra reservas de habitaciones o espacios, valida disponibilidad y evita reservas duplicadas.
  4. Tienda virtual básica: implementa catálogo, carrito, cálculo de precios, descuentos y confirmación de compra simulada.
  5. API REST de tareas: desarrolla una API para crear, consultar, actualizar y eliminar tareas, con respuestas JSON y códigos HTTP apropiados.
  6. Aplicación web de contactos: crea una interfaz web para gestionar contactos y almacena la información en una base de datos.
  7. Sistema de autenticación y roles: implementa registro, inicio de sesión y permisos diferenciados para administrador y usuario.
  8. Quiz de programación: desarrolla un juego de preguntas con opciones múltiples, puntuación, temporizador y clasificación de participantes.
  9. Gestor de proyectos: permite crear proyectos, asignar tareas, establecer fechas límite y cambiar estados de progreso.
  10. Plataforma de retos de programación: crea una aplicación donde los usuarios puedan consultar ejercicios, enviar soluciones, ver resultados de pruebas y registrar su progreso.

Cómo aprovechar los 100 ejercicios

Te recomiendo resolverlos en orden y no pasar al siguiente nivel hasta que puedas explicar por qué funciona tu solución.

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *