Semana 3
Dar instrucciones exactas
Convierte un recorrido en un plan claro paso a paso y luego programa al robot para que lo siga al pie de la letra.
- 60 a 75 minutos
- Misión: Planear una secuencia exacta de comandos de avance y giro, predecir dónde termina, y luego programar al robot para que siga un recorrido hasta la meta.
Los estudiantes aprenden que las computadoras siguen las instrucciones al pie de la letra y con toda exactitud: el robot hace lo que de verdad le dijiste, no lo que querías decir. Escriben un algoritmo (un plan claro paso a paso) como pseudocódigo en lenguaje común, y luego lo convierten en un programa formado por una secuencia recta de comandos de movimiento con tiempos, distancias y giros. Predicen dónde va a terminar el robot antes de ejecutarlo, y después ejecutan y comparan. Esta es una semana de puras secuencias: todavía no hay ciclos, condiciones ni sensores, solo comandos exactos y ordenados para llevar al robot por un recorrido de entrega o un laberinto hasta la meta.
Al terminar esta semana vas a poder
- Explicar que un programa es una secuencia de comandos que la computadora sigue en orden, al pie de la letra y con exactitud
- Escribir un algoritmo como pseudocódigo (un plan claro paso a paso en lenguaje común) antes de programar
- Controlar el recorrido de un robot con comandos de distancia, tiempo y giro en el orden correcto
- Predecir dónde va a terminar el robot antes de ejecutar el programa, y luego comprobar la predicción
- Programar al robot para que siga un recorrido de entrega o un laberinto hasta la meta usando solo una secuencia de comandos
Aprende
Las computadoras siguen las instrucciones al pie de la letra
Un robot hace exactamente lo que le dices, no lo que querías decir. Si dices "avanza" pero se te olvida decir cuánto, el robot no puede adivinar; hace algo incorrecto o no hace nada. Las computadoras son rápidas e incansables, pero no tienen sentido común.
Esta es la idea más importante de la semana. Cuando un robot se porta mal, casi siempre está siguiendo bien tus instrucciones: lo que pasa es que tus instrucciones no decían lo que tú querías.
Por ejemplo: "Haz un sándwich" falla si no dices "primero abre la bolsa del pan"; A un robot al que le dices "gira" pero no cuánto, se pasa o se queda corto; "Ve a la puerta" no le dice nada a un robot: necesita "avanza 3 casillas, gira a la izquierda"
Un programa es una secuencia de comandos
Un programa es una lista de comandos que el robot ejecuta uno tras otro, de arriba abajo. Cada comando es una instrucción pequeña, como "avanza" o "gira a la derecha". Ejecutarlos en orden se llama secuencia.
El orden importa. "Gira a la derecha y luego avanza" manda al robot a un lugar completamente distinto que "avanza y luego gira a la derecha", aunque los comandos sean los mismos.
Por ejemplo: avanza 2 casillas -> gira a la derecha -> avanza 1 casilla; Intercambiar dos comandos cambia dónde termina el robot
Los eventos ponen en marcha un programa
Un programa no se ejecuta hasta que algo lo pone en marcha. Ese momento de arranque se llama evento: apretar un botón de "Iniciar", tocar un bloque de "al tocar" o hacer clic en Ejecutar en el simulador.
Esta semana cada programa tiene un evento arriba que dispara la secuencia, y a partir de ahí los comandos corren de corrido, en orden.
Por ejemplo: "Al apretar Iniciar" al principio del programa; Hacer clic en Ejecutar en el simulador; Tocar el botón de arranque en la aplicación del kit
Algoritmos y pseudocódigo: planea antes de programar
Un algoritmo es un plan claro paso a paso para una tarea, con cada paso bien explicado y nada dejado a medias. Antes de escribir código de verdad, quienes programan escriben primero el plan en lenguaje común: a ese plan en lenguaje común se le llama pseudocódigo.
El pseudocódigo te deja pensar el recorrido sin pelearte todavía con los bloques. Puedes escribir "avanza 3, gira a la izquierda, avanza 2, alto", comprobar que tiene sentido, y solo entonces armarlo con comandos.
Por ejemplo: Pseudocódigo: "avanza 3 casillas, gira 90 a la izquierda, avanza 2 casillas, alto"; Un algoritmo no tiene pasos faltantes ni huecos de "ya sabes a qué me refiero"
Controlar la distancia con el tiempo, la velocidad y los giros
Esta semana diriges al robot con tres herramientas: qué tanto se mueve (distancia), cuánto dura ese movimiento (tiempo) y cuánto rota (giro). En muchos kits, la distancia sale de combinar tiempo y velocidad: más velocidad durante más tiempo cubre más terreno.
Los giros hacen rotar al robot en su sitio, normalmente por grados. Un giro de 90 grados es un cuarto de vuelta (un ángulo recto) y deja al robot alineado con el siguiente tramo del recorrido. Acertar con la cantidad de giro es lo que mantiene al robot en su ruta.
Por ejemplo: avanza a velocidad 50 durante 2 segundos; gira 90 grados a la derecha para quedar frente al siguiente pasillo; media vuelta = 180 grados para regresar por donde viniste
Predice antes de ejecutar
Antes de ejecutar un programa, haz una predicción: recorre la secuencia con el dedo y marca dónde crees que se va a detener el robot y hacia dónde va a quedar mirando. Comprometerte primero con una conjetura hace que se note enseguida cuando un paso está mal.
Después ejecútalo y compara. Si el robot termina en otro lado, la diferencia te dice exactamente qué comando hay que arreglar: tal vez un giro era de 90 cuando debía ser de 180, o un avance se quedó una casilla corto.
Por ejemplo: Predicción: "termina en la estrella, mirando hacia arriba"; Si se detiene una casilla antes, un comando de distancia se quedó corto
Palabras que hay que saber
- Programa:
- Una lista de instrucciones que una computadora sigue para hacer un trabajo. Esta semana, un programa es una secuencia de comandos de movimiento.
- Comando:
- Una sola instrucción que el robot puede llevar a cabo, como "avanza" o "gira a la derecha".
- Secuencia:
- Comandos que se ejecutan uno tras otro, en orden, de arriba abajo. El orden importa.
- Algoritmo:
- Un plan claro paso a paso para hacer una tarea, sin pasos faltantes ni pasos confusos.
- Pseudocódigo:
- Escribir los pasos de un plan en lenguaje común antes de convertirlos en código de verdad.
- Evento:
- El momento que pone en marcha un programa, como apretar "Iniciar" o un bloque de "al tocar".
- Tiempo:
- Cuánto dura un comando, medido en segundos: una forma de controlar qué tan lejos llega el robot.
- Distancia:
- Qué tanto se mueve el robot en un comando, muchas veces indicado en centímetros o en casillas de la cuadrícula.
- Giro:
- Un comando que hace rotar al robot en su sitio, normalmente una cantidad fija de grados, como 90.
- Velocidad:
- Qué tan rápido funcionan los motores. A más velocidad, más distancia recorrida en el mismo tiempo.
- Predicción:
- Tu mejor conjetura sobre dónde va a terminar el robot, hecha antes de ejecutar el programa.
Cuídate
Lee esto antes de construir o poner a andar un robot esta semana.
- Caution:Mantén los dedos, el cabello y la ropa suelta lejos de las ruedas mientras el robot ejecuta su programa.
- Caution:Despeja el recorrido en el piso de pies, mochilas y patas de silla antes de ejecutar, para que el robot tenga una ruta segura.
- Note:Camina despacio sobre la cuadrícula del piso cuando te toque hacer de robot, para que nadie se tropiece.
- Note:Toma un descanso corto de la pantalla si te cansan los ojos al usar el simulador.
Manos a la obra
Elige tu ruta
Puedes hacer este curso con un kit de robótica, con el simulador del navegador, o sin dispositivos, con materiales de casa. Elige una: puedes cambiar cuando quieras sin perder tu trabajo.
Reto de programación del recorrido de entrega
Kit de robóticaProgramar al robot para que siga un recorrido o laberinto desde la salida hasta la meta usando solo una secuencia de comandos exactos de avance y giro.
- Observa el mapa y localiza la salida, la meta y los muros o giros que hay a lo largo del recorrido. Primero traza la ruta con el dedo.
- Escribe el plan como pseudocódigo en lenguaje común (avances, giros y distancias en orden) antes de armar nada. Que sea una secuencia recta: esta semana no hay ciclos, ni condiciones, ni sensores.
- Convierte el pseudocódigo en comandos, ejecútalo, y si el robot no llega a la meta, corrige exactamente el comando que estaba mal.
Recorre el trayecto de entrega con el robot de tu kit
Necesitas: w3-m5, w3-m6, w3-m1, w3-m2
Pasos
- 1Marca con cinta un recorrido en el piso, con una casilla de salida, una de meta y uno o dos giros. Pon el objeto pequeño en la salida como la entrega.
- 2Traza la ruta y escribe el pseudocódigo: por ejemplo, "avanza 40 cm, gira 90 a la derecha, avanza 20 cm, alto".
- 3Mide o cronometra un avance para saber qué tanto se mueve el robot, y luego llena las distancias o los tiempos reales.
- 4Arma la secuencia de comandos en la aplicación, aprieta Iniciar (el evento) y observa cómo el robot sigue el recorrido.
- 5Si no llega a la meta, cambia solo el comando que estaba mal (la cantidad de giro o la distancia de un avance) y vuelve a ejecutar.
Así se ve el éxito: El robot sigue la secuencia desde la salida hasta la meta y se detiene en la casilla de meta con la entrega.
- El pseudocódigo se escribió antes de programar
- El programa es una secuencia recta de comandos de avance y giro
- El robot llega a la meta y se detiene ahí
Seguridad: Mantén los dedos, el cabello y la ropa suelta lejos de las ruedas mientras el robot avanza. Despeja la zona del recorrido para que el robot no se topé con pies ni con patas de mesa.
Si no funciona
- El robot se pasa de la meta o se queda corto
- - Ajusta la distancia o el tiempo de ese comando de avance; un cambio pequeño en segundos lo mueve bastante.
- El robot gira de más o de menos
- - Revisa los grados del giro (prueba con 90 para un cuarto de vuelta) y confirma si es a la izquierda o a la derecha.
Ve más lejos: Agrega una segunda entrega: alarga la secuencia para que el robot siga hasta una segunda casilla de meta después de la primera.
Predice y luego comprueba el final
Kit de robóticaPredecir dónde se va a detener el robot y hacia dónde va a quedar mirando antes de ejecutar una secuencia dada, y luego ejecutarla y comparar.
- Toma una secuencia corta de comandos y trázala a mano sobre el mapa. Marca en papel dónde crees que termina el robot y hacia dónde queda mirando.
- Comprométete con tu predicción antes de ejecutar nada: escríbela primero.
- Ejecuta el programa, compara el final real con tu predicción y explica cualquier diferencia nombrando el comando que la causó.
Predice dónde se detiene el robot de tu kit
Necesitas: w3-m5, w3-m1, w3-m3
Pasos
- 1Toma una secuencia de 4 a 6 comandos (la tuya o una que te den) y trázala sobre el recorrido marcado con cinta.
- 2En la hoja de registro, marca la casilla en la que predices que se va a detener el robot y hacia dónde va a mirar.
- 3Ejecuta la secuencia y marca dónde se detuvo el robot en realidad.
- 4Compara: si hay diferencia, señala el comando (un giro o una distancia) que explica esa brecha.
Así se ve el éxito: Una predicción escrita junto al punto real donde se detuvo, con una razón para cualquier diferencia.
- La predicción se escribió antes de ejecutar
- Se registró el final real
- Cualquier diferencia se explica nombrando un comando
Seguridad: Mantente lejos de las ruedas mientras el robot hace su prueba de predicción.
Si no funciona
- La predicción y el resultado quedan lejísimos cada vez
- - Vuelve a medir qué tanto mueve al robot un comando de avance; tu estimación de distancia está desviada.
Ve más lejos: Predice el final de una secuencia que tenga tres giros.
Programa el robot
Build a program from blocks, then run it on the simulator. On the kit path, use the same steps in your robot's app; unplugged, act the blocks out on a floor grid. Your program saves on this device.
Secuencia del recorrido de entrega
Una secuencia recta de comandos de avance y giro que lleva al robot desde la salida hasta la casilla de meta. Solo secuencia: sin ciclos, condiciones ni sensores.
Agregar un bloque
Eventos y ejecución
Movimiento
Variables y contadores
Tu programa
- Avanzar
- Robot (la flecha apunta hacia donde mira)
- Zona de meta (contorno punteado)
Mapa: Una cuadrícula de 5 por 1. El robot arranca en la columna 1, fila 1, mirando hacia la derecha. La zona de meta está en la columna 5, fila 1.
Listo.
Listo para ejecutar. · 0 steps
Estado del robot
- Columna
- 1
- Fila
- 1
- Mirando hacia
- la derecha
- Distancia al frente
- 4 casillas
- Contacto
- libre
- Sobre una línea
- no
- Luz
- 80
- En la zona de meta
- no
- Choques
- 0
- Pasos
- 0
Robot en la columna 1, fila 1, mirando hacia la derecha. Distancia al frente: 4 casillas. Contacto: libre. Sobre una línea: no. Luz: 80. Fuera de la zona de meta.
Salida del registro
Todavía no hay nada registrado.
- Heads up: This program has no safe stop behavior. Add a safe stop so the robot stops when it is done or blocked.
Reto de secuencia en el laberinto
Planea una secuencia ordenada de comandos de avance y giro que lleve al robot alrededor del muro hasta la meta y luego lo detenga. Predice el final antes de ejecutarla. Solo secuencia: sin ciclos, condiciones ni sensores.
Agregar un bloque
Eventos y ejecución
Movimiento
Variables y contadores
Tu programa
- Avanzar
- Robot (la flecha apunta hacia donde mira)
- Zona de meta (contorno punteado)
- Muro (gris, con una X)
Mapa: Una cuadrícula de 3 por 3. El robot arranca en la columna 1, fila 1, mirando hacia la derecha. La zona de meta está en la columna 3, fila 3. Hay 1 muro.
Listo.
Listo para ejecutar. · 0 steps
Estado del robot
- Columna
- 1
- Fila
- 1
- Mirando hacia
- la derecha
- Distancia al frente
- 0 casillas
- Contacto
- presionado
- Sobre una línea
- no
- Luz
- 80
- En la zona de meta
- no
- Choques
- 0
- Pasos
- 0
Robot en la columna 1, fila 1, mirando hacia la derecha. Distancia al frente: 0 casillas. Contacto: presionado. Sobre una línea: no. Luz: 80. Fuera de la zona de meta.
Salida del registro
Todavía no hay nada registrado.
- Heads up: This program has no safe stop behavior. Add a safe stop so the robot stops when it is done or blocked.
Predice
Commit to a guess before you test - then see how close you were. Your predictions save automatically.
Cómo comprobarlo: Ejecuta la secuencia, marca la casilla y la dirección reales en las que se detuvo, y compáralas con tu predicción en la hoja de registro.
Cómo comprobarlo: Cuenta los comandos de tu secuencia final ya funcionando y compáralos con tu conjetura.
Prueba y mejora
Registro de final predicho contra final real
En cada intento, escribe la casilla final que predices antes de ejecutar, luego ejecuta la secuencia y registra dónde terminó el robot en realidad. Anota qué comando cambiaste para el siguiente intento.
Qué medir: La posición final predicha frente a la posición final real a lo largo de los intentos
| Intento | Casilla final predicha | Casilla final real | Comando cambiado para el siguiente intento |
|---|---|---|---|
Comprobación de conocimientos
Responde estas preguntas para comprobar que entiendes las secuencias, los algoritmos, el pseudocódigo y cómo controlar el recorrido del robot.
1. Pon estos pasos en el orden correcto para programar al robot para que haga una tarea.
Usa las flechas para ponerlas en orden.
- 1Escribir los pasos como comandos exactos
- 2Ejecutar el programa en el robot
- 3Comprobar si hizo lo que esperabas
- 4Planear los pasos como un algoritmo
2. El robot arranca mirando hacia arriba. Traza este programa. ¿Hacia dónde queda mirando al final?
gira a la derecha gira a la derecha gira a la izquierda
3. Tu robot hizo algo incorrecto aunque ejecutó todo tu programa. ¿Qué es lo más probable que haya pasado?
4. ¿Qué es una secuencia?
5. ¿Qué es el pseudocódigo?
6. Tu robot llega al punto correcto pero queda mirando hacia el lado equivocado. ¿Qué comando deberías revisar?
7. En un kit que funciona por tiempo, ¿cómo harías que el robot recorriera más distancia en un solo comando de avance?
0 de 7 respondidas
Reflexiona
Tus reflexiones se guardan solas.
Lo que viene la próxima semana
La próxima semana el robot gana sentidos: le agregamos un sensor para que pueda darse cuenta de lo que pasa a su alrededor, en vez de solo ejecutar una secuencia fija.
- Guarda tu mejor pseudocódigo de entrega; vas a comparar una secuencia fija con un robot que reacciona.
- Carga tu kit o guarda el simulador en tus marcadores, y busca tus piezas de sensores si vas por la ruta del kit.
- Piensa en alguna vez en que un conjunto fijo de pasos falló porque algo en el camino cambió.
Termina la semana 3
Completa esto para dar la semana por terminada y desbloquear la siguiente:
- Escribir el pseudocódigo de tu recorrido de entrega antes de programar (not done yet)
- Programar una secuencia que llegue a la meta (not done yet)
- Predecir un final y registrar lo predicho contra lo real (not done yet)
- Obtener al menos 4 de 5 en la comprobación de conocimientos (not done yet)
- Escribir tu reflexión (not done yet)