Introdução à Programação com o UCB Logo/Desenhando e Limpando

Fonte: Wikiversidade

Comandos para desenhar[editar | editar código-fonte]

Os 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[editar | editar código-fonte]

Vamos 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
Exemplo de um quadrado desenhado com o UCB Logo.

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
Exemplo de um triângulo desenhado com o UCB Logo.

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[editar | editar código-fonte]

Agora que você conhece os comandos básicos para desenhar com a tartaruga, faça um programa para desenhar um pentágono.

Exercício 2[editar | editar código-fonte]

Faça um programa para desenhar uma estrela de 5 pontas, igual à figura ilustrada ao lado.

Estrela de 5 pontas feita com o UCB Logo.


Dicas Geométricas[editar | editar código-fonte]

  1. 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.
  2. 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.