voltar índice


Vamos tentar fazer um programa que simula o movimento de uma tartaruga.

Por onde começar? Bem, primeiro analisaremos o movimento da tartaruga.

Digamos que a tartaruga esteja na posição "A" no início do movimento. A tartaruga começa a andar e logo depois ela vai estar na posição "B"; digamos que essa posição B esteja a 10 cm da posição "A" em linha reta. Em seguida ela estará numa posição "C" distante 10 cm da posição "B" e 20 cm distante da posição "A" e assim por diante... Para fazermos essa simulação devemos arrumar uma fórmula lógica para que o computador entenda o que nós queremos. Cada posição dessa será chamada de "x" e o deslocamento será "dx".

Agora podemos dizer ao computador o que fazer. Nós queremos fazer um programa que faça com que o Logo marque um ponto (posição X0), em seguida outro ponto (posição X1), e assim por diante... (X2,X3,X4...) esses pontos devem ter sempre a mesma distância um do outro, como no desenho acima.

Este programa inclui uma sub-rotina. Sub-rotinas são programas que fazem parte de um programa maior, mas são feitos em separado, assim você também poderá usá-los em outros programas.

O programa principal define as variáveis desejadas para o início do movimento que se realizará (x e dx, onde x define a posição do ponto e dx a distância entre esses pontos).

Para fazê-lo faça como já explicado, entre no Logo e clique em FILE, em seguida em EDIT. Na caixa de diálogo digite tarta, ou outro nome que você desejar, dê um OK e digite o programa na janela que se abriu, repare que você deve digitá-lo entre o "to tarta" e o "end".

to tarta :dx to nome_do_programa :valor da variável (no nosso caso ela é o espaço,
assim nós entramos com o valor do espaço que desejamos entre um ponto e outro,
em vez de colocarmos como constante no programa.
Definindo desta maneira poderemos usar valores diferentes
para dx cada vez que chamarmos o programa.
ht esconde a Tartaruga (cursor do Logo)
cs limpa a tela
setpensize [2 2] define o tamanho do ponto marcado pela Tartaruga
make "x 0 faz a variavel x se tornar "0", que é a nossa posição inicial
pu penup, a Tartaruga não irá deixar rastro na tela
andar chama a sub-rotina andar
end finaliza a programa

Em seguida digite a sub-rotina:

Deixe o "end" que já havia no programa principal. Para a sub-rotina você deverá escrever exatamente como abaixo.

to andar to nome_do_programa
setxy :x 0 coloca a Tartaruga na posição desejada, na primeira vez ele coloca x em 0,
pois definimos x como 0 no programa principal, depois ele colocará a Tartaruga
no novo X definido abaixo (make "x :x + :dx), a posição Y permanece em 0,
pois não teremos movimento nessa direção.
pd pd: a caneta desce
fd 1 fd: a caneta anda 1 passo, marcando, dessa forma, um ponto
pu pu: a caneta sobe de novo
make "x :x + :dx define o novo valor de "x"
andar chama a sub-rotina andar de novo, continuando o processo
end fim do programa

Repare num detalhe.... make "x :x + :dx
Como que é possível ele atribuir um valor a uma variável que já tem um valor atribuído?
Ao fazer:
x = x + dx ele pega o valor de "x" e soma com o deslocamento! Em seguida ele atribui esse novo valor a "x", "esquecendo" o valor anterior. Felizmente em computação isso é possível... é como se tivéssemos:
x1 = x0 + dx, onde x0 é a posição inicial e x1 é a primeira posição depois do movimento iniciado.
x2 = x1 + dx, onde x1 é a primeira posição e x2 a, segunda posição.
x3 = x2 + dx, onde x3 é a terceira posição e assim por diante...
x4 = x3 + dx...

Só que ele não grava esses subíndices... e nem os valores das posições já marcadas, pois não precisará mais delas... é possível guardar essas posições, mas seria preciso um programa mais complicado, que para nós não é interessante, e nem útil, pois não iremos precisar no futuro dos valores das posições que já foram marcadas.

Terminada a edição dos programas, clique em FILE, na janela de edição, e clique EXIT, clique em YES na caixa de diálogo que aparece. Então clique em FILE na janela do Logo, depois em SAVE AS, e salve o seu programa como tarta.lgo. Feito isso, clique em LOAD e em seguida no nome do seu programa que aparecerá na caixa de diálogo.

Vá até a linha de comandos e digite o nome do programa e a distância entre os pontos em que você deseja que a simulação seja feita.

Para parar o programa clique em HALT após o programa já ter rodado um pouco, pois ele vai fazer o movimento e continuar até que alguma coisa o pare; clicando em HALT você para a execução do programa. Você não perceberá, neste caso que o programa continua rodando pois ele começará a marcar pontos por cima dos pontos já marcados.

Exemplo:

tarta 10
    
não esqueça do espaço antes do 10, que será a distância entre dois pontos
clique em EXECUTE ou tecle "Enter" no teclado deixe o programa rodar um pouco
clique em HALT o programa parará de rodar
clique em RESET para limpar a tela
tarta 20 tente com outra distância entre os pontos e veja a diferença

OBSERVAÇÕES IMPORTANTES!

Se você cometeu um erro de sintaxe da linguagem na digitação do programa o Logo não permite que você saia do editor sem corrigí-la.

Sempre que você fizer uma modificação num programa, salve-o de novo na janela do Logo.

Quaisquer dúvidas, mande um e-mail para nós, preencha o formulário abaixo e mande o arquivo com seu programa para que possamos comentá-lo e/ou resolver suas dúvidas.

Mesmo que não haja problemas, mande-nos seu programa para vermos seu aproveitamento.