Exercício 4: A carreira do salmão

A carreira do salmão

Bom, chega de números (por um momento). Agora vamos aprender a fazer "contas" com as direções.

Para fazer isso, simularemos o movimento de um salmão contra a correnteza. Nosso objetivo será escrever um procedimento MoverComoSalmao(direcao) que receba uma direção e se mova exatamente uma vez na direção oposta. Vejamos em um quadro como deveria se comportar este procedimento:

  • MoverComoSalmao(Norte) se move em direção ao Sul.
  • MoverComoSalmao(Leste) se move em direção ao Oeste.
  • MoverComoSalmon(Sul) se move em direção ao Norte.
  • MoverComoSalmon(Oeste) se move em direção ao Leste.

Como a direção vai ser um parâmetro do nosso procedimento, necessitamos uma forma de dizer "a direção oposta a X" para poder em seguida usar isso como argumento de Mover. Gobstones nos provê um mecanismo para fazer isso, a função oposto(dir), que nos diz exatamente isso: a direção contrária à dir que nós te passamos.

Sabendo disso, poderíamos implementar facilmente o procedimento que queremos:

procedure MoverComoSalmao(direcao) {
  Mover(oposto(direcao))
}

Escreva a solução no editor e clique em Enviar. Você vai ver como a garra se move...

Você deve fazer o login antes de começar a enviar suas soluções

Opa! Sua solução não pode ser executada

  • Verifique se o seu programa não possui recursão ou um loop infinito
  • Verifique se você tem uma conexão com a internet
  • Espere um pouco e tente novamente

Estamos processando sua solução

Se não mostrar automaticamente em alguns segundos, pressione F5