2. Sum´rio
a
1 Introdu¸˜o
ca III
1.1 Onde posso conseguir o SuperLogo? . . . . . . . . . . . . . . . . III
1.2 Apresenta¸˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III
ca
2 Hist´ria do Logo
o V
3 Primeiros Passos VI
3.1 Comandos b´sicos . . . . . . . . . . . . . .
a . . . . . . . . . . . . VI
3.2 Outros comandos b´sicos . . . . . . . . . .
a . . . . . . . . . . . . VII
3.3 Comando ROTULE, e comando ESCREVA . . . . . . . . . . . . VII
3.4 Alterando as cores . . . . . . . . . . . . . . . . . . . . . . . . . . VIII
3.5 Comando MOSTRE . . . . . . . . . . . . . . . . . . . . . . . . . VIII
3.6 Opera¸˜es . . . . . . . . . . . . . . . . . . .
co . . . . . . . . . . . . IX
3.6.1 Opera¸˜o ELEMENTO . . . . . . .
ca . . . . . . . . . . . . IX
3.6.2 Predicados . . . . . . . . . . . . . . . . . . . . . . . . . . IX
4 Ensinando a tartaruga X
4.1 APRENDA! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X
4.2 Comando REPITA . . . . . . . . . . . . . . . . . . . . . . . . . . X
4.3 Comando SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI
4.4 Comando SOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI
5 Usando uma fun¸˜o dentro de outra
ca XII
6 Logo em 3D XIV
7 Informa¸˜es finais
co XV
Referˆncias
e XVI
II
3. 1 Introdu¸˜o
ca
1.1 Onde posso conseguir o SuperLogo?
H´ duas formas de conseguir este Software:
a
O SuperLogo est´ dispon´ gratuitamente para download em:
a ıvel
http://www.nied.unicamp.br/publicacoes/softwares/slogo30.zip
Ou pode-se adquiri-lo comprando no seguinte site:
http://www.fastcommerce.com.br/divertire
1.2 Apresenta¸˜o
ca
Logo ´ uma linguagem de programa¸˜o que permite ao usu´rio ver na tela os
e ca a
comandos d´ ıgitados, neste tutorial trabalharemos com o SuperLogo1 que ´ uma
e
vers˜o de logo em portuguˆs. Apresentaremos os principais comandos e outros
a e
interessantes, mostraremos exemplos e abordaremos um pouco da hist´ria do o
logo.
O Logo ´ uma linguagem de programa¸˜o e como tal serve para que pos-
e ca
samos nos comunicar com o computador. Essa linguagem possui como todas,
seus aspectos computacionais, e no caso do Logo, o aspecto da metodologia para
explorar o processo de aprendizagem. O Logo ´ de f´cil assimila¸˜o, pois pro-
e a ca
porciona explora¸˜o de atividades espaciais que permitem um contato imediato
ca
com o computador.
Os conceitos espaciais s˜o usados para comandar a tartaruga(cursor gr´fico
a a
que tornou-se s´ ımbolo do Logo) que se movimenta em atividades gr´ficas. No
a
processo de comandar a tartaruga esses conceitos devem ser explicitados, o
que d´ condi¸˜es para o desenvolvimento de conceitos espaciais, num´ricos,
a co e
geom´tricos, j´ que os alunos podem exercit´-los, depur´-los , usando-os nas
e a a a
mais diferentes situa¸˜es.
co
Logo nasceu de tecnicas da computat¸˜o simb´lica(manipulando palavras e
ca o
id´ias), veio da linguagem LISP, usada na pesquisa de Inteligˆncia Artificial.
e e
Os comandos do Logo dividem-se, basicamente, em comandos primitivos, que
j´ vˆm implementados na linguagem, e em nomes ou r´tulos de fun¸˜es, escritos
a e o co
pelo usu´rio, que, uma vez na ´rea de trabalho (mem´ria), s˜o executados como
a a o a
se fossem comandos primitivos. A maior parte dos comandos primitivos, e todos
as fun¸˜es, podem ser executados em modo direto ou ser acionados a partir de
co
uma (outra) fun¸˜o. O Logo tamb´m possui comandos para manipular palavras
ca e
e listas (conjunto de palavras), com os quais ´ poss´ ”ensinar”a tartaruga a
e ıvel
produzir uma frase, criar hist´rias, integrar a parte gr´fica com a manipula¸˜o de
o a ca
1 Lembre que outro Logo poss´
ıvelmente ter´ os comandos d´
a ıferentes deste.
III
4. palavras para fazer anima¸˜es, ou ainda explorar conceitos de Ciˆncias, F’isica,
co e
Qu´ımica e Biologia.
A maioria das pessoas que programam Logo dificilmente programam proble-
mas que n˜o sejam gr´ficos. Assim, obtˆm-se uma vis˜o distorcida do potencial
a a e a
de Logo enquanto uma linguagem de programa¸˜o de prop´sito geral. Por ser
ca o
Logo uma linguagem essencialmente dirigida a aprendizes, ´ comum verificar que
e
ela, mesmo em cursos de forma¸˜o de profissionais, ´ tratada com muita infor-
ca e
malidade e, muitas vezes, com uma certa infantilidade. Logo ´ computacional,
e
e portanto formal e t´cnica. Ignorar esses aspectos dificulta o entendimento de
e
muitos conceitos inerentes a qualquer linguagem de programa¸˜o.
ca
IV
5. 2 Hist´ria do Logo
o
O Logo nasceu com base nas referˆncias te´ricas sobre a natureza da apren-
e o
dizagem desenvolvidas por Piaget (reinterpretadas por Papert), e nas teorias
computacionais, principalmente a da Inteligˆncia Artificial.
e
Um dos elementos facilitadores para a penetra¸˜o do Logo em outros centros
ca
de pesquisa e nas escolas (onde ocorreu pela primeira vez no projeto ”An Eval-
uative Study of Modern Technology in Education”(Papert, 1976), come¸ado c
em 1977 na Escola P´blica de Brookline) foi o desenvolvimento dos micro-
u
computadores da Texas Instrument e da Apple.
A princ´ ıpio, n˜o houve preocupa¸˜o com o papel do professor no ambiente
a ca
Logo. Posteriormente, surgiu um grande descontentamento com os resultados
obtidos, j´ que estes deixaram muito a desejar em rela¸˜o ao que se apregoava
a ca
que o Logo poderia fazer pela educa¸˜o.
ca
Sabe-se que o papel do professor no ambiente Logo fundamental. LOGO n˜o a
´ s´ o nome de uma linguagem de programa¸˜o, mas tamb´m de uma filosofia
e o ca e
que lhe ´ subjacente. A filosofia surgiu dos contatos de Papert com a obra de
e
Piaget e dos estudos sobre o problema da inteligˆncia artificial.
e
Um outro aspecto importante nas concep¸˜es de Papert, ´ o fato de no
co e
LOGO considerar-se o erro como um importante fator de aprendizagem, o que
oferece oportunidades para que o aluno entenda porque errou e busque uma nova
solu¸˜o para o problema, investigando, explorando, descobrindo por si pr´prio,
ca o
ou seja, a aprendizagem pela descoberta.
Os procedimentos de an´lise e corre¸˜o no processo de aprendizagem pelo
a ca
Logo possibilitam a descoberta de diferentes caminhos na solu¸˜o de problemas,
ca
sendo que esses caminhos adv´m de um contexto cultural onde n˜o h´ certo e
e a a
co a ´
errado pois as solu¸˜es s˜o pessoais. E esse tipo de aprendizagem que a filosofia
do ambiente Logo pretende que seja desenvolvida com a ajuda da linguagem de
programa¸˜o Logo, que possibilita integrar habilidades corporais com as intelec-
ca
tuais, a visualiza¸˜o da representa¸˜o do modo como pensamos, promovendo o
ca ca
desenvolvimento do pensamento estruturado modular.
V
6. 3 Primeiros Passos
3.1 Comandos b´sicos
a
A tartaruga ´ um cursor gr´fico que aparece no centro da tela gr´fica. Para
e a a
fazer desenhos basta moviment´-la na tela de modo que ela deixe tra¸os pelo
a c
seu caminho. H´ quatro comandos b´sicos que movimentam a tartaruga:
a a
• PARAFRENTE (PF)
´
• PARATRAS (PT)
• PARADIREITA (PD)
• PARAESQUERDA (PE)
Ao usar esses comandos ´ necess´rio especificar o n´mero de passos ou a
e a u
medida do grau do giro. A maior parte dos comandos do Logo possui uma
forma abreviada, como visto acima, que simplifica a digita¸˜o. A tartaruga ´
ca e
definida por uma posi¸˜o em rela¸˜o a um sistema de coordenadas cartesianas
ca ca
(x, y) cujo ponto [0 0] representa o centro da tela gr´fica e por uma orienta¸˜o
a ca
em rela¸˜o a um eixo imagin´rio cujo ponto inicial ´ 0.
ca a e
Os comandos PF e PT alteram a posi¸˜o da tartaruga e os comandos PD e
ca
PE a sua orienta¸˜o(ˆngulo).
ca a
Alguns comandos como PF, PT, PD, PE precisam de parˆmetros(exemplo:
a
PF 90, PE 45), mas h´ comandos que n˜o precisam de parˆmetros como o
a a a
comando TARTARUGA (TAT). Da mesma forma, h´ comandos que precisam
a
de mais de um parˆmetro. Os parˆmetros podem ser n´meros, palavras ou
a a u
listas.
• Palavra ´ uma sequˆncia de caracteres precedida por aspas ( ”).
e e
• N´mero ´ um tipo especial de palavra, que dispensa o uso de aspas para
u e
facilitar as operaes aritm´ticas. Um n´mero constitu´ somente por
e u ıdo
d´ıgitos, podendo ser um valor inteiro ou real (com ponto decimal).
• Lista ´ um conjunto de palavras, n´meros ou listas escrito entre colchetes
e u
( [ ] ).
A omiss˜o de um parˆmetro quando ele ´ necess´rio produz uma mensagem
a a e a
de erro.
VI
7. 3.2 Outros comandos b´sicos
a
Outros comandos b´sicos s˜o:
a a
• USENADA (UN) = tartaruga se movimenta sem deixar tra¸os.
c
• USEBORRACHA (UB) = apagar trao na tela.
´
• USELAPIS (UL) = retorna a movimentar-se desenhando os tra¸os.
c
• DESAPARECATAT (DT) = tartaruga fica invis´
¸ ıvel.
• APARECATAT (AT) = tartaruga volta a ser vis´
¸ ıvel.
• TAT = limpa a tela, recoloca a tartaruga no centro da tela.
Vejamos um exemplo simples, que faz com que a tartaruga desenhe um
quadrado. Devemos digitar na tela do SuperLogo(janela de comandos) o seguinte:
PF 80
PE 90
PF 80
PE 90
PF 80
PE 90
PF 80
Lembrando que ap´s cada comando clicar no bot˜o Executar.
o a
3.3 Comando ROTULE, e comando ESCREVA
O comando ROTULE escreve na tela da tartaruga e precisa de um parmetro,
onde o conte´do deste ser´ impresso.
u a
J´ o comando ESCREVA ir´ escrever na janela de comandos do SuperLogo.
a a
Assim como visto com o comando ROTULE, este deve conter um parˆmetro `
a a
ser escrito.
Abaixo um exmplo dos dois comandos.
ROTULE [Este ’e um exemplo,]
ESCREVA [e este ’e outro.]
VII
8. 3.4 Alterando as cores
Vocˆ pode alterar a cor do tra¸o, do fundo, entre outros, nestes m´todos ser´
e c e a
necess´rio parˆmetros, estes ser˜o a nova cor. Veja o exemplo abaixo:
a a a
MUDECF 5
MUDECF [125, 0, 255]
Note que no primeiro exemplo o parˆmetro ´ um n´mero, a desvantagem, ´
a e u e
que assim a apenas 16 cores. J´ no segundo a uma infinidade de cores, j´ que
a a
os n´meros podem variar de 0 ` 255. Cada n´mero representa um tom de cor,
u a u
vermelho, verde e azul, respectivamente. Mas o que significa MUDECF?
Abaixo alguns comandos para se trocar as cores:
• MUDECF = muda cor do fundo da janela gr´fica.
a
• MUDECL = muda cor do l´pis(tra¸o).
a c
• MUDECP = muda cor do pincel(para preenchimento).
• PINTE = preenche o espa¸o onde est´ a tartaruga.
c a
3.5 Comando MOSTRE
O comando MOSTRE (MO) mostra algo. Por exemplo se for d´ıgitado MOSTRE
CF ser´ mostrada a cor de fundo na janela de comandos.
a
Alguns exemplos de onde pode ser utilizado o MOSTRE:
• MOSTRE CF = mostra a cor do fundo da janela gr´fica.
a
• MOSTRE CL = mostra a cor do l´pis(tra¸o).
a c
• MOSTRE DC = mostra a dire¸˜o.
¸ ca
• MOSTRE POS = mostra a posi¸˜o da tartaruga.
ca
• MOSTRE PRI = mostra o primeiro item de uma lista.
VIII
9. 3.6 Opera¸oes
c˜
O conjunto de a¸˜es primitivas do Logo ´ subdividido em duas categorias: CO-
co e
MANDOS e OPERACOES. ¸˜
Ao contr´rio dos comandos, as opera¸˜es n˜o produzem uma a¸˜o expl´
a co a ca ıcita,
mas sim valores que ficam dispon´ıveis para serem usados por outros comandos.
Uma opera¸˜o, portanto, sempre ´ utilizada como parˆmetro de um comando ou
ca e a
de uma outra opera¸˜o. H´ opera¸˜es que lidam com o universo da Tartaruga.
ca a co
exemplo: MOSTRE CF
O comando MOSTRE (MO) imprime na janela de comandos o resultado
da opera¸˜o CORDOFUNDO (CF) que ´ um n´mero que corresponde ` cor
ca e u a
do fundo da janela gr´fica. H outras que manipulam exclusivamente n´meros,
a u
como PF 50 * 2, e que s˜o denominadas de opera¸˜es aritm´ticas.
a co e
Todas as opera¸˜es em Logo, com exce¸˜o das aritm´ticas, s˜o pr´-fixas, ou
co ca e a e
seja, o operador ´ escrito antes dos respectivos operandos.
e
3.6.1 Opera¸˜o ELEMENTO
ca
Para selecionar um determinado elemento de uma palavra ou de uma lista usa-se
a opera¸˜o ELEMENTO. Essa opera¸˜o precisa de dois parˆmetros: um n´mero
ca ca a u
e uma palavra ou lista. O n´mero indica a posi¸˜o do elemento desejado da
u ca
palavra ou da lista.
exemplo: MOSTRE ELEMENTO 2 [casa [pneu carro]]
O comando MOSTRE imprime na janela de comandos o resultado da operao
ELEMENTO que ´ a lista [pneu carro].
e
3.6.2 Predicados
Em Logo, existem os predicados que s˜o opera¸˜es que retornam valores booleanos
a co
identificados pelas palavras VERD e FALSO que representam verdadeiro e falso.
EX : EVIS´
´ IVEL ´ uma opera¸˜o que retorna a palavra VERD se a tartaruga
e ca
est´ vis´ na tela e FALSO caso contr´rio e, portanto, ´ um predicado.
a ıvel a e
˜
Os operadores l´gicos: OU, E e NAO operam sobre os predicados e produzem
o
VERD ou FALSO de acordo com as suas respectivas tabelas verdade.
IX
10. 4 Ensinando a tartaruga
4.1 APRENDA!
O comando APRENDA vai ensinar a tartaruga uma fun¸˜o. Ao ser d´
ca ıgitado
APRENDA, abre-se uma caixa de texto onde vocˆ deve escrever as instru¸˜es
e co
desta fun¸˜o que vocˆ est´ ensinando a tartaruga. Quando terminar d´
ca e a ıgite
’FIM’. Outra alternativa ´ ir no menu Procedimento e escolher a op¸˜o Editar.
e ca
Para ficar mais claro, abaixo ` um exemplo.
a
APRENDA INGREDIENTES :SABOR
ROTULE SN [Bolo de] :sabor
ul pt 20
ROTULE [4 ovos]
pt 20
ROTULE [2 copos de acucar]
pt 20
ROTULE [1 copo de leite]
pt 20
ROTULE [3 copos de farinha]
pt 20
ROTULE [1 colher de fermento]
pt 20
ROTULE SN [2 xicaras de suco de] :sabor
pt 20
FIM
Para ver o resultado do programa d´ ıgite INGREDIENTES ”SABOR(ex:
laranja) na janela de comandos. Note que para inserir um parˆmetro no seu
a
programa ´ necess´rio usar ( : ) e tamb´ sempre que vocˆ use este parˆmetro
e a e e a
dentro do programa.
4.2 Comando REPITA
O comando REPITA ´ usado quando se quer efetuar uma mesma a¸˜o, ou
e ca
co u ´
sequˆncia de a¸˜es, em um determinado n´mero de vezes. E necess´rio dois
e a
parˆmetros, um n´mero e uma lista:
a u
• REPITA {n´mero} {lista}
u
Onde na lista ´ posto os comandos a serem repetidos. Vejamos como ficaria
e
o exemplo do quadrado com o comando REPITA:
REPITA 4 [PF 80 PE 90]
X
11. 4.3 Comando SE
O comando SE (chamado de comando condicional) ´ usado apenas dentro de
e
uma fun¸˜o. Ao ser usado, modifica o fluxo de execu¸˜o desta fun¸˜o. Se alguma
ca ca ca
condi¸˜o ´ verdadeira , a a¸˜o a ser executada no caso ´ uma lista de instru¸˜es.
ca e ca e co
Quando o resultado do predicado ´ falso, a lista n˜o ´ executada e o interpretador
e a e
Logo continua a execu¸˜o do programa no comando imediatamente seguinte ao
ca
comando SE. A forma geral do comando SE, portanto, : SE {predicado} {lista}.
Vejamos mais um exemplo:
APRENDA TRIANGULO :X
UL
SE :X<3 [PARE]
REPITA 3 [TRIANGULO :X/2 PF :X PD 120]
FIM
Note que se o comando SE acontece ´ executada a opera¸˜o PARE que para
e ca
o programa. Para ver o que acontece d´ ˆ
ıgite TRIANGULO :X(onde X ´ um
e
numero qualquer). Perceba tamb´m que o programa acima chama ele mesmo
e
quando executado, uma clara demostra¸˜o de recursividade em logo.
ca
e a a ˜
Esta forma do comando SE ´ an´loga ` forma do comando SENAO usado
em outras vers˜es do Logo.
o
4.4 Comando SOM
Vocˆ pode incluir som no seu programa atrav´s do comando SOM. O som ne-
e e
cessita de parˆmetros, a duas op¸˜es:
a co
1. SOM [frequˆncia dura¸˜o]
e ca
2. SOM [frequˆncia dura¸˜o frequˆncia dura¸˜o ...]
e ca e ca
exemplo:
repita 50 [som (lista cv*10 100)]
Onde cv ´ uma vari´vel que vai sendo multiplicado por 10 para gerar a
e a
frequˆncia e 100 ´ a dura¸˜o.
e e ca
XI
12. 5 Usando uma fun¸˜o dentro de outra
ca
Cada vez que se define uma novo fun¸˜o, pode-se us´-la como uma parte de
ca a
fun¸˜es mais complexos e, desta forma, pode-se construir processos muito com-
co
plexos. Veja os exemplos:
APRENDA meia_Circ
REPITA 90 [PF 2 PE 2]
FIM
APRENDA flor :num
SE :num < 2 [escreva [O nmero no deve ser menor que 2] PARE]
UL
REPITA 8 [PE 45 REPITA :num [meia_Circ PE 90]]
FIM
Veja que foi chamado a primeira fun¸˜o dentro da segunda.
ca
APRENDA arv :distancia
SE :distancia < 5 [PARE]
PF :distancia
PD 30
arv :distancia-10
PE 60
arv :distancia-10
PD 30
PT :distancia
FIM
APRENDA arvore :distancia
SE :distancia < 10 [[escreva [A distancia tem que ser um nmero maior ou igual a 1
UL
MUDECL [0 223 56] ; muda para a cor verde.
PF 10
arv :distancia
PT 10
MUDECL [0 0 0] ; muda para a cor preta.
FIM
Note que pode-se usar ’;’ para escrever coment´rios.
a
XII
13. Quando se define uma fun¸˜o em Logo, costuma-se dizer que a nova fun¸˜o
ca ca
passa a fazer parte do elenco de primitivas do Logo. Essa afirmativa ´ rela-
e
tivamente verdadeira, a implementa¸˜o da linguagem Logo reserva um espao
ca
de mem´ria para o usu´rio trabalhar. Esse espa¸o ´ denominado de ´rea de
o a c e a
trabalho. Assim tudo que ´ feito pelo usu´rio durante uma sess˜o Logo fica
e a a
dispon´ ıvel, na ´rea de trabalho (fun¸˜es, figuras, etc). Mas quando se sai do
a co
Logo toda e qualquer informa¸˜o existente na ´rea de trabalho ´ perdida porque
ca a e
ela ´ vol´til. Para que isso n˜o ocorra ´ necess´rio organizar e armazenar os
e a a e a
conte´dos da ´rea de trabalho de forma permanente, isto ´, em disquete ou disco
u a e
r´
ıgido na forma de arquivos.
O gerenciamento da ´rea de trabalho faz isso atrav´s de comandos primitivos
a e
do Logo como: SALVE, CARREGUE, ELTUDO, MOTS, MOPS, entre outros,
tamb´m pode-se fazer isso atrav´s dos menus do SuperLogo.
e e
XIII
14. 6 Logo em 3D
Pode-se desenhar em 3 dimens˜es tamb´m em logo. Para isso basta usar o
o e
comando LOGO3D isso far´ com que o logo entre para o mod´ 3D. No modo
a o
3D al´m da tartaruga poder ir para cima, para baixo e para os lados ela pode ir
e
tamb´m para frente e para tr´s, atrav´s de outros comandos. Sua posi¸˜o agora
e a e ca
´ (x,y,z). Abaixo um exemplo:
e
APRENDA quadrado :cor
REPITA 4 [PF 100 PD 90]
UN
PD 45 PF 20
MUDECP :cor
PINTE
PT 20 PE 45
UL
FIM
APRENDA cubo
LOGO3D
ROLEPD 45
CABECEIEPARAFRENTE 45
quadrado 8
ROLEPD 90
quadrado 9
CABECEIEPARATRAS 90
quadrado 10
FIM
´
ROLEPD, CABECEIEPARAFRENTE, CABECEIEPARATRAS, s˜o co-
a
mandos que s´ funcionam em modo 3D.
o
XIV
15. 7 Informa¸oes finais
c˜
O SuperLogo tem muitos outros comandos, se necess´rio saber mais sobre estes
a
comandos, pode-se usar o menu Ajuda, op¸˜o Indice, l´ estar´ listado todos os
ca a a
comandos do SuperLogo.
XV
16. Referˆncias
e
[1] DA ROCHA, H. V.; FREIRE, F.; PRADO, M. E. Memo n35.
http://www.nied.unicamp.br/publicacoes, 2000. 34 p.
[2] DA ROCHA, H. V.; FREIRE, F.; PRADO, M. E. Memo n36.
http://www.nied.unicamp.br/publicacoes, 2000. 34 p.
[3] PAPERT, S. LOGO: computadores e educa¸˜o. segunda. ed.
ca
Brasiliense, 1986.
Endere¸os da Internet:
c
[4] http://www.centrorefeducacional.pro.br/linlogo.html
[5] http://educar.sc.usp.br/licenciatura/2003/trabalho logo.html
[6] http://www.papert.org
[7] http://www.mathcats.com/gallery/15wordcontest.html
[8] http://el.media.mit.edu/logo-foundation/logo
[9] http://www.mathstutor.com/ICT-Teacher/Software/Logo.html
[10] http://www.microworlds.com/por/library/math/index.html
[11] http://www.mhhe.com/math/ltbmath/bennett nelson/conceptual/
student/instruction/instruction.htm
XVI