Perguntas Mais Frequentes

Pergunta n.º1: Eu acho que o ToonTalk não está a funcionar bem? O que faço?

Pergunta n.º2: Podem-me explicar como posso fazer o equivalente a 'DO LOOP' com o ToonTalk?

Pergunta n.º3: Eu quero usar o ToonTalk, mas tenho problemas de visão. Algumas sugestões?

Pergunta n.º4: Qual é a diferença entre limpar um número e aspirá-lo-lo completamente da caixa do balão de pensamento do robot?

Pergunta n.º5: Se escrever '=' num número, há alguma maneira de anular isso?

Pergunta n.º6: Como posso ir directamente para o puzzle que quero?

Pergunta n.º7: Não gosto do tamanho e da localização da Engenhocas, a caixa de ferramentas, nem dos seus amigos. Como posso mudar isso?

Pergunta n.º8: Como posso obter ajuda dentro do ToonTalk?

Pergunta n.º9: Tenho um robot, mas não sei o que ele faz. Como posso saber?

Pergunta n.º10: Quero fazer muitas alterações na caixa que está no balão de pensamento do robot, mas é muito pequena para trabalhar. O que posso fazer?

Pergunta n.º11: O ToonTalk pergunta-me sempre o meu nome quando começa. E vai-me lembrando. O que se passa?

Pergunta n.º12: Eu quero que todos na sala de aula comecem com um caderno e uma cidade diferente da que é fornecido pelo ToonTalk. Posso fazer isso?

Pergunta n.º13: Às vezes tiro coisas de um caderno ou da Engenhocas, por engano. Tenho de usar o Limpopó para elas desaparecerem?

Pergunta n.º14: Posso treinar um robot para juntar imagens?

Pergunta n.º15: Posso personalizar pássaros? É muito difícil lembrar-me onde vive cada um deles.

Pergunta n.º16: Como posso ter números decimais?

Pergunta n.º17: Eu li que posso enviar robots, mas não sei como.

Pergunta n.º18: Parece-me que, às vezes, quando um robot acaba de trabalhar, o Limpopó aparece para aspirar coisas do chão, mesmo se isso não faz parte do treino do robot. Podem-me explicar o que se passa?

Pergunta n.º19: Gostava de jogar no ToonTalk com gráficos de alta resolução, mas não tenho muito espaço no disco. O que posso fazer? (Também responde a perguntas sobre a razão pela qual o ToonTalk põe um aviso " A carregar do CD-ROM" e coloca ficheiros na sua directoria temporária.)

Pergunta n.º20: Parece-me que o ET está a falar muito devagar ou está a fazer pausas muito grandes antes de uma frase ou expressão. O que posso fazer?

Pergunta n.º21: A Miki em Londres pergunta: "Se eu tiver um robot que aceita os inputs x e y, posso treiná-lo para trabalhar com uma condição do tipo'x+y>1'?"

Pergunta n.º22: O Stephan e a Kristian, na Suécia, perguntam: "Se nós - num exemplo - gravarmos o nosso trabalho no caderno, o ToonTalk grava uma nova cópia todas as vezes que vemos o exemplo. (Se virmos o exemplo 5 vezes, ficamos com 5 cópias criadas pelo ToonTalk.)"

Pergunta n.º23: A Miki pergunta: "Qual o comprimento de uma string? (Ou melhor, há alguma maneira de fazer com que um robot meça o comprimento de uma string de texto?)"

Pergunta n.º24: O Jackie escreve: "Dá um conjunto de números num ninho a um robot para o treinares - no balão de pensamento, o robot manipula esse conjunto de números como se fossem apenas o número que está em cima - é como se não existissem nem outros números nem o ninho. Se o robot tirar o primeiro número, não há nada por baixo dele. Isto significa que não consegues treinar um robot para manipular qualquer número de um conjunto de números que não seja o número que está em cima. Felizmente, os robots treinados tratam o conjunto de números num ninho que lhes é dado como se fosse um conjunto e removem um número de cada vez (por isso o exemplo dos puzzles funciona bem). Mas se quiseres treinar um robot para fazer qualquer coisa diferente com outros números num conjunto num ninho, isso não vai ser possível."

Pergunta n.º1: Eu acho que o ToonTalk não está a funcionar bem? O que faço?

Resposta: Clica aqui para teres mais ajuda.

Pergunta n.º2: A Fadia Markar da Suíca pergunta: "Podem-me explicar como posso fazer o equivalente a 'DO LOOP' com o ToonTalk?"

Resposta: Os ciclos DO ou FOR consistem normalmente de 4 partes: Uma variável que serve de index (por ex. "i"), um valor de incremento ou decremento para "i", uma condição de paragem (por ex., "i < 100"), e um corpo que se repetirá sucessivamente até que a condição seja verdadeira.

No ToonTalk, primeiro eu criava uma caixa com 4 buracos:
[i | < | stop | incremento]
onde i, stop e incremento são números e "<" é uma balança. Eu dava a caixa a um robot e treinava-o para copiar "incremento" e largá-lo no "i". A seguir treinava-o para fazer o que eu quisesse no "corpo" do ciclo. Quando acabasse de treinar o robot, usava o Limpopó, o aspirador, para apagar o "i" (o número do primeiro buraco da caixa no balão de pensamento do robot).
Para fazer alguma coisa depois do ciclo terminar, eu treinava outro robot e largava-o no primeiro robot, para que ficasse atrás dele em linha. Isto significa que o primeiro robot terá oportunidade de trabalhar, se a caixa coincidir com a que está no seu balão de pensamento.
Vê o exemplo factorial no caderno dos Exemplos.

Pergunta n.º3: Eu quero usar o ToonTalk, mas tenho problemas de visão. Algumas sugestões?

Resposta: Clica aqui para obteres dicas para configurares o ToonTalk de forma a que te possa ser útil.

Pergunta n.º4: Qual é a diferença entre limpar um número e aspirá-lo completamente da caixa do balão de pensamento do robot?

Resposta: A regra geral para um balão de pensamento de um robot é que ele deverá conter o tipo de caixa com que o robot ficará contente. Ele ficará contente com uma caixa com mais detalhe do que aquela em que ele está  a pensar. Por isso limpar um número significa que o robot ficará contente com qualquer bloco de números que lhe dês. Aspirar um número significa que qualquer coisa (quer sejam blocos de texto ou outras caixas) é aceite. Limpar um número é uma maneira de expressar o que os programadores chamam de variável tipada. Um bom estilo de programação no ToonTalk é limpar o mais possível, para permitir que o robot trabalhe em situações mais gerais.

Pergunta n.º5: O Jeroen van Hilst da Holanda pergunta: "Se escrever '=' num número, há alguma maneira de anular isso?"

Resposta: A tecla "Backspace" elimina o último dígito. Se o número for zero, não faz nada. A única maneira de eliminar o sinal de "=" é escrever "+". Os blocos de números não mostram o sinal "+", mas ele está em todos os números que não têm operador.

Pergunta n.º6: Como posso ir directamente para o puzzle que quero?

Resposta: Podes encontrar a directoria dos Puzzles do ToonTalk no teu disco duro ou no CD Rom e fazer duplo clique no número do puzzle que queres. Se procurares no ficheiro log na directoria "users" do ToonTalk, verás quais foram os números dos puzzles que fizeste da última vez. Alguns puzzles baseiam-se em trabalho anterior. Se começares com um desses puzzles, o ToonTalk pode dizer-te para recuares alguns puzzles.

Pergunta n.º7: Não gosto do tamanho e da localização da Engenhocas, a caixa de ferramentas, nem dos seus amigos. Como posso mudar isso?

Resposta: Podes usar a Artolas para mudar o tamanho da Engenhocas, da varinha mágica, do Limpopó e do teu caderno. Até podes mudar o tamanho da Artolas copiando-a e usando a sua cópia para alterares o seu tamanho. Esta é uma boa maneira de arranjares mais espaço, se preferires trabalhar com os objectos mais pequenos. Também podes deixar as tuas ferramentas nos limites do ecrã e usar as teclas de função para as chamares até ti. (Vê os comandos do teclado para saberes mais pormenores.) Quando tiveres acabado de as utilizar, elas voltam para onde estavam.

Pergunta n.º8: Como posso obter ajuda dentro do ToonTalk?

Resposta: O ET, o extra-terrestre, pode dar-te uma descrição completa de qualquer coisa, se chamares por ele (com F1) enquanto seguras ou apontas para essa coisa. Isto é particularmente útil para obter uma descrição do que um robot faz.

Pergunta n.º9: Tenho um robot mas não sei o que ele faz. Como posso saber?

Resposta: Para além da ajuda do ET para descrever o robot (vê mais acima), podes usar a Varinha Mágica para ficares com uma cópia da caixa com que o robot foi treinado para trabalhar. O botão da varinha mágica deverá mostrar "R" para copiar o original. Podes usar a varinha na caixa do balão de pensamento do robot e dar depois a cópia ao robot e vê-lo a trabalhar. Se existir uma equipa de robots, podes observar a equipa a trabalhar. Se quiseres ver apenas um robot em particular, podes separar a equipa, aspirando os robots com o Limpopó e cuspindo-os outra vez.

Pergunta n.º10: Quero fazer muitas alterações na caixa que está no balão de pensamento do robot, mas é muito pequena para trabalhar. O que posso fazer?

Resposta: Podes usar o Limpopó para aspirar toda a caixa do balão de pensamento do robot e fazê-lo cuspi-la para o chão. Deverá ser maior e mais fácil para trabalhares. Se ainda não estiver bem, podes usar a Artolas para aumentar a caixa. Podes fazer as alterações que quiseres e largar depois a caixa no balão de pensamento vazio.

Pergunta n.º11: O ToonTalk pergunta-me sempre o meu nome quando começa. E vai-me lembrando. O que se passa?

Resposta: Quando dás o teu nome ao ToonTalk, ele guarda ficheiros na subdirectoria "Users" da directoria do ToonTalk. Estes ficheiros estão lá para que não tenhas que começar tudo de novo quando inicias o ToonTalk. Os ficheiros começam com o nome que tiveres dado ao ToonTalk. São eliminados os espaços e, nalgumas versões, o nome do ficheiro é encurtado se tiver mais de 8 letras. Por exemplo, se o teu nome for Albert Einstein, os teus ficheiros poderão ser encurtados para "albertei". Estes ficheiros incluem um modelo do utilizador e alterações ao teu caderno. O modelo do utilizador (o ficheiro USR) contém as tuas opções de configuração, o estado do teu jogo de puzzles e as acções que já fizeste, para que o ET só sugira coisas novas. Se não tiveres usado o ToonTalk durante algum tempo ou quiseres reiniciar o jogo dos puzzles, deverás entrar com um novo nome ou remover o ficheiro USR com o teu nome. O teu caderno está armazenado num ficheiro "BOK". Se fizeres alterações ao teu caderno e não as quiseres perder, podes usar o sensor da Área de Transferência do ToonTalk para as gravares. Quando gravas uma cidade, é guardado um ficheiro "CTY" com o teu nome.

Se quiseres que alguém use o ToonTalk, mas sem gravares os ficheiros, acrescenta "-t 1" à linha de comando. Se quiseres dar sempre o mesmo nome ao ToonTalk e não quiseres que te perguntem nada, podes acrescentar "-n teunome" à linha de comando.

Pergunta n.º12: Eu quero que todos na sala de aula comecem com um caderno e uma cidade diferente da que é fornecido pelo ToonTalk. Posso fazer isso?

Resposta: Sim, podes configurar o ToonTalk com o nome de um utilizador, por exemplo "Sala19" e depois editar a linha do ficheiro ToonTalk.ini "DefaultUser=" para "DefaultUser=Sala19". Podes alterar não só o caderno enquanto estiveres a trabalhar como Sala19, mas também o tamanho e a posição das ferramentas e podes gravar a cidade que será a cidade que aparecerá normalmente. Quaisquer alterações que um utilizador faça serão gravadas com o seu próprio nome - não com o nome Sala19.

Pergunta n.º13: Às vezes tiro coisas de um caderno ou da Engenhocas, por engano. Tenho de usar o Limpopó para elas desaparecerem?

Resposta: Se largares alguma coisa num conjunto e essa coisa for igual aos itens desse conjunto, ela volta para o conjunto. Por exemplo, supõe que tiras um caderno do teu caderno principal e depois queres pô-lo lá dentro outra vez. Se o caderno que tiraste estava originalmente na página 1, terás de o pôr outra vez na página 1 antes de o largares.

Pergunta n.º14: Posso treinar um robot para juntar imagens?

Resposta: Para muitos jogos e aplicações gráficas, precisas de ter robots que adicionam imagens a imagens. Aqui está uma maneira de o fazeres. Põe numa caixa um controlo remoto para ver uma imagem (esta será a imagem de fundo) e põe noutros buracos as imagens que queres acrescentar. Treina um robot para, quando lhe for dada esta caixa, ele copiar a imagem e a virar ao contrário. Tira os controlos remotos que precisas (por exemplo, os controlos da posição e do tamanho) do caderno da nova imagem. Vira a imagem novamente e larga-a no controlo remoto do aspecto da imagem de fundo. A seguir treina o robot para mudar os controlos remotos que tiraste conforme o que tu queres. Para que este robot trabalhe, vais precisar de usar o Limpopó para limpar algumas imagens da caixa do seu balão de pensamento.

Pergunta n.º15: A Lulu de Londres pergunta: "Posso personalizar pássaros? É muito difícil lembrar-me onde vive cada um deles."

Resposta: Se usares a Artolas para fazer com que um pássaro fique maior, podes largar uma imagem na sua T-shirt. Se a imagem for grande demais para caber na sua T-shirt, ele entende que ao dares a imagem, é para ele a pôr no seu ninho. Se ela couber completamente na sua T-shirt, a imagem fica lá. Podes transformar os números e o texto em imagens, virando-os ao contrário. Podes depois acrescentá-los à T-shirt. Também ajuda manter os pássaros e os ninhos em caixas e usar etiquetas nas caixas para te lembrares deles.

Pergunta n.º16: A Lulu de Londres pergunta: "Como posso ter números decimais?"

Resposta: Não existe nenhum apoio directo para números não inteiros no ToonTalk.

Numa linguagem de programação, erros de arredondamento podem causar confusão em equivalências. Se o balão de pensamento de um robot contém uma caixa com 0,33333333 (criada por 1/3), ela será igual a uma que caixa que tenha o número criado por (1/9*3)? Deverá haver tolerâncias? De quanto?
Os números serão mostrados em notação científica dependendo do tamanho, como acontece na maior parte das linguagens de programação?
Um grande projecto é tentar implementar inteiros de tamanho arbitrário e racionais (fracções exactas de 2 números). Isto pode ser feito de 3 maneiras:

  1. Alterando o kernel do ToonTalk.
  2. Criando uma extensão do ToonTalk em C ou C++.
  3. Programando com o ToonTalk, usando caixas de inteiros. Para 2 e 3, um outro desafio é fazê-los parecer e agir como números do ToonTalk, tendo robots nas suas costas que funcionem com aritmética, acções de sensibilidade e mostrem os dígitos correctos.

Pergunta n.º17: O Tyler Breisacher pergunta: "Eu li que posso  enviar robots, mas não sei como."

Resposta: Clica aqui.

Pergunta n.º18: O Ben e o Ivan Filippenko perguntaram "Parece-nos que, às vezes, quando um robot acaba de trabalhar, o Limpopó aparece para aspirar coisas do chão, mesmo se isso não faz parte do treino do robot. Podem-nos explicar o que se passa?"

Resposta: Os robots limpam sempre tudo, quer estejam treinados para o fazer ou não. Para além disso, manter as coisas limpas é sinal de uma boa prática de programação. Quando um robot usa o chão, é como usar "variáveis locais" em linguagens de programação convencionais. E nessas linguagens há uma reciclagem automática da memória usada para as variáveis locais assim que se sai dessa parte do programa.

Pergunta n.º19: Gostava de jogar com o ToonTalk com gráficos de alta resolução, mas não tenho muito espaço no disco. O que posso fazer? (Também responde a perguntas sobre a razão pela qual o ToonTalk põe um aviso "A carregar do CD-ROM" e coloca ficheiros na sua directoria temporária.)

Resposta: Se o ToonTalk foi instalado com a configuração "compacta" ou "típica", então o ficheiro necessário para os gráficos de alta resolução não será copiado para o disco duro. Quando o ToonTalk é iniciado, o ficheiro é copiado a partir do CD Rom para o disco duro. Daí a mensagem "A carregar do CD-ROM". Se tiveres algum espaço no disco livre, podes copiar o ficheiro para o teu disco duro. Primeiro, inicia a instalação do ToonTalk outra vez, escolhendo "Instalar" quando o CD Rom é introduzido ou faz duplo clique em "Instalar.exe" no CD Rom. Escolhe a opção de instalação "Personalizada" e assegura-te de que a opção dos gráficos de alta resolução permanece seleccionada. Para guardares espaço em disco, podes não seleccionar outras opções.
Se tiveres pouco espaço em disco e não tiveres instalado os gráficos de alta resolução e tiveres uma drive de CD Rom de alta velocidade, podes editar o ficheiro
toontalk.ini na directoria Windows. A linha que começa com "TempDir=" pode ficar inactiva se a removeres ou a alterares para "xTempDir=" (é mais fácil para voltares ao normal). Se planeares correr os gráficos de alta resolução, mesmo não tendo muito espaço no disco, podes apagar sem problema o ficheiro m22.pt1 (m22.uk1 para a versão inglesa e m22.se1 para a versão sueca) da directoria do ToonTalk.

Pergunta 20: Parece-me que o ET está a falar muito devagar ou está a fazer pausas muito grandes antes de uma frase ou expressão. O que posso fazer?

Resposta: A velocidade com que o ET fala depende de muitos factores, como por exemplo a velocidade do teu computador, a quantidade de memória que tem, etc. Se instalaste o ToonTalk com a configuração "compacta" ou "típica", o ficheiro para o ET falar não é copiado para o disco duro. Se tiveres espaço livre, podes copiá-lo. Primeiro, inicia a instalação do ToonTalk outra vez, escolhendo "Instalar" quando o CD Rom é introduzido ou faz duplo clique em "Instalar.exe" no CD Rom. Escolhe a opção de instalação "Personalizada" e assegura-te de que a opção do ficheiro text-to-speech voice permanece seleccionada. Para guardares espaço em disco, podes não seleccionar outras opções. Se o ET ainda estiver a falar muito lentamente e o teu computador é, pelo menos, um Pentium 100, por favor diz-nos

Pergunta 21: A Miki em Londres pergunta: "Se eu tiver um robot que aceita os inputs x e y, posso treiná-lo para trabalhar com uma condição do tipo'x+y>1'?"

Resposta: Um robot pode ter um teste condicional como este. Também podes ter uma equipa de robots que faça isto. O primeiro robot copia x e y para um novo buraco que ficará com x+y. Perto desse buraco está uma balança e a seguir um "1". Outro robot pode verificar a balança, mostrando que x+y é maior do que 1. Esse robot deve depois fazer desaparecer a caixa ou caixas criadas pelo primeiro robot.
No campo da programação lógica concorrente, este assunto é referido como
"deep guards" vs. "flat guards". Um guard é equivalente ao conteúdo do balão de pensamento de um robot. Os deep guards podem simplificar a expressão de alguns programas, mas são muito difíceis de implementar. O problema é que os processos suspensos (os robots esperam que chegue alguma coisa aos ninhos do ToonTalk) verificam se o guard é verdadeiro sempre que alguma coisa se altera (no ToonTalk, sempre que um pássaro enche um ninho do qual um robot está à espera). Se o guard for deep, isto pode significar todo um extenso trabalho de recomputação desnecessário.
No ToonTalk, existe uma outra razão para evitar os deep guards, dado que  a expressão das condições é visual. Um robot aceita uma caixa se essa caixa coincidir com a caixa que está no seu balão de pensamento.

Pergunta n.º22: O Stephan e a Kristian, na Suécia, perguntam: "Se nós - num exemplo - gravarmos o nosso trabalho no caderno, o ToonTalk grava uma nova cópia todas as vezes que vemos o exemplo. (Se virmos o exemplo 5 vezes, ficamos com 5 cópias criadas pelo ToonTalk.)"

Resposta: Se um exemplo muda o teu caderno, ele vai tentar fazer as mesmas alterações cada vez que for iniciado. Ele pode mesmo parar porque, da segunda vez, ele não esperava nada na página 15, por exemplo. A solução para isto é criar ou correr (ou os dois) o ToonTalk com o switch "-t 1" na linha de comandos. Isto faz com o utilizador seja temporário e altera o caderno para o último que estava antes de saíres do ToonTalk.

Pergunta n.º23: A Miki pergunta: "Qual o comprimento de uma string? (Ou melhor, há alguma maneira de fazer com que um robot meça o comprimento de uma string de texto?)"

Resposta: Se largares um bloco de texto numa caixa limpa, essa caixa muda e fica apenas uma letra em cada buraco. Se depois largares essa caixa num número limpo, ele passa a ser o número de buracos da caixa. Isto é um desperdício, porque não precisas de fazer com que o ToonTalk crie a caixa, mas funciona.

Pergunta n.º24: O Jackie escreve: "Dá um conjunto de números num ninho a um robot para o treinares - no balão de pensamento, o robot manipula esse conjunto de números como se fosse apenas o número que está em cima - é como se não existissem nem outros números nem o ninho. Se o robot tirar o primeiro número, não há nada por baixo dele. Isto significa que não consegues treinar um robot para manipular qualquer número de um conjunto de números que não seja o número que está em cima. Felizmente, os robots treinados tratam o conjunto de números num ninho que lhes é dado como se fosse um conjunto e removem um número de cada vez (por isso o exemplo dos puzzles funciona bem). Mas se quiseres treinar um robot para fazer qualquer coisa diferente com outros números num conjunto, num ninho, isso não vai ser possível."

Resposta: Isto parece ser um erro, mas é uma escolha deliberada de design. Imagina o que aconteceria se, ao treinares o robot, pudesses remover coisas de um conjunto de um ninho. Imagina que treinavas um robot para remover 3 números de um conjunto. Quando o robot está a trabalhar, ele está à espera de 3 itens no ninho, mas no seu balão de pensamento ele só verificou que havia um número em cima. O problema aqui é que quando o robot recebe a caixa com o conjunto de números num ninho, ele só o número que está em cima. Por isso ele imagina que está a trabalhar apenas com a caixa que tem só o número de cima. Os robots não têm uma visão raio X.
Eu acho que tens razão quando dizes que é impossível treinar um robot para fazer qualquer coisa diferente com números que vão sendo alterados. Mas podes treinar 2 robots em que cada um faz coisas diferentes com os números. Para que os robots possam trabalhar alternadamente, vais precisar de fazer com que eles utilizem outro buraco da caixa que contenha um bloco de números ou de texto que indica qual deverá ser o seguinte. A seguir junta os 2 robots.

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