Simulado - Respostas

  1. Considere ((((a b) (c d)) (e f)) (g h))
    1. Representação gráfica:

      • átomo E obtido com caadar
      • átomo D obtido com cadadaar
      • expressão ((G H)) obtida com cdr
  2. O valor como dado de um símbolo é usado quando o símbolo aparece sozinho ou na posição de argumento de uma lista a ser avaliada. O valor como função é usado quando o símbolo aparece na posição funcional (primeira poção) de uma lista a ser avaliada.

    Para modificar o valor como dado, usa-se SETF. Para mudar o valor como função, usa-se DEFUN.

  3. 	(defun conta (sexo lista)
    	  (cond
    	    ( (null lista) 0 )
    	    ( (equal sexo (caar lista))
    	      (+ (cadar lista)
    		 (conta (cdr lista))
    		 ) )
    	    (t (conta sexo (cdr lista)))
    	    )
    	  )
  4. 	(defun caixas (expr)
    	  (if (atom expr)
    	    0
    	    (+ 1
    	       (caixas (car expr))
    	       (caixas (cdr expr))
    	       )
    	    )
    	  )

Joao Meidanis
Last modified: Wed Sep 10 10:54:09 EST 1997 by JM