Animando o movedor de blocos (§2.19) usando gráficos de personagens

De Augusto Baffa Wiki
Ir para navegação Ir para pesquisar

Esta seção usa o planejador de ação de blocos da Seção 2.19 e o protótipo de interface de comando e pergunta idiomática em inglês da Seção 7.3. Nesta seção, adicionamos um animador (bem como na seção anterior 8.2) que incorpora o planejador de blocos e o comando de linguagem natural e interface de pergunta. Se o usuário executar o programa em uma janela de terminal, verá inicialmente algo como o seguinte ...

?> Put a on c and c on b.
                                      
         ---------                    
         |       |                    
         |   a   |                    
         |       |                    
         ---------                    
         ---------                    
         |       |                    
         |   b   |                    
         |       |                    
         ---------                    
         ---------                    
         |       |                    
         |   c   |                    
         |       |                    
         ---------                    
     =================================
                                      
                Fig. 8.3

O usuário insere comandos ou perguntas após o prompt no canto superior esquerdo da tela (entrada de amostra fornecida acima). Para os comandos reorganizarem os blocos, o sistema analisa a entrada, gera uma lista de objetivos, tenta calcular um plano para cumprir a lista de objetivos e, em seguida, executa o plano para cálculos bem-sucedidos; caso contrário, o sistema informa ao usuário que o comando não é possível. O sistema também deve responder a algumas perguntas.


  • O leitor é aconselhado a carregar o código do Prolog para esta seção e a tentar digitar várias entradas, usando os idiomas da Seção 7.3.
  • O animador gráfico é bastante semelhante ao da Seção 8.2 e não será discutido em detalhes. Consulte o código do Prolog para obter as especificações.
  • Os exercícios pedem ao leitor para adicionar vários comandos ou expressões idiomáticas de pergunta ao animador.


Exercício 8.3.1 Incorpore o idioma da pergunta do Exercício 7.3.1.


Exercício 8.3.2 Incorpore o idioma de pergunta do Exercício 7.3.2.


Exercício 8.3.3 Incorpore o idioma de pergunta do Exercício 7.3.3.


Exercício 8.3.4 Elabore uma maneira de adicionar explicações ao movedor de blocos desta seção de modo que quando o usuário solicitar um rearranjo inválido e for informado de que a tarefa não pode ser concluída, se for perguntado "Por quê?", O sistema fornece uma explicação de por que a solicitação do usuário não pode ser realizada.

Veja Também