Lista 2 Prolog

Questões

  1. Um grafo direcionado é representado por uma lista [ arco(a,b), arco(a,d), arco(b,f) ...] onde arco(a,b) representa que existem um arco de a para b. Escreva o predicado fontes1(G,L) que é verdadeira se L é a lista de todos as fontes (verices que nao sao apontados por ninguem) do grafo G, representado da forma acima.

  2. Um grafo direcionado é representado por fatos da forma aponta(a,[b,d,g]) que indica que existem arcos de a para b, d e g. Escreva o predicado fontes2(L) que é verdadeiro se L é a lista de todas as fontes do DAG.

  3. Uma matriz é representada por uma lista de listas onde as listas internas representam as linhas da matriz. Por exemplo [[1,2],[7,8]], representa a matriz 1 2 7 8 Escreva o predicado coluna(M,N,C) que é verdadeiro se C é uma lista que representa a N-esima coluna da matriz M.

  4. Suponha que voce tem uma lista da forma [ notas(aluno1,nota1-1,nota1-2,nota1-3), notas(aluno2,nota2-1,nota2-2,nota2-3), ...] onde aluno1 é o nome do aluno, e nota1-1, nota1-2 e nota1-3 são as notas de LISP, Prolog e Java do aluno neste curso.

    Escreva o predicado passou(L,A) que é verdade se L é uma lista acima e A é uma lista com apenas o nome dos alunos que tiraram media >= 5.