[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Ajuda em Lisp



Tenho que usar somente o lisp PURO...

Vcs poderiam me ajudar.... ??

 

Grato

 

Preciso escrever um prorograma que compara as descrições de dois objetos e relata quantas características eles tem em comum. As descrições serão representadas como uma lista de características, com o símbolo vs separando as características do primeiro objeto das características do segundo. Assim, recebendo uma lista como

 

(esfera grande vermelha brilhante vs piramide de-4-lados pequena brilhante vermelha)

 

seu programa responderá com

 

(2 características comuns)

 

O programa se comporá de diversas pequenas funções que serão escritas e testadas separada e individualmente. São elas:

 

a.       Escreva uma função chamada LadoEsquerdo que retorna todas as características que se encontram à esquerda do símbolo vs. A função LadoEsquerdo, aplicada à lista de características

 

(esfera grande vermelho brilhante vs piramide de-4-lados pequena brilhante vermelha)

 

deveria retornar

 

(esfera grande vermelha brilhante)

 

b.      Escreva uma função chamada LadoDireito que retorna todas as características que se encontram à direita do símbolo vs. A função LadoDireito, aplicada à lista de características

 

(cubo grande vermelho brilhante vs piramide de-4-lados pequena brilhante vermelha)

 

deveria retornar

 

(piramide de-4-lados pequena brilhante vermelha)

 

c.       Escreva uma função chamada QuantidadeDeCaracteristicasComuns que retorna a quantidade de características comuns aos dois objetos. A função QuantidadeDeCaracteristicasComuns, aplicada às listas

(esfera grande vermelha brilhante)     e     (piramide de-4-lados pequena brilhante vermelha)

 

deveria retornar 2.

 

d.      Escreva a função principal de seu programa (podemos chamá-la de Compare).

Assim, recebendo uma lista com as características de dois objetos separadas pelo símbolo vs, faz uso das demais funções constituintes de seu programa, para produzir uma resposta com a forma

 

(n características comuns)

 

Assim, recebendo uma lista como

 

(esfera grande vermelha brilhante vs piramide de-4-lados pequena brilhante vermelha)

 

sua função responderá

 

(2 características comuns)

 

Teste seu programa com a expressão

 

(Compare ?(cubo metalico vermelho pequeno vs cubo plastico vermelho pequeno))

 

Espera-se que seu programa responda

 

(3 caracteristicas comuns)


Reply to: