jueves, 12 de marzo de 2026

BUCLE WHILE Y LAS LISTAS

 

Las Listas y el Bucle while

1. Las Listas en Python (El Contenedor)

Una lista es una estructura de datos que permite almacenar múltiples elementos en una sola variable. Piensa en ella como una fila de casilleros numerados.

Características principales:

  • Ordenadas: Cada elemento tiene una posición fija llamada índice. En Python (y en casi toda la programación), los índices empiezan en cero (0).

  • Mutables: Puedes modificarlas después de crearlas. Puedes añadir, cambiar o eliminar elementos.

  • Heterogéneas: Pueden contener distintos tipos de datos a la vez (números, textos, booleanos, ¡incluso otras listas!).

Ejemplo de lista:

mi_lista =["Manzana", "Pera", "Uva"] 
# Índices:     0         1       2

Para añadir elementos al final, usamos el método 
Para saber cuántos elementos tiene una lista, usamos la función 

2. El Bucle while (El Motor Condicional)

La palabra while en inglés significa "mientras". Esta estructura ejecuta un bloque de código de forma repetitiva mientras una condición específica sea evaluada como Verdadera (.

Regla de oro del 
A diferencia de un bucle for (que sabe exactamente cuántas veces va a dar vueltas), el while puede repetirse infinitamente si no tenemos cuidado. Por eso, dentro del bloque de código siempre debe ocurrir algo que modifique la condición para que, en algún momento, se vuelva Falsa (False) y el bucle termine.

3. Sinergia: ¿Por qué juntar while y listas?

Aunque en Python solemos usar el bucle for para recorrer listas, el bucle while brilla junto a las listas en dos escenarios muy específicos:

  1. Cuando no sabemos cuántos elementos vamos a recibir: Por ejemplo, si estamos llenando una lista con datos que ingresa un usuario, no sabemos si ingresará 2 datos o 100. El while mantiene el programa "escuchando" hasta que el usuario diga basta.

  2. Cuando queremos destruir o modificar la lista mientras la recorremos: Por ejemplo, ir sacando elementos de la lista uno por uno hasta que quede completamente vacía.


💻 Ejercicios Básicos

Aquí tienes dos ejercicios que demuestran exactamente la teoría anterior de forma sencilla.

Ejercicio 1: Recorrer una lista usando un índice y while

En este ejercicio vamos a crear una lista predefinida y vamos a usar un bucle while para leerla. Para ello, necesitamos un "contador" que actúe como el índice de los casilleros.

# 1. Definimos nuestra lista
frutas = ["Manzana", "Banana", "Naranja", "Pera"]

# 2. Creamos una variable que servirá como índice (empieza en 0)
indice = 0

# 3. El bucle: "Mientras el índice sea menor que la cantidad total de frutas"
# len(frutas) nos devolverá 4. Así que iterará mientras el índice sea 0, 1, 2 y 3.
print("--- Iniciando recorrido ---")
while indice < len(frutas):
    # Imprimimos el elemento que está en la posición actual
    print("Fruta en la posición", indice, "es:", frutas[indice])
    
    # MUY IMPORTANTE: Sumamos 1 al índice para que no sea un bucle infinito
    indice = indice + 1 
    # (También se puede escribir como: indice += 1)

print("--- Fin del recorrido ---")

martes, 10 de marzo de 2026

Tinkercad Circuits - ARDUINO Y LA SIMULACION

 PREGUNTAS THINKERCAD

1.    Pregunta: ¿Qué es Tinkercad?

2.    2. Pregunta: ¿Qué sucede en la plataforma si conectas mal un cable o no pones una resistencia al hacer un prototipo?

3.    3. Pregunta: ¿Para qué sirve específicamente el Monitor Serie en las simulaciones de Arduino?

4.    4. Pregunta: ¿Qué función cumplen los "Puntos de interrupción" (Breakpoints) al momento de buscar errores en el código?

5.    5. Pregunta: ¿Cuál es la limitación que tiene Tinkercad respecto al uso de librerías para sensores complejos?



1. ¿Qué es Tinkercad Circuits?

Tinkercad es una plataforma web gratuita desarrollada por Autodesk (los mismos creadores de AutoCAD). Aunque empezó como una herramienta de diseño 3D, incorporó un simulador de circuitos electrónicos que incluye microcontroladores, siendo el Arduino UNO R3 su principal estrella.

Al ejecutarse 100% en el navegador, no necesitas instalar ningún software (como el IDE de Arduino tradicional) ni comprar componentes físicos para empezar a crear.

2. ¿Para qué se usa principalmente con Arduino?

  • Prototipado de bajo riesgo (y costo cero): Te permite armar circuitos complejos antes de comprar los componentes. Si conectas mal un cable o no pones una resistencia, Tinkercad simulará el fallo (por ejemplo, mostrando un LED "explotando" o un mensaje de advertencia) pero no quemarás dinero real.

  • Diseño de lógica y programación: Es ideal para probar tu código (C++) para ver si la lógica funciona antes de pasarlo a la placa física.

  • Educación y docencia: Permite a principiantes entender el flujo de la corriente, el uso de la protoboard (placa de pruebas) y los conceptos básicos de programación sin la frustración de los falsos contactos eléctricos de la vida real.

3. Características y Herramientas Clave para Arduino en Tinkercad

Para tus simulaciones, contarás con este arsenal de herramientas dentro de la plataforma:

A. Catálogo de Componentes

Tinkercad tiene una biblioteca enorme. Para Arduino, dispones de:

  • Placas: Arduino UNO, Micro y Attiny.

  • Actuadores: LEDs, tiras Neopixel, motores DC, servomotores, motores paso a paso, zumbadores (piezoeléctricos), relés y pantallas LCD.

  • Sensores: Ultrasónicos (distancia), PIR (movimiento), fotorresistencias (luz), TMP36 (temperatura), potenciómetros, teclados matriciales, etc.

  • Componentes pasivos y de conexión: Protoboards de varios tamaños, resistencias, capacitores, diodos, transistores, multímetros y osciloscopios virtuales.

B. Entorno de Programación Dual

Una de las mayores ventajas es cómo te permite programar el Arduino:

  • Por Bloques: Si no sabes escribir código, puedes usar bloques visuales (estilo Scratch). Es perfecto para entender la lógica (bucles, condicionales).

  • Bloques + Texto: Te muestra los bloques y, al lado, el código en C++ que esos bloques generan automáticamente. Ideal para hacer la transición a la programación real.

  • Solo Texto: Un editor de código tradicional en C++ igual al del Arduino IDE.

C. Simulación Interactiva en Tiempo Real

Cuando haces clic en "Iniciar simulación", el Arduino virtual "cobra vida":

  • Si tienes un sensor de temperatura, puedes hacer clic sobre él y aparecerá un deslizador para subir o bajar los grados virtuales y ver cómo reacciona tu código.

  • Si tienes un sensor de luz, puedes simular que se hace de noche.

  • Si tienes un motor, verás cómo gira y a cuántas RPM lo hace.

D. Monitor Serie y Trazador (Plotter)

Al igual que en la vida real, Tinkercad incluye un Monitor Serie. Esto es vital en Arduino. Sirve para que la placa "te hable" imprimiendo valores en la pantalla (ej. Serial.println(distancia);). También incluye un trazador que convierte esos datos en gráficos en tiempo real.

E. Herramienta de Depuración (Debugger)

Esta es una ventaja que Tinkercad tiene sobre el Arduino IDE físico básico: puedes poner "Puntos de interrupción" (Breakpoints) en tu código de texto. Esto pausa la simulación en una línea específica para que veas qué valor exacto tienen tus variables en ese instante. Es la mejor forma de encontrar errores.


4. ¿Cómo es el flujo de trabajo típico?

Si vas a hacer una serie de simulaciones, este será tu ciclo de trabajo estándar:

  1. Ensamblaje (Hardware): Arrastras un Arduino y una protoboard al área de trabajo. Arrastras tus componentes (ej. un LED y una resistencia) y dibujas los cables haciendo clic entre los pines.

  2. Programación (Software): Abres la pestaña "Código", seleccionas el modo (Texto, por ejemplo) y escribes tus instrucciones (pinModedigitalWrite, etc.).

  3. Testeo (Simulación): Inicias la simulación. Observas si el comportamiento es el esperado.

  4. Corrección: Detienes la simulación, cambias conexiones físicas o corriges el código, y vuelves a probar.

  5. Exportación: Una vez que funciona perfecto, Tinkercad te permite descargar el archivo  para abrirlo en tu computadora y subirlo a un Arduino físico real. También genera automáticamente un diagrama esquemático y una lista de materiales (BOM).



miércoles, 4 de marzo de 2026

EXAMEN DE PERIODO

 EN GRUPO DE 3 ESTUDIANTES

 ESCRIBA EN UNA HOJA EL EJERCICIO Y RESUELVALO

NOTA: PUEDEN USAR SUS CUADERNOS COMO APOYO PARA RESOLVERLOS


1. El Guardia de la Montaña Rusa 🎢🛑

El contexto:
¡Conseguiste un trabajo de verano en el parque de diversiones de la ciudad! Te han asignado a la atracción más extrema: "El Tornado". Por reglas de seguridad, solo pueden subir personas que tengan 14 años o más. Hay una larga fila de un grupo de amigos y tienes la lista con todas sus edades, en total son 25 personas, pero revisarlas mentalmente una por una es muy aburrido.

Tu misión:
Crear un programa automático que lea la lista de edades del grupo de amigos y lance un mensaje por cada uno de ellos, avisando si tienen permiso para subir o si se tienen que quedar comiendo helado abajo.

Reglas y herramientas que debes usar:

  1. Ten en cuenta el numero de personas: El numero de amigos/personas te dice el margen superior del ciclo for..

  2. Un ciclo : Para revisar cada una de las edades dentro de la lista automáticamente.

  3. Un condicional : Para tomar la decisión. Si la edad es mayor o igual a 14, imprime un mensaje de bienvenida. Si es menor, imprime un mensaje de rechazo.

Ejemplo de cómo debería funcionar:

Tienes 12 años: Lo siento, te toca esperar comiendo helado. 🍦
Tienes 15 años: ¡Puedes subir, abróchate el cinturón! 🎢
Tienes 11 años: Lo siento, te toca esperar comiendo helado. 🍦


2. El Asistente del Colegio Trinitario 🏫📝

El contexto:
Imagina que eres el asistente del profesor de Matemáticas en el Colegio Trinitario. El periodo escolar ha terminado y el profesor necesita calcular las notas finales de sus 30 estudiantes. A cada estudiante se le tomaron 3 calificaciones en el periodo. Para aprobar Matemáticas, el promedio final debe ser de 3.5 o superior. Como hacer esto a mano es muy aburrido, ¡vas a crear un programa que lo haga por él!

Tu misión:
Crear un programa que se repita exactamente 30 veces. En cada repetición, el programa debe preguntarle al profesor el nombre del estudiante, luego pedirle sus 3 calificaciones, calcular el promedio y avisar inmediatamente si ese estudiante aprobó o reprobó.

Reglas y herramientas que debes usar (¡Prohibido usar listas! 🚫):

  1. Un ciclo : Como son 30 estudiantes, usa la función range(30) o range(1, 31) para que el ciclo se repita esa cantidad de veces sin necesidad de crear una lista.

  2. Pedir datos (: Primero pide el nombre (texto).

  3. Convertir a decimales (: Luego pide las 3 notas. Recuerda que las notas pueden tener decimales (como 3.8 o 4.2), así que debes usar float(input(...)) en lugar de int().

  4. Operadores matemáticos: Suma las 3 notas y divide el resultado entre 3 para sacar el promedio. (Pista: ¡Usa paréntesis para la suma!).

  5. Un condicional : Para decidir si el promedio es mayor o igual a (>=) 3.5.

Ejemplo de cómo debería funcionar:

Computadora: "--- Estudiante 1 ---"
Computadora: "Ingresa el nombre del estudiante:"
Usuario: "Camilo"
Computadora: "Ingresa la nota 1:"
Usuario: "4.0"
Computadora: "Ingresa la nota 2:"
Usuario: "3.0"
Computadora: "Ingresa la nota 3:"
Usuario: "3.8"
Computadora: "Camilo tiene un promedio de 3.6. ¡APRUEBA! 🎉"
Computadora: "--- Estudiante 2 ---"

(... y así hasta llegar a 30) 

BUCLE WHILE Y LAS LISTAS

  Las Listas y el Bucle  while 1. Las Listas en Python (El Contenedor) Una lista es una estructura de datos que permite almacenar múltiples ...