Buscar

Exercícios de LISP para iniciantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Universidade Federal da Grande Dourados
Faculdade de Cieˆncias Exatas e Tecnologias
Bacharelado em Sistemas de Informac¸a˜o
Paradigmas em Linguagens de Programac¸a˜o
Lista de Exerc´ıcios 3 – LISP
Prof. M.Sc. Rodrigo Porf´ırio da Silva Sacchi
1. Desenhe as representac¸o˜es gra´ficas de dados para as seguintes listas:
(a) (A 17 −3)
(b) ((A 5 C) %)
(c) ((A 5 C) (%))
(d) (NIL 6 A)
(e) ((A B))
(f) (∗ ( + 15 (− 6 4)) −3)
2. Qual e´ o CAR de cada uma das listas do exerc´ıcio 1?
3. Qual e´ o CDR de cada uma das listas do exerc´ıcio 1?
4. Escreva as declarac¸o˜es necessa´rias, usando CAR e CDR, para obter os
seguintes valores das listas do exerc´ıcio 1:
(a) (−3) e (−3 −3)
(b) (C %) e (A C %)
(c) (5 %) e (5 (%))
(d) (6 (6)) e (6 (6) 6)
(e) ((B) A) e (A ((B) B))
1
5. Fac¸a um programa para encontrar a u´ltima caixa de uma lista. Exem-
plo:
(my-last ’(a b c d))
(D)
6. Fac¸a um programa para encontrar o u´ltimo e o penu´ltimo elementos de
uma lista. Exemplo:
* (my-but-last ’(a b c d))
(C D)
7. Fac¸a um programa para encontrar o k-e´simo elemento de uma lista. O
primeiro elemento tem ı´ndice 1. Exemplo:
* (element-at ’(a b c d e) 3)
C
8. Fac¸a um programa para encontrar o nu´mero de elementos em uma lista.
9. Fac¸a um programa que dada uma lista, a devolva de forma revertida.
10. Fac¸a um programa que verifique se uma lista e´ pal´ındrome. Uma pa-
l´ındrome e´ uma palavra, nu´mero ou frase que pode ser lida igualmente
comec¸ando pelo in´ıcio ou pelo fim. Exemplo:
* my-palin( ’(frase))
(x a m a x).
(socoram-me subi no oˆnibus em marrocos).
11. Fac¸a um programa que elimine duplicatas de uma lista de elementos.
Se a lista conte´m elementos repetidos, eles devem ser trocados por
uma simples co´pia do elemento. A ordem dos elementos na˜o deve ser
alterada. Exemplo:
* (compress ’(a a a a b c c a a d e e e e))
(A B C A D E)
12. Fac¸a um programa que remove o k-e´simo elemento de uma lista. Exem-
plo:
* (remove-at ’(a b c d) 2)
(A C D)
13. Fac¸a um programa que determine o ma´ximo divisor comum entre dois
inteiros positivos usando o algoritmo de Euclides. Exemplo:
* (my-gcd 36 63) 9
2
14. Fac¸a um programa que determine os fatores primos de um inteiro posi-
tivo. Construa uma lista contendo esses fatores em ordem ascendente.
Exemplo:
* (prime-factors 315)
(3 3 5 7)
3

Continue navegando