Ed
há 8 meses
Para resolver essa questão, vamos analisar os fatos e a regra inserida no Prolog. Os fatos são: - maior(São Paulo, Rio de Janeiro) - maior(São Paulo, Juiz de Fora) - maior(Rio de Janeiro, Curitiba) - maior(Rio de Janeiro, Juiz de Fora) - maior(Curitiba, Juiz de Fora) - capital(São Paulo) - capital(Rio de Janeiro) - capital(Curitiba) A regra inserida é: - metropole(X) :- maior(X, Y), capital(Y). Isso significa que uma cidade X é uma metrópole se existe uma cidade Y tal que X é maior que Y e Y é uma capital. Agora, vamos verificar as possibilidades: 1. Para X = São Paulo: - maior(São Paulo, Y) para Y = Rio de Janeiro (Y é capital) - maior(São Paulo, Y) para Y = Juiz de Fora (Y não é capital) - Portanto, São Paulo é uma metrópole. 2. Para X = Rio de Janeiro: - maior(Rio de Janeiro, Y) para Y = Curitiba (Y é capital) - maior(Rio de Janeiro, Y) para Y = Juiz de Fora (Y não é capital) - Portanto, Rio de Janeiro é uma metrópole. 3. Para X = Curitiba: - Não há nenhum fato que indique que Curitiba é maior que alguma capital, então não é uma metrópole. Assim, as metrópoles identificadas são São Paulo e Rio de Janeiro. Portanto, a resposta correta para a consulta metropole(X) é: b. São Paulo; Rio de Janeiro; Curitiba.