MC336 - Prova Lisp
Enunciado distribuído na sala.
Gabarito
Critérios de correção
Perde 0,5 pontos:
- confundiu ordem de argumentos de função
- usou list quando era cons, etc.
- usou if que não era necessário
- faltou if
- esqueceu list, colocou list a mais
- calculou duas ou mais vezes algo pesado (devia usar let)
- faltou let
- parou recursão prematuramente
- não colocou condição de parada
- ineficiência no código que poderia facilmente ser evitada
- erro no caso base
- usou nil quando deveria usar 0 (ou vice-versa)
- errou nome de função pré-definida
- erro no uso de mapcar
- confundiu nil e null
- faltou inverter o car (questão 1)
- não soube colocar elemento no fim da lista
- não soube testar se e' átomo
- multiplicou termo independente por x (questão 3)
- confundiu = e equal
- parênteses a mais, a menos ou em lugar errado
- usou quote quando não devia
- not null feito errado
- maneira errada de especificar parâmetros no defun
- argumentos inúteis
Perde 1,0 ponto:
- comparou um elemento só com o próximo (questão 2)
- faltou inverter sub-árvores (questão 1)
- faltou tratar o cdr em certos casos (questão 1)
- usou variável global
Perde 1,5 pontos:
- raciocínio complicado que não funciona
- faltou definição de função auxiliar
Perde a questão toda:
- escreveu código cheio de erros, que não da' pra entender
Outros critérios:
- função principal não funciona, mas auxiliar sim: ganha 1,0 ponto
na questão
MO417 Home
© 2009 João Meidanis