馃寑 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
22 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
https://studio.code.org/s/express-2024?redirect_warning=true
Publicar un comentario