# Introdução à Programação com o UCB Logo/Conceitos e Comandos básicos

A tartaruga original do Logo foi construída por Paul Wexelblat da BBN, era chamada de Irving e foi demonstrada na antiga escola Muzzey em Lexington, Massachusetts. Irving possuía sensores de colisão e fornecia resposta ao usuário através de um sino que soava. O desenvolvimento do robô tartaruga levou ao desenvolvimento do pacote gráfico da tartaruga Logo que é utilizado neste curso.
Imagine que você ganhou um robô como o Irving e ele entende apenas 7 comandos: VÁ, FRENTE, TRÁS, VIRE, ESQUERDA, DIREITA, METROS. Seu robô também entende números. Quando você diz "VÁ FRENTE 3 METROS" Irving move para frente 3 metros. Quando você diz "VIRE ESQUERDA", Irving vira para a esquerda. Se você disser "FAÇA UM SANDUÍCHE PRA MIM", nada acontecerá, pois nenhuma das palavras na instrução dada faz parte da linguagem utilizada por Irving.
Vamos supor que você queira mandar Irving de volta para seu quarto e você diz o comando "VÁ PARA O QUARTO". A única palavra que Irving irá entender é "VÁ" e desta forma não fará nada, pois não entendeu o seu comando. No entanto, se Irving estiver na sala, você pode fazer com que ele vá até o quarto passando uma seqüência correta de instruções que produzirão como resultado final o deslocamento de Irving da sala até o quarto:
* VÁ FRENTE 10 METROS
* VÁ ESQUERDA
* VÁ FRENTE 3 METROS
* VÁ DIREITA
* VÁ FRENTE 4 METROS
* VÁ DIREITA
* VÁ FRENTE 11 METROS
Você deve ter cuidado - se você disser "VÁ FRENTE 12 METROS" quando você deveria dizer "VÁ FRENTE 10 METROS", ele vai bater na parede e isso não será nada bom.
Toda vez que você quiser levar Irving da sala até o quarto, você deverá passar a mesma sequência de comandos e Irving irá para o quarto.
Cansado de repetir aquela seqüência de instruções, você vai até a caixa do Irving e, lendo o manual, encontra mais algumas instruções que ele entende: NOVA, PALAVRA, INÍCIO, FIM. Usando estas palavras, você pode ensinar Irving novas palavras. Quando você diz a Irving "NOVA PALAVRA", a próxima palavra após esta instrução é a nova palavra que você está ensinando-o. Então, você diz "INÍCIO" e explica o que a nova palavra significa. Quando você termina de explicar (somente usando palavras que ele já entende) você diz "FIM" e "Irving" lembra que a explicação é o que está entre as palavras "INÍCIO" e "FIM". Por exemplo, você pode dizer isso a "Irving" para ensiná-lo a palavra "QUARTO":
* NOVA PALAVRA QUARTO
* INÍCIO
* VÁ FRENTE 10 METROS
* VÁ ESQUERDA
* VÁ FRENTE 3 METROS
* VÁ DIREITA
* VÁ FRENTE 4 METROS
* VÁ DIREITA
* VÁ FRENTE 11 METROS
* FIM
Da próxima vez que você quiser levar Irving da sala até o quarto, bastará usar o comando "QUARTO" que você acabou de ensinar ao Irving.
A linguagem de programação é o conjunto de palavras que o interpretador (Irving, no caso do exemplo utilizado) entende, e também o conjunto de regras para organizar as palavras. Se você disser "METROS VÁ FIM 5", ele entenderá todas as palavras mas, não saberá o que fazer. Quando aprendemos uma nova linguagem, seja ela de programação como Logo ou Inglês e Chinês, você aprende as palavras mas também a forma como devem ser organizadas. A este conjunto de regras chamamos gramática.
Um computador não pode andar de um lado para o outro como Irving, mas pode fazer várias outras coisas que um robô não pode. Pode desenhar figuras, compor músicas, enviar mensagens para outros computadores conectados a ele e diversas outras coisas. Assim que você aprender como dar instruções ao seu computador, poderá ensiná-lo a fazer várias novas coisas. Toda vez que você joga algum jogo no computador ou Nintendo, ou Xbox, procura por páginas na internet, desenha figuras na tela do computador, você está rodando um programa criado por alguém.

## O interpretador Logo

Na verdade, Logo não trabalha com o robô Irving e sim com uma tartaruga. O interpretador Logo é um programa que permite ao usuário dar instruções à tartaruga e ver o resultado. Você pode dar uma única instrução ou juntar várias instruções, salvá-las como um programa e rodá-lo.
O interpretador Logo possui um determinado vocabulário, um conjunto de instruções que podem ser utilizados para comandar a tartaruga que aparece na tela do computador. As instruções devem ser fornecidas uma-a-uma e serão executadas na seqüência em que foram fornecidas. As instruções podem ser dadas: uma a cada linha; ou em seqüência numa mesma linha. Para as instruções que requerem parâmetros para sua execução, estes deverão ser fornecidos logo em seguida ao comando. Qualquer coisa que aparecer escrita após o ponto-e-vírgula (;) será ignorado, e desta forma podemos utilizar este caracter para inserir comentários no nosso código.
Nas próximas sessões veremos alguns dos comandos utilizados pelo interpretador Logo e faremos alguns exemplos.