Desafio 3

   O primeiro passo seria criar um procedimento para desenhar o retângulo com altura (:a) e largura (:l) fornecidas pelo usuário:

 MegaLogo

 para retangulo :a :l
  pf :a gd 90
  pf :l gd 90
  pf :a gd 90
  pf :l gd 90
 fim
Desenhando retângulo
 SuperLogo, FMSLogo, xLogo
e MicroMundos

 aprenda retangulo :a :l
  pf :a pd 90
  pf :l pd 90
  pf :a pd 90
  pf :l pd 90
 fim
 Imagine

 aprender retangulo :a :l
  pf :a gd 90
  pf :l gd 90
  pf :a gd 90
  pf :l gd 90
 fim
   Agora devemos nos preocupar com a diagonal usando alguns conhecimentos de trigonometria e geometria.
   A tartaruga está no ponto A e deve se mover para o ponto B. Como a soma dos quadrados dos catetos é igual ao quadrado da hipotenusa, a diagonal será desenhada usando:
 MegaLogo
 pf rq (:l * :l + :a * :a)

 Imagine
 pf raizquadrada (:l * :l + :a * :a)
Medida da diagonal
 SuperLogo, FMSLogo, xLogo
e MicroMundos

 pf raizq (:l * :l + :a*:a)
   No entanto, devemos considerar que a tartaruga está apontando para cima e deve girar para a direita um ângulo ang (vide figura).
   Este ângulo é dado pela primitiva arctan dividindo o cateto oposto :l pelo adjacente :a.

   O procedimento ficaria assim:

MegaLogo

 para retangulo :a :l
  pf :a gd 90
  pf :l gd 90
  pf :a gd 90
  pf :l gd 90
  gd arctan :l / :a
  pf rq ( :l * :l + :a * :a )
 fim
Feito !
SuperLogo, FMSLogo, e MicroMundos

 aprenda retangulo :a :l
  pf :a pd 90
  pf :l pd 90
  pf :a pd 90
  pf :l pd 90
pd arctan :l / :a
pf raizq (:l * :l + :a * :a)
 fim
Imagine

 aprender retangulo :a :l
  pf :a gd 90
  pf :l gd 90
  pf :a gd 90
  pf :l gd 90
  gd arctan :l / :a
  pf raizquadrada ( :l * :l + :a * :a )
 fim
xLogo

 aprenda retangulo :a :l
  pf :a pd 90
  pf :l pd 90
  pf :a pd 90
  pf :l pd 90
pd atan :l / :a
pf raizq (:l*:l+:a*:a)
 fim

   Feito isto, basta escrever na janela de comandos a palavra retangulo seguida de dois números e teclar enter. Por exemplo, retangulo 75 120.
Note as diferenças entre Megalogo, Superlogo e xLogo no que se refere à primitiva arctan (atan, no xLogo).