🌀 BUCLES EN PROGRAMACIÓN
MICRO:BIT Y MAKECODE
🔄 ¿Qué son los bucles o ciclos en programación?
Un bucle es una estructura de control que permite repetir un bloque de código varias veces, ya sea un número específico de veces o mientras se cumpla una condición.
En programación, los bucles hacen exactamente eso: reducen la repetición de código y lo hacen más eficiente.
⚙️ Tipos de bucles en MakeCode para Micro:bit
En MakeCode, hay tres tipos principales de bucles:
1️⃣ Bucle "para" (for
)
- Se ejecuta un número determinado de veces.
- Ejemplos
- Contar del 1 al 10.
- Bloque en MakeCode:
repetir de 0 a 4
📌 Explicación:
i = 1
→ Inicia en 1.i <= 5
→ Se repite mientrasi
sea menor o igual a 5.i++
→ Se incrementa en 1 en cada repetición.
👉 Usos comunes:
✅ Contar números.
✅ Ejecutar un código un número fijo de veces.
✅ Crear animaciones con repeticiones definidas.
while
)- Se ejecuta mientras una condición sea verdadera.
- Ejemplo:
- Mover un personaje hasta que llegue al objetivo.
- Bloque en MakeCode:
mientras (condición)
📌 Explicación:
- Se inicia
contador = 0
. - Mientras el botón A NO esté presionado, sigue mostrando números.
- Cuando se presiona A, el bucle termina.
👉 Usos comunes:
✅ Sensores que esperan una condición (ej: detectar un obstáculo).
✅ Juegos donde el usuario interactúa hasta cumplir un objetivo.
✅ Procesos que dependen de datos en tiempo real.
3️⃣ Bucle "por siempre" (forever
)
- Se ejecuta infinitamente mientras la Micro:bit esté encendida.
- Ejemplo: Mostrar un patrón en la pantalla LED.
- Bloque en MakeCode:
por siempre
- Se muestra un ícono de corazón.
- Se espera 500 ms.
- Se borra la pantalla y se espera nuevamente.
- Este ciclo nunca se detiene.
👉 Usos comunes:
✅ Animaciones constantes en pantalla.
✅ Monitoreo de sensores.
✅ Sonidos o efectos visuales repetitivos.
🎯 3. Optimización de bucles
Los bucles pueden optimizarse para hacer el código más eficiente y rápido. Algunas estrategias incluyen:
✅ Evitar bucles innecesarios: Si un bucle no es necesario, puede ralentizar el código.
✅ Reducir la cantidad de cálculos dentro del bucle: Realizar operaciones complejas fuera del bucle cuando sea posible.
✅ Usar variables adecuadas: Evitar el uso de variables globales dentro de bucles si no es necesario.
✅ Usar "break" o "continue" cuando sea necesario:
break
detiene el bucle antes de tiempo.continue
salta una iteración y pasa a la siguiente.
🔸 Ejemplo de uso de break
y continue
:
for (let i = 1; i <= 10; i++) {
if (i == 5) {
break // Detiene el bucle en 5
}
if (i == 3) {
continue // Salta el número 3
}
basic.showNumber(i)
}
1, 2, 4
(se salta el 3 y se detiene en 5).🚀 4. Aplicaciones de los bucles en el mundo real
Los bucles se usan en muchísimas áreas de la tecnología:
🎮 Videojuegos:
- Movimientos de personajes (ejemplo: repetir un salto hasta que el personaje toque el suelo).
- Contar puntos en un marcador.
🚗 Automóviles inteligentes:
- Sensores que miden distancia y activan el freno si hay un obstáculo.
📡 Internet y redes sociales:
- Los servidores ejecutan ciclos infinitos para recibir y enviar datos constantemente.
🎵 Música digital:
- Reproducción en bucle de efectos de sonido.
🎥 5. Mini-Proyecto: Reloj digital con bucles en Micro:bit
🔹 Objetivo: Simular un reloj que cuente cada segundo y reinicie en 60.
🔸 Código en MakeCode:
let segundos = 0
basic.forever(function () {
basic.showNumber(segundos)
segundos += 1
basic.pause(1000)
if (segundos == 60) {
segundos = 0
}
})
📌 Explicación:
- Se inicia
segundos = 0
. - Cada segundo se incrementa en 1.
- Cuando llega a 60, vuelve a 0.
👉 Retos para los estudiantes:
✅ Agregar minutos y horas al reloj.
✅ Hacer que muestre una animación cada 10 segundos.
✅ Añadir un botón para reiniciar el reloj manualmente.
MAS EJEMPLOS
🚶♂️ 1. Rutinas diarias (Bucle "Para")
📌 Ejemplo: Cepillarse los dientes.
🔹 Explicación: Lo hacemos siempre de la misma manera, con un número fijo de repeticiones.
🔹 Código equivalente en pseudocódigo:
for i in range(1, 3): # Repetimos dos veces (arriba y abajo)
cepillar_dientes()
📌 Ejemplo: Hacer 20 sentadillas.
🔹 Explicación: Si queremos hacer 20, es un bucle "para"; pero si las hacemos hasta cansarnos, es un bucle "mientras".
🔹 Código equivalente:
repeticiones = 0
while no_estoy_cansado():
hacer_sentadilla()
repeticiones += 1
🚦 3. Semáforos (Bucle "Por Siempre")
📌 Ejemplo: Un semáforo cambia de luces en un ciclo infinito.
🔹 Explicación: Se repite en un bucle infinito, siempre con los mismos pasos.
🔹 Código equivalente:
while True:
encender_luz("verde")
esperar(30) # 30 segundos
encender_luz("amarillo")
esperar(5)
encender_luz("rojo")
esperar(30)
🎮 4. Videojuegos (Bucle "Por Siempre")
📌 Ejemplo: En Flappy Bird, el juego sigue ejecutándose hasta que el jugador pierda.
🔹 Explicación: Se usa un bucle infinito que solo se detiene si hay "Game Over".
🔹 Código equivalente:
while jugador_vivo:
mover_pajaro()
detectar_colision()
🏦 5. Cajero automático (Bucle "Mientras")
📌 Ejemplo: Un cajero sigue pidiendo que ingreses tu PIN hasta que sea correcto.
🔹 Explicación: No sabemos cuántas veces el usuario intentará, por eso usamos "mientras".
🔹 Código equivalente:
pin_correcto = "1234"
pin_ingresado = ""
while pin_ingresado != pin_correcto:
pin_ingresado = input("Ingresa tu PIN: ")
print("Acceso concedido")
🤖 6. Robots aspiradora (Bucle "Mientras")
📌 Ejemplo: Un robot sigue limpiando hasta que la batería se agote.
🔹 Explicación: Usa un bucle "mientras" para seguir limpiando hasta que la batería llegue a 0.
🔹 Código equivalente:
while bateria > 0:
limpiar()
mover()
bateria -= 1
📬 7. Notificaciones de redes sociales (Bucle "Por Siempre")
📌 Ejemplo: Facebook revisa constantemente si hay nuevas notificaciones.
🔹 Explicación: Se usa un bucle infinito que consulta el servidor cada cierto tiempo.
🔹 Código equivalente:
while True:
revisar_nuevas_notificaciones()
esperar(5) # Esperar 5 segundos antes de volver a revisar
21 comentarios:
Juan Acencio https://makecode.microbit.org/_bC9Wgo3J0f35
SHARONhttps://makecode.microbit.org/_Kx6TC4TPTaob
Victoria B 402: https://makecode.microbit.org/_YtR0x8Jkahii
SHALY DAYANA:https://makecode.microbit.org/_Vt1e6PdD3T2u
matias y oliver 402:https://makecode.microbit.org/_cDxVVdHWF9CJ
https://makecode.microbit.org/_7Cd1cuUvU1ct
pines ANDRES 402
DERECK VALENCIAhttps://makecode.microbit.org/_4qViefUWbb5f
angel402
Sarah C https://makecode.microbit.org/_K2hcfvdEiWTX
eliana rincon jimenez 402
LINDA 402 https://makecode.microbit.org/_arRV1p8ACF1U
leandrohttps://makecode.microbit.org/_RAh4DTKgV5U8
Aaron molinahttps://makecode.microbit.org/_0VPLjRHrKWRf
emily 402https://makecode.microbit.org/_Tax2h5fivR4ahttps://makecode.microbit.org/_Tax2h5fivR4a
ELIANA RINCON JIMENEZ :https://makecode.microbit.org/_25sTUAYXz5CP
DAMIAN BERRERA 402
DANIEL MATEO 402https://makecode.microbit.org/_4CkThe99HbrF
pine jean:https://makecode.microbit.org/_Kwq472D9fitq
emly sofia402vhttps://makecode.microbit.org/_YkTDspJt9WDb
https://www.youtube.com/watch?v=QA48wTGbU7A
Publicar un comentario