Exercício 6: A ordem das coisas

A ordem das coisas

Quando trabalhamos com Gobstones, fazemos as coisas com uma certa ordem. Por exemplo, se temos este programa:

program {
  Mover(Norte)
  Mover(Leste)
}

Uma possível maneira de ler este programa (conhecida como operacional) é como uma máquina faria, em ordem, de cima para baixo:

  1. Primeiro se move para o norte: Mover(Norte)
  2. Em seguida se move ao leste: Mover(Leste)

E de fato se executa dessa maneira. Isso é como é feito.

No entanto, nós humanos somos melhores referindo-se especialmente ao resultado final: o objetivo do programa, isto é, o que ele faz. E se pensamos assim (denotacionalmente) o que faz é: move a garra para o nordeste.

Por isso, existem várias maneiras de resolver um mesmo problema: podemos escrever vários programas que façam o mesmo (o que), mas que façam isso de maneiras diferentes (o como).

Vamos ver se você entendeu isso: escreva outro programa que faça o mesmo que o de cima ( mover em direção ao nordeste), mas de maneira diferente. Fique de olho: deve funcionar em um tabuleiro de 2x2.

Dá-me uma dica!

Experimente inverter a ordem dos comandos.

Sabemos que a máquina executará em uma ordem diferente, mas o resultado final será o mesmo.

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