A linguagem de programação Logo tradicional envolve uma tartaruga gráfica, um robô preparado para responder aos comandos do usuário. O resultado é mostrado após digitar-se o comando. Incentivando o aprendizado. Nela, o aluno aprende tentando ensinar a tartaruga a movimentar-se através de tentativa e erro.
Existem quatro comandos básicos para movimentar a
tartaruga:
- parafrente (pf) [num_passos]
- paratrás (pt) [num_passos]
- paradireita (pd) [ângulo]
- paraesquerda (pe) [ângulo]
O seguinte programa desenha um quadrado na tela de
tamanho 100:
Repita 4 [pf 100 pd 90]
O seguinte programa gera um circulo utilizando a tartaruga gráfica:
repita 360 [pf 1 pd 1]
Através do comando APRENDA, podemos ensinar a tartaruga uma função. Ao ser digitado APRENDA,
abre-se uma caixa de texto onde você deve escrever as instruçõoes desta função
que você está ensinando a tartaruga. Quando terminar digite 'FIM'. Outra alternativa
é ir no menu Procedimento e escolher a opção Editar.
aprenda quadrado :x
repita 4 [pf :x pd 90]
fim
Temos também o comando SE
para modificar o fluxo de execução de uma instrução. Se alguma condição é
verdadeira, a ação a ser executada no caso é uma lista de instruções. Quando o
resultado do predicado é falso, a lista não é executada e o interpretador Logo continua a execução do programa no
comando imediatamente seguinte ao comando SE. A forma geral do comando SE,
portanto, : SE {predicado} {lista}.
Vejamos este exemplo:
APRENDA TRIANGULO :X
UL
SE :X<3 [PARE]
REPITA 3 [TRIANGULO :X/2
PF :X PD 120]
FIM
Perceba também que o
programa acima o chama mesmo quando executado, uma clara demonstração de
recursividade em Logo.
Este programa simples desenha
umas das formas elementares da geometria fractal chamadas Triângulo de Sierpinski.
Fractal Árvore
aprenda arvore :d
se :d < 5 [pare]
pf :d
pd 30
tree :d-10
pe 60
arvore :d-10
pd 30
pt :d
fim
|
Fractal Quadrado
aprenda quadrado_fractal :comprimento
:profundidade
;
caso base
se
:profundidade = 0 [ pare ]
;
caso recursivo: desenhe o quadrado tal que em cada canto tem um quadrado
fractal
repita 4 [
pf :comprimento
pd 90
quadrado_fractal :comprimento * 0.4 :profundidade - 1
]
fim
|
aprenda floco :comprimento :profundidade
se
:profundidade = 0 [
pf :comprimento
pare
]
floco :comprimento / 3
:profundidade - 1
pe 60
floco :comprimento / 3
:profundidade - 1
pd 120
floco :comprimento / 3 :profundidade - 1
pe 60
floco :comprimento / 3 :profundidade - 1
fim
aprenda koch :comprimento :profundidade
repita 3 [ floco :comprimento :profundidade pd 120]
fim
|
2 comentários:
onde baixa?
onde baixa?
Postar um comentário