Programação

678 palavras 3 páginas
TRABALHO DE LINGUAGENS DE PROGRAMAÇÃO

Observações:
• Quando qualquer um dos parâmetros for inválido, as funções devem prever este fato e retornar nil, ou uma mensagem de erro, ou algo semelhante.
• Se quiser, você pode incluir mais alguns parâmetros nas funções pedidas, além dos especificados. Mas use um pouco de bom senso.
• Se já existir na implementação do LISP uma função que faça a mesma coisa (ou quase a mesma coisa) que alguma das funções pedidas, é claro que você NÃO deverá usá-la, mas sim escrever a SUA PRÓPRIA VERSÃO.
• Envie um e-mail para mim com seu(s) nome(s) completo(s) e um arquivo-texto anexado à mensagem contendo código em LISP do trabalho até 23-11-04.
(Impreterivelmente)

1. Manipulação de lats
Uma lat é uma lista de átomos. Exemplo: ( tomate alface cebola cenoura ). Implemente um pacote de funções recursivas para manipulação de lats que inclua as seguintes funções:
• (checklat l), que retorna t se l é uma lat, ou nil caso contrário.
• (removeall a lat), que remove todas as ocorrências do átomo a em lat
• (insertleft new old lat), que insere o átomo new à esquerda de todas as ocorrências do átomo old em lat
• (substall new old lat), que substitui todas as ocorrências do átomo old em lat pelo átomo new
• (occur a lat), que conta todas as ocorrências do átomo a em lat

2. Manipulação de conjuntos
Um conjunto é uma lat (veja a definição de lat no Item 1) onde nenhum elemento ocorre mais de uma vez. Exemplo: ( cenoura batata repolho ) é um conjunto, mas ( cenoura batata batata repolho ) e ( cenoura ( batata ) repolho ) não são. Implemente um pacote de funções recursivas para manipulação de conjuntos que inclua as seguintes funções:
• (testset l), que devolve t se a lista l é um conjunto, ou nil caso contrário
• (makeset l), que constrói um conjunto formado com os átomos que ocorrem na lista l.
Exemplo: se l é a lista ( kiwi kiwi ( laranja ( banana kiwi kiwi ) ) ), então a chamada
(makeset l)

Relacionados

  • Programação
    6472 palavras | 26 páginas
  • Programação
    511 palavras | 3 páginas
  • programacao
    27031 palavras | 109 páginas
  • Programação
    1871 palavras | 8 páginas
  • programação
    2263 palavras | 10 páginas
  • Programação
    301 palavras | 2 páginas
  • Programação
    281 palavras | 2 páginas
  • Programação
    998 palavras | 4 páginas
  • programaçao
    843 palavras | 4 páginas
  • programacao
    47858 palavras | 192 páginas