Podes treinar robots para fazerem as tuas tarefas.

Dentro da Engenhocas encontras um grande conjunto de robots. Se pegares num, verás que ele tem um balão de pensamento vazio. Podes começar a treiná-lo dando-lhe uma caixa. Vais entrar dentro dos pensamentos do robot e vais controlá-lo. Podes fazer com que ele pegue em coisas, utilize ferramentas e largue coisas. Ele vai lembrar-se de tudo. Se o treinares para tirar coisas ou para pôr coisas numa caixa, ele vai lembrar-se do buraco, contando a partir do lado esquerdo da caixa. Assim que acabares de o treinar, carrega na tecla "Esc".

Podes fazer com que o robot repita o que lhe estiveste a ensinar, dando-lhe uma caixa outra vez. Quando ele tiver acabado, ele vai tentar fazer outra vez, se a caixa ainda coincidir com a caixa do seu balão de pensamento.

Podes alterar o nome de um robot, escrevendo um novo nome enquanto seguras nele. Às vezes, os nomes maiores ficam melhor se usares mais do que uma linha, usando a tecla "Enter".

Dica. Os robots são mesmo confusos. Eles só trabalham com uma caixa que seja igual à que está no seu balão de pensamento. Felizmente podes usar o Limpopó para aspirar algumas coisas da caixa de um balão de pensamento. Um boa ideia é aspirar apenas o suficiente para que o robot trabalhe quando tu queres. Por vezes é mais fácil aspirar a caixa do balão de pensamento do robot, cuspi-la, mudá-la e depois voltar a pô-la no balão de pensamento.

Equipas de robots. Podes construir uma equipa de robots, largando-os uns em cima dos outros. Quando dás uma caixa a uma equipa, o robot que está à frente vê se a caixa coincide com a que tem no seu balão de pensamento. Se sim, ele começa a trabalhar com ela e os outros membros da equipa deixam-no trabalhar sossegado. Se a caixa não coincidir, ele passa-a ao robot seguinte. Se faltar alguma coisa na caixa ou existir um ninho do qual o robot quer mais alguma coisa, ele fica à espera. Quando a caixa ou o ninho passam a ter qualquer coisa (que coincida com o que está no seu balão de pensamento), o robot recomeça a trabalhar.

Dica. Se quiseres que um robot faça qualquer coisa apenas quando essa coisa não está lá, o robot que está em frente a ele terá de procurar qualquer coisa (por exemplo, o número 42) e este não dará a caixa ao robot que está atrás dele a não ser que o número seja diferente de 42.

Onde quer que precises de um robot, podes sempre utilizar uma equipa. Por isso, podes pôr uma equipa num camião ou nas costas de uma imagem. A melhor maneira de separar uma equipa é usar o Limpopó.

Dica. Se treinares um robot para fazer qualquer coisa certa, mas te enganas sem querer, podes voltar a treiná-lo. Basta aspirares a caixa do seu balão de pensamento, cuspi-la e dá-laao robot (tem cuidado para não a colocares no seu balão de pensamento). Voltas a entrar no balão de pensamento do robot, mas desta vez refaz o que ele foi treinado para fazer até clicares no rato ou numa tecla do teclado. Depois podes continuar a treiná-lo como normalmente.

Dica Avançada. Podes treinar um robot para dar qualquer coisa a outros robots, mas também podes treinar um robot para carregar um camião com outros robots. Os cientistas computacionais descrevem isto da seguinte forma: enquanto não consegues chamar um procedimento, podes gerar um processo mais geral.  Se quiseres que os robots te dêem alguma resposta, faz com que eles dêem uma resposta a um pássaro.

Dica Avançada. Quando treinas um robot para dar qualquer coisa a um pássaro, o pássaro voa e volta sem nada. Mas enquanto estás a treinar o robot, o pássaro não leva as coisas para o seu ninho, uma vez que da próxima vez que o robot estiver a trabalhar pode vir um pássaro diferente. Se precisares de utilizar alguma coisa que está no ninho de um pássaro, vais precisar de pelo menos 2 robots. Um para dar a coisa ao pássaro e outro para trabalhar sobre o resultado que ficou no ninho. Um truque é dar a caixa ao primeiro robot depois de o treinares para fazer a caixa que queres para treinares o segundo robot.

Dica Avançada. Os cientistas computacionais falam sobre programas recursivos - programas que se usam a si próprios. Aqui está como podes fazer programas recursivos no ToonTalk. Põe um robot numa página em branco do teu caderno principal. Treina outro robot para, entre outras coisas, encontrar a página com o robot. Treina o robot para pôr uma cópia do robot do caderno dentro de um camião juntamente com uma caixa para ele trabalhar. Depois de acabares de treinar o robot, procura a página onde gravaste o robot. Usa o Limpopó para aspirares esse robot e colocares no seu lugar o robot que acabaste de treinar.

O factorial de um número (1 vezes 2 vezes 3 e por aí fora até chegar ao teu número) pode ser calculado de forma recursiva ou iterativa (repetidamente sem usar a recursão). Clica aqui para encontrares robots que calculem o factorial usando uma vez a recursão. Clica aqui para encontrares robots que calculem o factorial usando duas vezes a recursão. Os robots que calculam o factorial sem recursão podem ser encontrados na página 12 do caderno dos exemplos que está na página 6 do teu caderno principal.

Dica Avançada. Podes pôr robots em caixas e treinar robots para trabalharem com esses robots. Os cientistas computacionais chamam a isto meta-programação. Os robots não conseguem treinar outros robots, mas podem arranjar equipas, tirar, editar e substituir caixas nos balões de pensamento. Largar uma equipa de robots numa caixa vazia divide a equipa - fica um robot em cada buraco da caixa. Um robot numa caixa num balão de pensamento só coincide com outro robot que tenha o mesmo nome. Podes usar o Limpopó para "apagar" um robot para que ele coincida com qualquer robot.

Também podes treinar um robot para pegar numa equipa de robots de uma caixa e pô-la num camião juntamente com uma caixa para eles trabalharem. Os cientistas computacionais chamam a isto programação de alto nível. Há uma maneira para combinar a programação de alto nível com a programação recursiva - vê se consegues descobrir.

principal | procura | compra | manual | notícias | informação | perguntas | apoio | downloads | imprensa | contacto