Olá,
Um exemplo de programa foi carregado para você começar.
Boa diversão.
*vídeo com legenda disponível em português
Guia rápido para a Linguagem LOGO (tradução em andamento):
Guia de referência rápida ao LOGO:
As coisas devem funcionar tanto em caixa alta como em caixa baixa.
Tipos:
PALAVRAS:          FW BW ....
NÚMEROS:        0, 0.1, 20
LISTAS:          [1 2 3 5]
SÍMBOLOS:        "foo "bar
VARIÁVEIS:      :foo :bar 
FUNÇÕES: COMMAND arg arg arg ...
                (COMMAND arg arg arg ...)
Comandos disponíveis:
RESET           Limpa a tela, move o personagem pra posição inicial.
Movimentos:
FORWARD n       Move o personagem para frente n pixels
FW n    
BACKWARD n      Move o personagem para trás n pixels
RIGHT n         Move o personagem para esquerda ou direita em n graus
RT n
LEFT n
LT n
SETX x          Ajustas as coordenadas do personagem nas posições X, Y ou X Y
SETY y
SETXY x y
HOME            Move o personagem para a posição inicial.
Desenho:
CLEARSCREEN     Limpa a tela
CLEAR
CS
CIRCLE r        Desenha um círculo de raio r ao redor do personagem
ARC r d         Desenha um arco de raio r por d graus
PENUP           Levanta a caneta (para de desenhar)
PU
PENDOWN         Desce a caneta (volta a desenhar)
PD
COLOR [r g b]   Mudar a cor da caneta (código rgb = red green blue / 0 a 255)
PENWIDTH w      Muda a grossura da caneta
Texto:
PRINT "foo          Imprime na tela "foo"
PR "foo
PRINT ["foo "bar]   Imprime na tela "foo bar"
PR ["foo "bar]
CLEARTEXT           Limpa o texto impresso anteriormente
CT
Operações Matemáticas:
:: SOMA ::              :: MULTIPLICAÇÃO ::
1 + 2                   1 * 2
SUM 1 2                 PRODUCT 1 2
(SUM 1 2 3 ...)         (PRODUCT 1 2 3 ...)
:: DIFERENÇA ::         :: DIVISÃO ::
1 - 2                   1 / 2
DIFFERENCE 1 2          DIVIDE 1 2
:: MÓDULO ::
1 % 2
MOD 1 2
RANDOM n        Retorna um inteiro em [0,n)
RAND n
RERANDOM s      Modifica o valor do incremento aleatório
SRAND s
:: ALGUNS EXEMPLOS ::
() INT n
() ROUND n
() POWER e m
() EXP n
() LN n
() LOG10 n
:: TRIGONOMETRIA ::
SIN, COS
RADSIN,RADCOS
ARCTAN
RADARCTAN
:: LISTAS ::
* Estas funcionalidades podem apresentar instabilidade a qualquer momento.
FIRST, HEAD             Retorna o primeiro item em uma lista
BUTFIRST, TAIL          Retorna todos menos o primeiro item em uma lista
LAST                    Retorna o último item em uma lista
BUTLAST                 Retorna todos os itens menos o último em uma lista
FPUT item list  Retorna uma nova lista com o item na frente
LPUT item list  Retorna uma nova lista com o item por trás
ITEM index list                 Busca o item indexado (get)
SETITEM index list value        Grava o item indexado (set)
EMPTY? list     Returna true se a lista estiver vazia
EMPTYP list 
:: OPERADORES LÓGICOS E DE COMPARAÇÃO ::
:: IGUALDADE
1 = 1
EQUAL? 1 1
EQUALP 1 1
:: MENOR
1 < 2                1 <= 2
LESS? 1 2               LESSEQUAL? 1 2
LESSP 1 2               LESSEQUALP 1 2
:: MAIOR
2 > 1                2 > 1
GREATER? 2 1            GREATEREQUAL? 2 1
GREATERP 2 1            GREATEREQUALP 2 1
:: LÓGICOS
AND TRUE FALSE          OR FALSE TRUE
:: OPERAÇÕES CONDICIONAIS (E SE...) ::
:: SE CONDIÇÃO EXISTIR FAÇA...
IF COND [IF_TRUE] 
IF 2 > 1 [FW 100]
:: SE CONDIÇÃO FAÇA ISSO SE NÃO AQUILO
IFELSE COND [IF_TRUE] [IF_FALSE]
IFELSE 2 > 1 [FW 100 RT 90] [BW 100 LT 90]
:: BUSCAR E MODIFICAR ::
:: X = 1
Set x to 1:             make "x 1
:: SOMAR N E X
Adding :n to :x         :n + :x
:: ATRIBUIR A X A SOMA DE N + X
Setting :x to :n + :x   make "x :x + :n
:: REPETIÇÕES ::
REPEAT n [COMMANDOS ...]
STOP    - Parar a repetição atual ou função.
OUTPUT f  - Retornar f.
OP f
:: DEFININDO E CHAMANDO
:: CRIA A FUNÇÃO FOO QUE RECEBE OS ARGUMENTOS ARG1, ARG2
:: TODA FUNÇÃO TEM UM CORPO BODY (COMANDOS) E UM FIM (END)
TO FOO :ARG1 :ARG2 BODY END
:: PARA CRIAR UMA FUNÇÃO QUE DESENHA UM QUADRADO E RECEBE O TAMANHO DESSE QUADRADO COMO ARGUMENTO
TO QUADRADO :tamanho
REPEAT 4 [FW :tamanho RT 90]
END
:: DESENHA UM QUADRADO DE TAMANHO 10
QUADRADO :10
:: PARA CRIAR UMA FUNÇÃO QUE DESENHA UM POLÍGONO QUE RECEBE O TAMANHO E O NÚMERO DE LADOS COMO ARGUMENTOS
TO POLYGONO :tamanho :lados
REPEAT :sides [FW :tamanho RT 360/:lados]
END
POLYGONO 5 10
Nota: Funções recursivas são suportadas.