Introdução à Programação com o UCB Logo/Desenhando e Limpando
Comandos para desenhar
editarOs comandos básicos para desenhar no Logo fazem a tartaruga se mover para frente, para trás, virar para a direita ou para a esquerda, selecionam a cor da caneta utilizada, a cor do fundo ou limpam toda a tela. A lista dos comandos básicos segue abaixo:
comando | abreviação | número de argumentos | função | exemplo |
---|---|---|---|---|
forward | fd | 1 | move a tartaruga para frente | fd 100 |
back | bk | 1 | move a tartaruga para trás | bk 50 |
right | rt | 1 | vira a tartaruga para a direita | rt 90 |
left | lt | 1 | vira a tartaruga para a esquerda | lt 270 |
clearscreen | cs | 0 | limpa a tela e volta a tartaruga para a origem | cs |
penup | pu | 0 | levanta a caneta (ao andar a tartaruga não irá mais desenhar) | pu |
pendown | pd | 0 | desce a caneta (a tartaruga volta a desenhar) | pd |
hideturtle | ht | 0 | a tartaruga fica invisível | ht |
showturtle | st | 0 | torna a tartaruga visível | st |
home | -- | 0 | move a tartaruga para o centro da tela (posição [0, 0]) | home |
setxy | -- | 2 | move a tartaruga para uma determinada posição na tela (coordenadas X e Y) | setxy 100 50 |
Alguns comandos necessitam de argumentos, parâmetros para a sua execução. Por exemplo, o comando forward (andar para frente) precisa receber como argumento o número de passos que a tartaruga dará para frente; já o comando right necessita receber como argumento o ângulo em que a tartaruga irá girar para a direita, desta forma, right 90 fará a tartaruga virar em 90 graus para a direita, já right 180 fará a tartaruga virar em 180 graus para a direita. Algumas funções necessitam de mais de um argumento, estes devem ser passados um em seguida do outro, utilizando um espaço em branco para separá-los. Por exemplo, o comando setxy necessita receber as coordenadas X e Y para as quais a tartaruga será deslocada, desta forma precisamos fornecer dois números, conforme o exemplo setxy 100 50, que fará a tartaruga ir para as coordenadas (100, 50) do sistema de coordenadas da janela do Logo. O sistema de coordenadas utilizado é tal que o centro está nas coordenadas (0, 0). Os limites das coordenadas X e Y são dados pelo tamanho da janela. Se a tartaruga tentar mover-se para fora da janela, ela aparecerá do outro lado. O lado direito da tela dá a volta chegando ao lado esquerdo, e a borda de cima dá a volta se juntando à borda de baixo. Verifique isto, movendo a tartaruga de uma quantidade de passos maior do que o tamanho da janela.
Exemplo
editarVamos utilizar alguns dos comandos vistos acima para desenhar um quadrado. Um quadrado é um polígono de quatro lados de mesmo tamanho. Sabemos também que os ângulos internos são todos iguais a 90 graus. Para desenhar um quadrado de lado com tamanho igual a 100, devemos fazer com que a tartaruga ande 100 passos, vire à direita, ande 100 passos, vire à direita, ande mais 100 passos, vire à direita e por fim ande mais 100 passos e vire à direita.
fd 100
rt 90
fd 100
rt 90
fd 100
rt 90
fd 100
rt 90
Podemos também digitar todos comandos em uma linha apenas, e o resultado será o mesmo.
fd 100 rt 90 fd 100 rt 90 fd 100 rt 90 fd 100 rt 90
Vamos agora desenhar um triângulo equilátero. Sabemos que em um triângulo equilátero todos os seus lados possuem igual comprimento e os ângulos internos são todos iguais a 60 graus. Desta forma, para fazer com que a tartaruga desenhe um triângulo equilátero cujo lado tenha tamanho igual a 100, devemos fazer a tartaruga andar 100 passos para a frente, virar para a direita (ou esquerda, tanto faz) em 120 graus (180 - 60), andar mais 100 passos para desenhar o segundo lado do triângulo, virar novamente para a direita em 120 graus e por fim andar mais 100 passos para fechar o triângulo. Podemos ainda girar a tartaruga em 120 graus para deixá-la na posição e orientação inicial. A sequência de comandos então será
fd 100 rt 120 fd 100 rt 120 fd 100 rt 120
Note que para desenhar o triângulo devemos repetir 3 vezes a seqüência de comandos
fd 100 rt 120
Para facilitar a nossa vida, o Logo possui o comando repeat (repetir) para fazer que uma determinada seqüência de comandos seja repetidas tantas vezes quantas desejarmos. No caso em questão, queremos repetir apenas três a seqüência de comandos fd 100 rt 120, para tanto, devemos utilizar o seguinte
repeat 3 [fd 100 rt 120]
Em seguida ao comando repeat devemos fornecer o número de repetições e logo após, entre colchetes, a seqüência de comandos que será repetida.
Exercício 1
editarAgora que você conhece os comandos básicos para desenhar com a tartaruga, faça um programa para desenhar um pentágono.
Exercício 2
editarFaça um programa para desenhar uma estrela de 5 pontas, igual à figura ilustrada ao lado.
Dicas Geométricas
editar- Para desenhar um polígono qualquer com N lados a tartaruga deverá percorrer N segmentos com um determinado comprimento e após percorrer cada segmento, deverá rotacionar por um determinado ângulo. Para cada polígono o ângulo de rotação da tartaruga é diferente. Para o triângulo este ângulo é 120 graus, para o quadrado é 90 graus. Note que, ao final, após desenhar o polígono a soma de todas as rotações da tartaruga deve ser 360 graus, ou seja, ela terá completado uma rotação completa. Logo, podemos concluir que a soma dos ângulos de rotação (ângulos externos dos polígonos) é igual a 360 graus. Desta forma o ângulo de rotação será dado por 360/N.
- Desenhar uma estrela parece um pouco mais complicado, mas note que no centro de cada estrela com N pontas existe um polígono com N lados. No item anterior vimos como calcular o ângulo externo do polígono. Este ângulo externo é justamente o ângulo interno de um triângulo isósceles que constitui a ponta da estrela. Se conhecemos este ângulo e sabemos que o triângulo é isósceles, podemos calcular o outro ângulo do triângulo (o ângulo da ponta da estrela). O ângulo de rotação da tartaruga será justamente 180 menos o ângulo que acabamos de calcular.