La secuencia: la lógica de “primero–después”
En Scratch, una secuencia es el orden en que se ejecutan los bloques dentro de un mismo guion. Ese orden define el resultado porque muchos bloques dependen de lo que ocurrió antes: una posición, un disfraz, una variable, un mensaje mostrado, etc. Si cambias el orden, cambias el comportamiento, aunque uses los mismos bloques.
Orden vs. dependencia
- Orden: qué bloque se ejecuta primero, segundo, tercero…
- Dependencia: un bloque necesita que un valor ya haya sido establecido antes (por ejemplo, “ir a x: y:” antes de “mover 10 pasos” si quieres que el movimiento ocurra desde un punto específico).
Ejemplo 1: cambiar disfraz antes o después de moverse
Imagina un personaje con dos disfraces: uno de “quieto” y otro de “caminar”. Observa cómo el orden cambia la sensación de animación.
Secuencia A (más natural): primero cambia, luego se mueve
cambiar disfraz a [caminar v] → mover (20) pasos → cambiar disfraz a [quieto v]Interpretación: el personaje “se prepara” para caminar y luego avanza.
Secuencia B (efecto distinto): primero se mueve, luego cambia
mover (20) pasos → cambiar disfraz a [caminar v] → cambiar disfraz a [quieto v]Interpretación: el personaje se desplaza “sin animación” y el cambio de disfraz llega tarde, lo que puede verse como un salto o un parpadeo.
Guía práctica paso a paso para comprobarlo
- Elige un sprite con al menos dos disfraces (o crea dos disfraces simples).
- Construye la Secuencia A y ejecútala varias veces.
- Reordena exactamente los mismos bloques para formar la Secuencia B.
- Compara: ¿cuándo “parece” que camina? ¿cuándo cambia la apariencia respecto al movimiento?
Ejemplo 2: la secuencia y los valores que cambian
Muchos errores de principiantes ocurren cuando se asume que un valor ya cambió, pero en realidad el bloque que lo cambia está después. Un modo de verlo es usar una variable como “registro” temporal.
- Escuche el audio con la pantalla apagada.
- Obtenga un certificado al finalizar.
- ¡Más de 5000 cursos para que explores!
Descargar la aplicación
Registro de pasos con variable
Crea una variable llamada pasos y prueba esta secuencia:
fijar [pasos v] a (0) → cambiar [pasos v] por (1) → decir (pasos) por (1) segundos → cambiar [pasos v] por (1) → decir (pasos) por (1) segundosQué observar: el valor mostrado en cada decir depende de si el cambiar [pasos] por ocurrió antes o después. Si inviertes un decir con un cambiar, el número que ves cambia aunque “todo esté ahí”.
Trazado paso a paso: cómo rastrear qué corre primero
Rastrear (trazar) la ejecución consiste en responder tres preguntas mientras el programa corre: 1) qué bloque se ejecuta ahora, 2) qué valores cambian, 3) qué se ve/oye en pantalla. En Scratch, el trazado se apoya mucho en señales visuales y en “marcas” que tú agregas.
Técnica 1: “marcas” visuales con decir/pensar
Inserta bloques de decir o pensar entre pasos clave para etiquetar el punto de la secuencia.
decir [Paso 1: inicio] por (0.5) segundos → ... → decir [Paso 2: después de mover] por (0.5) segundosEsto no es para el producto final, sino para depurar: te permite ver el orden real.
Técnica 2: “marcas” con variables de estado
Crea una variable estado y ve actualizándola:
fijar [estado v] a [A] → ... → fijar [estado v] a [B] → ... → fijar [estado v] a [C]Activa la visualización de la variable en el escenario. Si algo “se salta”, verás en qué estado quedó.
Técnica 3: ralentizar para ver el orden (pausas)
Una pausa cambia la percepción de la secuencia porque hace visible cada paso. Úsala como lupa:
... → esperar (0.2) segundos → ... → esperar (0.2) segundosSi un cambio de disfraz es muy rápido, puede parecer que no ocurrió. Con una espera breve, confirmas si el bloque se ejecuta y cuándo.
Técnica 4: el sonido como “señal de tiempo”
El sonido también marca el orden. Dos casos comunes:
- Sonido corto: sirve como “bip” para confirmar que se llegó a un punto del guion.
- Sonido largo: puede hacer que parezca que “no pasa nada” si el guion queda ocupado en reproducirlo (según el bloque de sonido usado). Para depurar, prueba a reemplazar temporalmente por un sonido corto o por una pausa pequeña.
Idea práctica: coloca un sonido breve justo antes y justo después de un bloque sospechoso para confirmar si el flujo llega a ambos lados.
Dependencias típicas que cambian el resultado
| Objetivo | Bloque que debe ir antes | Bloque que depende | Qué pasa si se invierte |
|---|---|---|---|
| Mover desde un punto concreto | ir a x: ( ) y: ( ) | mover ( ) pasos | Se mueve desde la posición anterior, no desde la deseada |
| Mostrar un valor actualizado | cambiar/fijar [variable] | decir (variable) | Se muestra el valor viejo |
| Animación fluida | cambiar disfraz + esperar | mover repetido | Parpadeo o “teletransporte” visual |
| Evitar que algo ocurra “demasiado pronto” | esperar o una condición | Acción final (mostrar, cambiar escena, etc.) | La acción final ocurre antes de que el usuario la perciba |
Claridad del proyecto: que la secuencia se entienda a simple vista
Una secuencia correcta puede ser difícil de mantener si está desordenada. Estas técnicas no cambian lo que hace el programa, pero sí reducen errores al reordenar o ampliar.
1) Bloques de comentarios para explicar intención
Usa comentarios para describir el propósito del tramo, no para repetir lo obvio. Ejemplos útiles:
- “Preparar sprite para iniciar animación”
- “Actualizar marcador antes de mostrarlo”
- “Efecto de entrada: aparecer y desplazarse”
Coloca el comentario justo encima del grupo de bloques que describe.
2) Agrupación por propósito (secciones visuales)
Organiza el guion en “bloques” de trabajo separados por espacios, como si fueran párrafos:
- Preparación: fijar variables, posición, disfraz inicial.
- Acción principal: movimiento, animación, interacción.
- Salida: ocultar, detener, cambiar a otro estado.
Esto ayuda a detectar dependencias: si “Preparación” está mezclada con “Acción”, es más fácil ejecutar algo antes de tiempo.
3) Separación de guiones por responsabilidad
En lugar de un solo guion enorme, divide por responsabilidades claras. Ejemplos:
- Un guion para animación (cambios de disfraz y ritmo).
- Un guion para movimiento (posiciones y desplazamientos).
- Un guion para interfaz (mensajes, marcador, efectos).
Consejo práctico: si un guion “hace de todo”, es más difícil razonar el orden. Separar reduce la probabilidad de reordenar algo crítico sin querer.
Mini-retos: ordenar bloques mezclados
En cada reto, los bloques están “mezclados”. Tu tarea es ordenarlos para lograr el comportamiento descrito. Después, usa trazado con decir o una variable estado para verificar el orden real.
Reto 1: entrada con estilo (aparición y movimiento)
Comportamiento deseado: el sprite aparece, dice “¡Hola!” y luego se mueve 30 pasos.
Bloques mezclados:
mostrardecir [¡Hola!] por (1) segundosmover (30) pasosocultar
Pista: si el sprite está oculto cuando habla, ¿se verá el bocadillo?
Reto 2: animación de caminar (sin parpadeo)
Comportamiento deseado: al avanzar, alterna dos disfraces con ritmo visible.
Bloques mezclados:
mover (10) pasoscambiar disfraz a [caminar1 v]esperar (0.1) segundoscambiar disfraz a [caminar2 v]esperar (0.1) segundos
Pista: si cambias dos disfraces seguidos sin esperar, puede parecer que no cambió.
Reto 3: mostrar valor actualizado
Comportamiento deseado: aumentar puntos y mostrar el nuevo valor inmediatamente.
Bloques mezclados:
decir (puntos) por (1) segundoscambiar [puntos v] por (5)fijar [puntos v] a (0)
Pista: ¿qué debe ocurrir antes para que el número mostrado sea el correcto?
Reto 4: secuencia con sonido como marcador
Comportamiento deseado: el sprite se mueve, suena un “bip” y luego cambia de disfraz (para que el sonido marque el momento exacto del cambio).
Bloques mezclados:
mover (20) pasostocar sonido [pop v] hasta que terminecambiar disfraz a [final v]
Pista: coloca el sonido donde quieras “sentir” el cambio; luego verifica con una marca decir si el orden coincide con lo que percibes.
Checklist de depuración de secuencias
- ¿Qué bloque debería ejecutarse primero para preparar el estado (posición, disfraz, variables)?
- ¿Hay algún bloque que muestra información (decir/mostrar variable) antes de actualizarla?
- ¿Algún cambio ocurre tan rápido que no se percibe? Añade una
esperarcorta para comprobarlo. - ¿Puedes dividir el guion en secciones (preparación/acción/salida) y comentarlas?
- Si algo “parece” fuera de orden, inserta marcas:
decir“Paso 1/2/3” o una variableestado.