MC346 - Prova Prolog

      Modificada: 2015-10-18 (critérios de correção)
      Criada: 2015-10-01
    

Enunciado distribuído na sala.

Gabarito

Clique aqui.

Critérios de correção

Em todas as questões, o critério de correção começou por decidir como seria a pontuação: de cima para baixo ou de baixo para cima. Se a resposta estava bem escrita, com sintaxe Lisp correta, resolução do problema pedido (e não de outro) e com comprimento proporcional à complexidade da questão, então a correção procedeu de cima para baixo, ou seja, parte-se do valor integral e vão sendo subtraidas frações de pontos para cada defeito encontrado.

Por outro lado, se a resposta estava mal escrita, com sintaxe errada, resolvendo o problema errado ou incompleta, então a correção procedeu de baixo para cima: parte-se de zero e vão sendo adicionadas frações de pontos a cada indício de conhecimento importante encontrado. Embora em geral a correção de cima para baixo resulte em notas maiores numa questão, é possível ter exceções a esta tendência.

A seguir, critérios específicos para cada questão. Os valores negativos se aplicam à correção de cima para baixo, e os valores positivos ou nulos se aplicam à correção de baixo para cima.

Questão 1

Na Questão 1, a parte da leitura valeu 1,0 e o processamento dos caractares lidos valeu os 1,5 restantes. Para quem tentou, com ou sem sucesso, colocar os caracteres numa lista para depois processar a lista, a colocação na lista valeu 1,0 e o processamento da lista valeu 1,5.

nada aproveitável 0,0
aceitar lista vazia 0,5
usou /n, \e -0,5
usou read(X) -0,8
perde caracteres (chama get_char(X) novamente sem processar o anterior) -1,0
faltou corte -0,5
meta a mais ou a menos -0,5
faltou argumento -0,5
ordem dos argumentos -0,5
erro em tipo de argumento -0,5
erro em nome de predicado ou de variável -0,5
variável em vez de [ ] -0,5
variável em vez de 0 -0,5
usou '\0' em vez de 0 -0,5
não inicializou -0,5
não calcula resultado -0,5
ordem das cláusulas -0,5
faltou cláusula -1,0
não executou operação aritmética (com is) -0,5
predicado aritmético usado como se fosse verificador -1,0
predicado não definido -1,5

Questão 2

nada aproveitável 0,0
predicado pedido na questão não definido 0,0
procurou os de L em C em vez de os de C em L 1,0
fez recursão com C acompanhando L 1,0
fez recursão em L em vez de em C 1,0
aceita cadeias de um elemento -0,2
aceita cadeias vazias -0,5
faltaram colchetes -0,5
usou “,” em vez de “|” -0,5
faltou corte -0,5
meta a mais ou a menos -0,5
ordem das metas -0,5
cláusula a mais ou a menos -1,0
ordem das cláusulas -0,5
faltou argumento -0,5
ordem dos argumentos -0,5
erro em nome de predicado ou de variável -0,5
não falha na ressatisfação -0,5
aplicou restrição de tamanho mínimo a L e não a C -0,5
[ ] em vez de [ _ ] -0,5
[ ] em vez de anônima -0,5
usou variável na posição do funtor -0,8
erro em caso base de predicado recursivo -1,0
“pulou” disciplinas (T em vez de [Z2|T]) -1,0
modifica banco de dados -1,0
predicado não definido -1,5

Questão 3

nada aproveitável 0,0
só funciona para zero e negativos 0,5
// em lugar de mod -0,1
% em lugar de mod -0,1
// 1 em lugar de floor -0,1
faltou vírgula -0,1
real ou num em lugar de number -0,1
+ em vez de - -0,5
igual (=) em vez de =:= -0,5
igual (=) em vez de is -0,5
uso errado de is -0,5
não executou operação aritmética (com is) -0,5
não funciona para números positivos que não sejam inteiros -0,5
faltou argumento para floor -0,5
meta a mais ou a menos -0,5
ordem das metas -0,5
meta incompleta -0,5
ordem dos argumentos -0,5
nome de variável (deveria ser novo nome) -0,5
inicialização errada de acumulador -0,5
variável em lugar de 0 -0,5
fórmula errada -0,5
não funciona para inteiros positivos ímpares -1,0
faltou argumento extra para resultado -1,0
predicado não definido -1,5

Questão 4

nada aproveitável 0,0
só funciona para T1 > T2 0,5
eq em lugar de = -0,1
< ou > em lugar de =< ou >= -0,2
falha se T1 > T2 -0,5
is em vez de = -0,5
=:= em vez de = -0,5
!= em vez de = -0,5
supôs tempo discreto -0,5
Igual (=) em vez de =:= -0,5
não falha na ressatisfação -0,5
ordem das metas -0,5
esqueceu =.. -0,5
faltaram colchetes -0,5
cláusula a mais ou a menos -1,0
erro em findall -0,5
nome de variável (deveria ser novo nome) -0,5
variável em lugar de 0 -0,5
variável em lugar de [ ] -0,5
fórmula errada -0,5
padrão de casamento incorreto -0,5
faltou argumento extra para resultado -1,0
modifica banco de dados -1,0
fez verificador apenas -1,5

MC346 Home

© 2015 João Meidanis