Karel o Robô
Tabela de conteúdo
Karel é o nome de um hipotético robô utilizado no livro de Richard E. Pattis
1. O Mundo de Karel
Karel vive num mundo muito simples: um tabuleiro com 'x' linhas por 'y' colunas. Neste mundo, podem existir dois tipos de objetos: muros (que são intransponíveis para Karel) e sinalizadores (pequenos objetos que emitem "beeps" e são, por isso, chamados de "beepers" no livro).
2. As instruções de Karel
Karel possui um número pequeno de instruções. Basicamente ele pode fazer cinco coisas:
- mover-se para frente - move
- virar à esquerda - turnleft
- pegar beeper - pickbeeper
- colocar beeper - putbeeper
- desligar-se - turnoff
E o programador pode valer-se de três estruturas de controle de fluxo:
- se - if
- enquanto - while
- repetir - iterate
A partir desses comandos fundamentais, instruções mais complexas são produzidas.
Um exemplo de código
BEGINNING-OF-PROGRAM
DEFINE turnright AS
BEGIN
turnleft;
turnleft;
turnleft
END
BEGINNING-OF-EXECUTION
ITERATE 3 TIMES
turnright;
move;
turnoff
END-OF-EXECUTION
END-OF-PROGRAM
3. Guido van Robot e as lições de Roger Frank
Guido van Robot (ou GvR) é um programa que implementa as regras de Karel o Robô desenvolvido em Python.
Uma vez baixado o programa (que possui versões para Linux e para Windows), podem ser seguidas as lições abaixo, que foram traduzidas pela equipe da Sílex Sistemas e são utilizadas em seus cursos de Introdução à Informática.
Baixe aqui a versão para Windows...
Use o instalador (.exe). Ele contém todos os programas necessários.
Baixe aqui a versão para Linux ...
Instale Python e PyGTK de sua distro e desempacote o GvRng tarball. para rodar: python gvrng.py
| Lição 1 | Os primeiros passos de Guido | Criando arquivos .wld e .gvr |
| Lição 2 | Que barulho é esse? | Beepers |
| Lição 3 | Vire, vire, vire | Instruções sequenciais |
| Lição 4 | Mais um tijolo na parede | Arquivo de mundo: paredes |
| Lição 5 | Faça a coisa certa | Instruções criadas pelo usuário |
| Lição 6 | Tempos robóticos | Projeto |
| Lição 7 | Mensagem de aniversário | Projeto |
| Lição 8 | Decisões | Instrução if |
| Lição 9 | Alguns ficaram para trás | Instrução do |
| Lição 10 | Vamos dançar | Instruções aninhadas |
| Lição 11 | Torta de maçã ou biscoitos | Instruções if..else... |
| Lição 12 | Levando o lixo para fora | Loops condicionais |
| Lição 13 | Viajante mundial | Projeto |
| Lição 14 | Vai chover | Projeto |
| Lição 15 | Um trabalho a fazer | Projeto |
| Lição 16 | Merendeira | Projeto |
| Lição 17 | Serviço comunitário | Projeto |
| Lição 18 | Para onde vamos agora... | Conclusão |
Direitos autorais sobre as lições
Obs: Permissão é dada para copiar, distribuir e modificar estas lições segundo os termos da GNU Free Documentation License, Versão 1.2 ou qualquer outra posterior publicada pela Free Software Foundation; sem seções invariantes, sem textos de capa frontal, sem textos de capa traseira.
Copyright (c) 2003 Roger Frank
Copyright (c) 2009 Roberto Vasconcelos Novaes.
O texto completo da licença pode ser obtido em http://www.gnu.org/copyleft/fdl.html
Sidebar
Search Wiki Page
Sidebar
Categorias
Usuários on-line
3
usuários on-line
