Alternativa C - ? - gosta(laura, sorvete), gosta(carlos, torta)
Esta questão aborda a sintaxe de lógica de predicados, frequentemente utilizada em linguagens de programação lógica como Prolog. Para resolver, precisamos identificar como representar uma consulta (pergunta) composta por dois fatos conectados logicamente.
A estrutura padrão para uma consulta em sistemas de lógica de predicados segue estas regras:
- Prefixo de Consulta: A interrogação
? (ou ?-) deve vir no início da linha para indicar que estamos fazendo uma pergunta ao sistema. - Predicados: A relação é definida como
predicado(argumento1, argumento2). No contexto, a ordem lógica é gosta(pessoa, alimento). - Conjunção Lógica: Em muitas implementações de lógica (como Prolog), a vírgula
, funciona como o operador "E" lógico, unindo múltiplos objetivos que devem ser satisfeitos simultaneamente.
Análise Detalhada das Alternativas
Para confirmar a resposta, analisamos a estrutura de cada opção:
- Alternativa A:
? - gosta(sorvete, laura) ... - Erro: Inverteu a ordem dos argumentos. Isso significaria que o "sorvete gosta da Laura", o que não faz sentido semântico. Além disso, usou a palavra "e" em vez da vírgula padrão.
- Alternativa B:
gosta(laura, sorvete), gosta(carlos, torta)? - Erro: Posicionou o símbolo de interrogação
? no final. Em lógica de programação, o indicador de consulta deve estar no início. - Alternativa C:
? - gosta(laura, sorvete), gosta(carlos, torta) - Correto:
- Começa com
? - (consulta). - Usa a ordem correta
gosta(pessoa, objeto). - Usa a vírgula
, para separar as condições, funcionando como o "e" do enunciado ("Laura gosta... e Carlos gosta..."). - Alternativa D:
? - gosta(laura, sorvete) ou gosta(carlos, torta) - Erro: Utiliza a disjunção "ou". O enunciado pede para verificar se ambos os fatos são verdadeiros ("e"), não se apenas um deles é verdadeiro.
- Alternativa E:
gosta(laura, sorvete), (carlos, torta)? - Erro: Sintaxe incompleta e ambígua para o segundo predicado. Faltou o nome do predicado para Carlos e torta.
Conclusão
A representação correta traduz a pergunta "Será que Laura gosta de sorvete e Carlos gosta de torta?" para a forma lógica:
\text{Consulta} = \text{gosta}(laura, sorvete) \land \text{gosta}(carlos, torta)
Em notação de código/sistema lógico, isso equivale à Alternativa C, onde a vírgula substitui o operador lógico \land (E) e a interrogação inicia a busca pela prova desses fatos.