Modificada: 2015-10-18 (critérios de correção) Criada: 2015-10-01
Enunciado distribuído na sala.
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.
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 |
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 |
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 |
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 |
© 2015 João Meidanis