Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ejercicios: Variables y Tipos de Datos

¡Es hora de poner en práctica lo que has aprendido! Los ejercicios son la mejor manera de consolidar tu conocimiento y desarrollar tu intuición para la programación.

💭 Nota del autor: Cuando enseño programación, siempre digo que programar es como aprender a tocar un instrumento musical: puedes leer todos los libros que quieras, pero solo mejorarás si practicas regularmente. Estos ejercicios están diseñados para reforzar los conceptos que acabamos de ver y ayudarte a desarrollar tu “intuición de programador”.

🏋️ Ejercicio 1: Creando tu almacén personal

Objetivo: Practicar la creación de variables de diferentes tipos y mostrar su información.

Instrucciones:

  1. Crea variables para almacenar tu información personal:

    • Nombre (string)
    • Edad (int)
    • Altura en metros (float)
    • ¿Te gusta programar? (bool)
    • Al menos 3 variables más de tu elección
  2. Muestra toda la información usando f-strings

  3. Realiza al menos 3 cálculos con tus variables numéricas

  4. Muestra el tipo de cada variable usando type()

Plantilla de código:

# ================================
# MI ALMACÉN PERSONAL
# ================================

# Información básica (completa con tus datos)
nombre = "Tu nombre"
edad = 0  # Tu edad
altura = 0.0  # Tu altura en metros
te_gusta_programar = True  # Cambia según tu preferencia

# Añade al menos 3 variables más
# ...
# ...
# ...

# Muestra la información usando f-strings
print("=== MI INFORMACIÓN PERSONAL ===")
print(f"Nombre: {nombre}")
# Completa con el resto de variables...

# Realiza al menos 3 cálculos
print("\n=== CÁLCULOS ===")
# Ejemplo: edad en meses
edad_en_meses = edad * 12
print(f"Mi edad en meses es: {edad_en_meses}")
# Añade al menos 2 cálculos más...

# Muestra el tipo de cada variable
print("\n=== TIPOS DE VARIABLES ===")
print(f"Variable 'nombre' es de tipo: {type(nombre)}")
# Completa con el resto de variables...

Resultado esperado:

# Código para crear un almacén personal de información
nombre = "Ana García"
edad = 25
altura = 1.65
le_gusta_programar = True

# Realizar cálculos con las variables
edad_en_meses = edad * 12
altura_en_cm = altura * 100

# Mostrar información personal
print("# MI INFORMACIÓN PERSONAL")
print(f"Nombre: {nombre}")
print(f"Edad: {edad} años")
print(f"Altura: {altura} metros")
print(f"¿Me gusta programar?: {'Sí' if le_gusta_programar else 'No'}")
print("...")

# Mostrar cálculos
print("\n# CÁLCULOS")
print(f"Mi edad en meses es: {edad_en_meses}")
print(f"Mi altura en centímetros es: {altura_en_cm}")
print("...")

# Mostrar tipos de variables
print("\n# TIPOS DE VARIABLES")
print(f'Variable "nombre" es de tipo: {type(nombre)}')
print(f'Variable "edad" es de tipo: {type(edad)}')
print("...")

🏋️ Ejercicio 2: Calculadora de IMC

Objetivo: Crear una calculadora de Índice de Masa Corporal (IMC) usando variables y operaciones matemáticas.

Instrucciones:

  1. Crea variables para almacenar:

    • Nombre de la persona
    • Peso en kilogramos (float)
    • Altura en metros (float)
  2. Calcula el IMC usando la fórmula: IMC = peso / (altura * altura)

  3. Determina la categoría de peso según el IMC:

    • Menos de 18.5: Bajo peso
    • Entre 18.5 y 24.9: Peso normal
    • Entre 25.0 y 29.9: Sobrepeso
    • 30.0 o más: Obesidad
  4. Muestra un informe completo con toda la información

Plantilla de código:

# ================================
# CALCULADORA DE IMC
# ================================

# Datos de la persona (completa con datos reales o inventados)
nombre = "Ana García"
peso = 65.5  # en kilogramos
altura = 1.65  # en metros

# Cálculo del IMC
# Nota: ** es el operador de potencia (se verá en detalle en el Capítulo 5)
# altura ** 2 significa "altura elevado al cuadrado"
imc = peso / (altura ** 2)

# Nota: La determinación de categorías se aprenderá en el Capítulo 6 (Estructuras de Control)
# Por ahora, solo calcularemos el IMC
categoria = "Consulta con un profesional de salud para interpretación"

# Mostrar informe
print("=== INFORME DE IMC ===")
print(f"Nombre: {nombre}")
print(f"Peso: {peso} kg")
print(f"Altura: {altura} m")
print(f"IMC calculado: {imc:.2f}")
print(f"Categoría: {categoria}")

# Añade un mensaje personalizado según la categoría
# ...

Resultado esperado:

## INFORME DE IMC
Nombre: Ana García
Peso: 65.5 kg
Altura: 1.65 m
IMC calculado: 24.06
Categoría: Peso normal
Tu peso está dentro del rango saludable. Sigue así!

🏋️ Ejercicio 3: Conversor de unidades

Objetivo: Practicar la creación de variables, operaciones matemáticas y formateo de strings.

Instrucciones:

  1. Crea un programa que convierta una distancia en kilómetros a:

    • Metros
    • Centímetros
    • Millas (1 km = 0.621371 millas)
    • Pies (1 km = 3280.84 pies)
  2. Muestra los resultados formateados con 2 decimales

  3. Incluye un encabezado y una presentación clara de los resultados

Plantilla de código:

# ================================
# CONVERSOR DE UNIDADES
# ================================

# Distancia en kilómetros
distancia_km = 10.0  # Cambia este valor

# Factores de conversión
km_a_metros = 1000
km_a_cm = 100000
km_a_millas = 0.621371
km_a_pies = 3280.84

# Realizar conversiones
# ...
# ...
# ...

# Mostrar resultados
print("## CONVERSOR DE DISTANCIAS")
print(f"Distancia original: {distancia_km} kilómetros")
print("\nEquivalencias:")
# Completa con los resultados formateados...

Resultado esperado:

## CONVERSOR DE DISTANCIAS
Distancia original: 10.0 kilómetros

Equivalencias:
- En metros: 10,000.00 m
- En centímetros: 1,000,000.00 cm
- En millas: 6.21 mi
- En pies: 32,808.40 ft

🏋️ Ejercicio 4: Intercambio de variables

Objetivo: Practicar el intercambio de valores entre variables.

Instrucciones:

  1. Crea tres variables: a, b y c con valores diferentes
  2. Muestra los valores iniciales
  3. Intercambia los valores de manera que:
    • a reciba el valor de b
    • b reciba el valor de c
    • c reciba el valor de a (el valor original)
  4. Muestra los valores finales

Plantilla de código:

# ================================
# INTERCAMBIO DE VARIABLES
# ================================

# Valores iniciales
a = 5
b = 10
c = 15

# Mostrar valores iniciales
print("=== VALORES INICIALES ===")
print(f"a = {a}")
print(f"b = {b}")
print(f"c = {c}")

# Realizar el intercambio
# ...
# ...
# ...

# Mostrar valores finales
print("\n=== VALORES FINALES ===")
print(f"a = {a}")
print(f"b = {b}")
print(f"c = {c}")

Resultado esperado:

## VALORES INICIALES
a = 5
b = 10
c = 15

## VALORES FINALES
a = 10
b = 15
c = 5

🏋️ Ejercicio 5: Calculadora de descuentos

Objetivo: Practicar operaciones con variables de diferentes tipos y formateo de salida.

Instrucciones:

  1. Crea variables para:

    • Nombre del producto
    • Precio original
    • Porcentaje de descuento
    • Si el producto está en oferta (booleano)
  2. Calcula:

    • El monto del descuento
    • El precio final después del descuento
    • El IVA (16% sobre el precio con descuento)
    • El precio final con IVA
  3. Muestra un ticket de compra formateado

Plantilla de código:

# ================================
# CALCULADORA DE DESCUENTOS
# ================================

# Información del producto
nombre_producto = "Laptop Gaming Pro"
precio_original = 25000.0
porcentaje_descuento = 15.0  # 15%
en_oferta = True

# Cálculos
# ...
# ...
# ...

# Mostrar ticket
print("## TICKET DE COMPRA")
print(f"Producto: {nombre_producto}")
print(f"Precio original: ${precio_original:,.2f}")
# Completa el ticket con el resto de la información...

Resultado esperado:

## TICKET DE COMPRA
Producto: Laptop Gaming Pro
Precio original: $25,000.00
Descuento (15.0%): $3,750.00
Precio con descuento: $21,250.00
IVA (16.0%): $3,400.00
PRECIO FINAL: $24,650.00

Estado: EN OFERTA!

🏆 Desafío avanzado: Sistema de calificaciones

Objetivo: Integrar todos los conceptos aprendidos en un sistema más complejo.

Instrucciones:

  1. Crea variables para almacenar:

    • Nombre del estudiante
    • Calificaciones de 5 materias diferentes (números del 0 al 100)
    • Si el estudiante tiene beca (booleano)
  2. Calcula:

    • El promedio de calificaciones
    • La calificación más alta y más baja
    • Si el estudiante aprobó (promedio >= 70)
    • Cuántos puntos le faltaron para el siguiente nivel:
      • < 70: Puntos para aprobar
      • 70-89: Puntos para excelencia
      • 90-100: Ya tiene excelencia
  3. Muestra un reporte completo y bien formateado

Plantilla de código:

# ================================
# SISTEMA DE CALIFICACIONES
# ================================

# Información del estudiante
nombre_estudiante = "Carlos Mendoza"
calificacion_matematicas = 85
calificacion_espanol = 92
calificacion_historia = 78
calificacion_ciencias = 90
calificacion_ingles = 88
tiene_beca = True

# Cálculos
# ...
# ...
# ...

# Mostrar reporte
print("=== REPORTE DE CALIFICACIONES ===")
print(f"Estudiante: {nombre_estudiante}")
print(f"Estado de beca: {'Activa' if tiene_beca else 'No tiene'}")
print("\n--- Calificaciones ---")
# Completa con las calificaciones y cálculos...

Resultado esperado:

## REPORTE DE CALIFICACIONES
Estudiante: Carlos Mendoza
Estado de beca: Activa

--- Calificaciones ---
Matemáticas: 85
Español: 92
Historia: 78
Ciencias: 90
Inglés: 88

--- Estadísticas ---
Promedio: 86.60
Calificación más alta: 92 (Español)
Calificación más baja: 78 (Historia)
Estado: APROBADO
Puntos para excelencia: 3.40

Felicidades Carlos! Tu desempeño es muy bueno.

💡 Consejos para resolver los ejercicios

  1. Lee cuidadosamente las instrucciones antes de empezar
  2. Planifica tu solución antes de escribir código
  3. Divide el problema en partes más pequeñas
  4. Prueba tu código con diferentes valores
  5. Revisa los errores con calma y paciencia
  6. No te rindas si algo no funciona a la primera

💭 Nota del autor: Cuando me enfrento a un problema de programación, siempre empiezo escribiendo en comentarios los pasos que voy a seguir. Esto me ayuda a organizar mis ideas y a no perderme en el proceso. Te recomiendo hacer lo mismo, especialmente cuando estás empezando.

🎯 Criterios de éxito

Sabrás que has dominado los conceptos de este capítulo cuando:

  • ✅ Puedas crear variables de diferentes tipos sin errores
  • ✅ Sepas identificar qué tipo de variable es adecuado para cada situación
  • ✅ Puedas realizar operaciones entre variables del mismo tipo
  • ✅ Entiendas cuándo necesitas convertir entre tipos
  • ✅ Puedas formatear la salida de tus programas de manera clara y profesional

¡Buena suerte con los ejercicios! Recuerda que la práctica constante es la clave para dominar la programación. Si te atascas, revisa los ejemplos del capítulo o busca ayuda, pero nunca dejes de intentarlo.


💡 Consejo final: Intenta resolver estos ejercicios sin mirar las soluciones primero. Es normal sentirse frustrado al principio, pero cada error que cometas y corrijas te hará mejor programador. ¡El aprendizaje está en el proceso, no solo en el resultado final!