Nome: ______________________________
Data: ____________________
Semana 3
Dar instruções exatas
Transforme um trajeto num plano claro, passo a passo, e depois programe o robô para segui-lo à risca.
60 a 75 minutos
Ideias principais
Computadores seguem instruções ao pé da letra
Um robô faz exatamente o que você manda, e não o que você quis dizer. Se você disser "ande para a frente" mas esquecer de dizer o quanto, o robô não consegue adivinhar; ele faz a coisa errada ou não faz nada. Computadores são rápidos e incansáveis, mas não têm bom senso.
Um programa é uma sequência de comandos
Um programa é uma lista de comandos que o robô executa um depois do outro, de cima para baixo. Cada comando é uma instrução pequena, como "ande para a frente" ou "vire à direita". Executá-los em ordem se chama sequência.
Eventos disparam um programa
Um programa não roda até que alguma coisa o dispare. Esse momento de partida se chama evento: apertar um botão "Iniciar", tocar num bloco de "ao tocar" ou clicar em Rodar no simulador.
Algoritmos e pseudocódigo: planeje antes de programar
Um algoritmo é um plano claro, passo a passo, para uma tarefa, com cada passo explicado e nada deixado vago. Antes de escrever código de verdade, quem programa escreve primeiro o plano em linguagem comum: esse plano em linguagem comum se chama pseudocódigo.
Controlar a distância com tempo, velocidade e curvas
Nesta semana você dirige o robô com três ferramentas: o quanto ele anda (distância), quanto tempo esse movimento dura (tempo) e o quanto ele gira (curva). Em muitos kits, a distância vem da combinação de tempo e velocidade: mais velocidade por mais tempo cobre mais terreno.
Preveja antes de rodar
Antes de rodar um programa, faça uma previsão: percorra a sequência com o dedo e marque onde você acha que o robô vai parar e para que lado ele vai estar virado. Se comprometer com um palpite antes deixa óbvio quando um passo está errado.
Palavras para conhecer
- Programa:
- Uma lista de instruções que um computador segue para fazer um trabalho. Nesta semana, um programa é uma sequência de comandos de movimento.
- Comando:
- Uma única instrução que o robô consegue cumprir, como "ande para a frente" ou "vire à direita".
- Sequência:
- Comandos executados um depois do outro, em ordem, de cima para baixo. A ordem importa.
- Algoritmo:
- Um plano claro, passo a passo, para realizar uma tarefa, sem passos faltando nem passos vagos.
- Pseudocódigo:
- Escrever os passos de um plano em linguagem comum antes de transformá-los em código de verdade.
- Evento:
- O momento que dispara um programa, como apertar "Iniciar" ou um bloco de "ao tocar".
- Tempo:
- Quanto dura um comando, medido em segundos: um jeito de controlar até onde o robô vai.
- Distância:
- O quanto o robô anda num comando, muitas vezes indicado em centímetros ou em casas da grade.
- Curva:
- Um comando que gira o robô no lugar, normalmente por um número fixo de graus, como 90.
- Velocidade:
- O quão rápido os motores funcionam. Mais velocidade cobre mais distância no mesmo tempo.
- Previsão:
- O seu melhor palpite sobre onde o robô vai parar, feito antes de rodar o programa.
A sua atividade
Desafio de programação do trajeto de entrega
Objetivo: Programar o robô para seguir um trajeto ou labirinto da largada até o objetivo usando só uma sequência de comandos exatos de avanço e curva.
- Olhe o mapa e ache a largada, o objetivo e as paredes ou curvas ao longo do trajeto. Primeiro percorra a rota com o dedo.
- Escreva o plano como pseudocódigo em linguagem comum (avanços, curvas e distâncias em ordem) antes de montar qualquer coisa. Mantenha uma sequência direta: nesta semana não há laços, nem verificações, nem sensores.
- Transforme o pseudocódigo em comandos, rode, e se o robô errar o objetivo, conserte exatamente o comando que estava errado.
Escreva o que aconteceu:
Preveja e depois teste o final
Objetivo: Prever onde o robô vai parar e para que lado vai estar virado antes de rodar uma sequência dada, e depois rodar e comparar.
- Pegue uma sequência curta de comandos e percorra-a à mão no mapa. Marque no papel onde você acha que o robô termina e para que lado ele fica virado.
- Comprometa-se com a sua previsão antes de rodar qualquer coisa: escreva primeiro.
- Rode o programa, compare o final real com a sua previsão e explique qualquer diferença apontando o comando que a causou.
Escreva o que aconteceu:
Preveja
Escreva o seu palpite antes de testar.
Antes de rodar o seu programa de entrega, em que casa você prevê que o robô vai parar, e para que lado ele vai estar virado?
Quantos comandos (passos) você acha que o seu programa precisa para chegar ao objetivo?
Teste e registre
Registro de final previsto x final real
A cada tentativa, escreva a casa final que você prevê antes de rodar, depois rode a sequência e registre onde o robô terminou de verdade. Anote qual comando você mudou para a tentativa seguinte.
Registre: A posição final prevista contra a posição final real ao longo das tentativas
| Tentativa | Casa final prevista | Casa final real | Comando mudado para a próxima tentativa |
|---|---|---|---|
Verificação de aprendizagem
Responda cada pergunta. Nas de múltipla escolha, circule a melhor resposta.
Coloque estes passos na ordem certa para programar o robô a fazer uma tarefa.
- (Number these from 1 to 4.)
- Planejar os passos como um algoritmo
- Escrever os passos como comandos exatos
- Rodar o programa no robô
- Conferir se ele fez o que você esperava
O robô começa virado para cima. Percorra este programa. Para que lado ele fica virado no final?
vire à direita vire à direita vire à esquerda
- A.Virado para cima
- B.Virado para a direita
- C.Virado para baixo
- D.Virado para a esquerda
O seu robô fez a coisa errada mesmo tendo rodado o seu programa inteiro. O que provavelmente aconteceu?
- A.O robô resolveu ser criativo
- B.Ele seguiu as suas instruções exatamente, mas as suas instruções não eram o que você queria
- C.O robô ignorou o programa
- D.Programas nunca funcionam de primeira, de propósito
O que é uma sequência?
- A.Comandos que rodam um depois do outro, em ordem
- B.Um comando que se repete para sempre
- C.Um comando que decide com base num sensor
- D.Todos os comandos rodando exatamente ao mesmo tempo
O que é pseudocódigo?
- A.Um código secreto que só os computadores conseguem ler
- B.O plano de um programa escrito em linguagem comum antes de você programá-lo
- C.Um programa quebrado, cheio de erros
- D.O evento que dispara um programa
O seu robô chega ao ponto certo, mas fica virado para o lado errado. Que comando você deve conferir?
- A.Um comando de distância de avanço
- B.O evento Iniciar
- C.Um comando de curva: os graus ou a direção
- D.O comando de parar
Num kit que funciona por tempo, como você faria o robô percorrer mais distância num único comando de avanço?
- A.Deixar os motores funcionando por mais tempo (ou numa velocidade maior)
- B.Acrescentar um comando de curva
- C.Mudar o evento Iniciar
- D.Escrever o comando com outra cor
Refletir
Que instrução causou o maior erro, e como você a deixou mais precisa?
De que forma escrever o pseudocódigo primeiro ajudou você antes de montar os comandos de verdade?
Quando a sua previsão não bateu com o que o robô fez, como você descobriu qual comando consertar?