Ed. Técnica, perguntado por yasmimr5sos10, 8 meses atrás

Um programa PROLOG (Strawberry Prolog), para processamento dos dados de alunos de uma escolacandidatos a uma bolsa, utiliza fatos com esta estrutura:

candidato (rgm-do-aluno, nome-do-aluno, sexo-do-aluno, nota-do-aluno).

Os dados RGM, nome do aluno e sexo do aluno são textos. A média é um valor real.

Nesta escola, a aprovação é considerada quando a nota for maior ou igual que 7.0.

Para mostrar os RGMs e nomes dos alunos candidatos aprovados a solução correta é:

a.
?- candidato(X, Y, W, Z), W >= 7.0, write(X), write(Y), nl.

b.
aprovado(X) :- candidato(Nota), Nota >= 7.0.

c.
?- candidato(X, Y, W, Z), Z >= 7.0, write(Y), write(W) , nl.

d.
?- candidato(X, Y, Z), Z >= 7.0, write(X), write(Y), nl.

e.
?- candidato(X, Y, W, Z), Z >= 7.0, write(X), write(Y), nl.

Soluções para a tarefa

Respondido por RianOliveira2001
23

Resposta:

e.

?- candidato(X, Y, W, Z), Z >= 7.0, write(X), write(Y), nl.

Explicação:

A questão quer que o rgm e o nome do aluno sejam mostrados caso a nota dele seja igual ou maior que 7.

Escrevi essa linha pra completar o algoritmo em um compilador de prolog:

candidato("12345", "Fulano", "masculino", 7.0).

Aqui é atribuída uma letra pra cada um dos parâmetros da linha acima:

?- candidato(X, Y, W, Z), Z >= 7.0, write(X), write(Y), nl.

X = rgm

Y = nome do aluno

W = masculino ou feminino

Z = nota

Logo, se Z (nota) for maior (>) ou igual (=) que 7.0, então será mostrado o X (rgm) e o Y (nome do aluno).

obs: Não sei quase nada de prolog e é a primeira pergunta que respondo no Brainly, então foi mal qualquer coisa sjkskj.


Emerentina: tá errada...
Neruru: está certa sim, e com uma boa explicação:
?- candidato(X, Y, W, Z), Z >= 7.0, write(X), write(Y), nl.
ansdles: Está correto SIM. Obrigado
ederjuniorsky: o cara não deve ter nem lido a questão rsrsr ta certo sim!
Perguntas interessantes