Lista 3

  1. Fazer uma função que recebe uma lista l e retorna uma lista com todas as possíveis permutações dos elementos de l. A resposta será então uma lista de listas. Se a entrada for (a b c), por exemplo, a saída poderá ser ((a b c) (c b a) (a c b) (b c a) (c a b) (b a c)), ou qualquer outra lista com os mesmos elementos (a ordem não importa).

    Escolha um bom nome para ela.

  2. Fazer uma função que recebe uma lista e retorna quantas vezes cada elemento apareceu na lista de entrada, por exemplo, se a entrada for

    (x a b a b x a x x)

    então há 4 x, 3 a e 2 b, e a saída deve ser

    ((a 3) (x 4) (b 2))

    ou outra lista com os mesmos elementos em outra ordem.

  3. Fazer uma função que recebe duas listas e verifica se a primeira é uma sublista da segunda, isto é, se a primeira pode ser obtida pela remoção de zero ou mais elementos da segunda. Por exemplo, (a b c) é sublista de (a x b f e c a b), mas não de (b a c b a).


Joao Meidanis
Last modified: Wed Aug 27 18:17:51 EST 1997 by JM