Ir para o conteúdo

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.

  1. 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.
  2. 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.
  3. 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.

  1. 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.
  2. Comprometa-se com a sua previsão antes de rodar qualquer coisa: escreva primeiro.
  3. 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

TentativaCasa final previstaCasa final realComando mudado para a próxima tentativa
    
    
    

Verificação de aprendizagem

Responda cada pergunta. Nas de múltipla escolha, circule a melhor resposta.

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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?