MC600 - Segundo semestre de 2003 - LISTA 1 ------------------------------------------ 1. Desenhe a representacao grafica das seguintes S-expressoes: a. ( (A . B) . (C . NIL) ) b. (A . (B . (C . D))) c. ((((A . B) . C) . D) . NIL) 2. Escreva a representacao textual das seguintes S-expressoes: a. _______ _______ _______ | | | | | | | | /| | | | ------> | | | ------> | | | / | | | | | | | | | | | |/ | -|----- -|----- -|----- | | | | | | V V V _______ | | /| B C | | | / | | | |/ | -|----- | | V A b. _______ _______ _______ | | | | | | | | /| | | | ------> | | | ------> | | | / | | | | | | | | | | | |/ | -|----- -|----- -|----- | | | | | | V V V _______ B C | | /| | | | / | | | |/ | -|----- | | V A 3. Diga quais das S-expressoes mencionadas nas questoes anteriores sao listas. 4. Descreva o que acontece quando as expressoes abaixo sao avaliadas: a. (+ (- 5 1) (+ 3 7)) b. (list 1 (+ 2 3)) c. (if (listp 1) (+ 1 2) (+ 3 4)) d. (list (and (listp 3) t) (+ 1 2)) 5. De tres expressoes "cons" distintas que retornam (a b c). 6. Usando "car" e "cdr", defina uma funcao que retorna o quarto elemento de uma lista. 7. Defina uma funcao que receba dois argumentos e retorne o maior dos dois.