quinta-feira, 2 de junho de 2022

Carla (Microhobby BR)

"Que tal uma conversa com uma psicanalista num sábado à noite, na sua casa? Seria interessante, não? ... Mais ainda se 'Carla' nada mais fosse do que seu querido TK."

Assim começa provocativo, o artigo de capa da revista Microhobby brasileira, em seu número 12 de 1984 (disponível no Datassette). Na época eu era usuário de um CP200 ávido por digitar listagens de programas, sendo que Carla foi uma delas. A promessa era de que o pequeno computador teria inteligência suficiente para manter um diálogo com um humano. Se agora, em 2022, inteligência artificial tornou-se uma ferramenta bastante presente, há quase 40 anos soava como magia. 

Está claro que um programa totalmente em BASIC, com cerca de 12 kb, não seria uma inteligência artificial de fato. Com uso de reconhecimento de palavras-chave e engenhosa manipulação da frase introduzida pelo usuário/paciente, havia uma simulação interessante de uma psicóloga como interlocutora. Como o próprio artigo reconhece, o usuário pode estabelecer um diálogo razoável se conhecer e fizer bom uso das palavras-chave mas, caso não as conheça, respostas estranhas podem ser dadas. Além de ser uma curiosidade, o programa também serve para estudar manipulação de cadeias (strings) em linguagem BASIC. Foi nessa listagem que conheci a função INSTR que está ausente do Sinclair BASIC, a qual é devidamente implementada como uma sub-rotina. Seja para conversar com a Carla ou aprender as técnicas de programação envolvidas, vale a pena examiná-la. Meu testemunho pessoal é de que foi um dos programas que me marcou e permaneceu na memória.

Para reviver aquela experiência, resolvi digitar novamente o programa, desta vez no emulador Fuse. O leitor pode estranhar, mas o BASIC do TK90X (ZX Spectrum) é bastante compatível com o do CP200/TK85 (ZX81). Como o espírito era o de manter a experiência do CP200, não fiz nenhum melhoramento para o TK90X; com certeza poderia ter acentuado os textos com o UDG ou colocado mais de um comando por linha do BASIC. As únicas modificações foram a substituição dos comandos SLOW e FAST por REM, por não fazerem sentido no TK90X.

O arquivo TZX do programa digitado está neste link. Ao ser carregado, Carla apresenta-se e espera pela resposta do usuário pelo editor de linha. Como o ZX81 só possui caracteres em caixa alta, o usuário terá que acionar o Caps-lock (cursor C), pressionando as teclas Caps-shift e 2. O caractere acentuado É é simulado por E seguido de um caractere semigráfico, que no TK90X deve ser a tecla 2 digitado no modo gráfico (cursor G). Para entrar no modo gráfico, digite Caps-shift e 9, para voltar ao modo Caps-lock, tecle apenas 9.

Nenhum comentário:

Postar um comentário

Seu comentário é bem vindo, mas peço que use este espaço adequadamente.