MC600 - Segundo semestre de 1999 - LISTA 4 ------------------------------------------ Defina funções LISP que resolvam os seguintes problemas. Para muitos deles já existem funções pré-definidas que fazem o serviço. Neste caso, o nome da função pré-definida é dado entre parêntesis. Calcule o quadrado de n somando números ímpares. Retorne uma lista com o último elemento de uma lista dada (last). Receba um número variável de parâmetros (um ou mais) e construa uma lista com todos eles (list). Retorne a concatenação de duas listas dadas como parâmetros (append). Retorne o reverso de uma lista (reverse). (As funções seguintes se referem a operações entre conjuntos, sendo os conjuntos representados por listas). Verifique se um elemento está numa lista (member). Acrescente um elemento a uma lista se ele já não estiver. Faça a união de duas listas (union). Faça a intersecção de duas listas (intersection). Verifique se uma lista é subconjunto de outra (subsetp). Retorne os elementos que estão na primeira lista e não estão na segunda (set-difference). (Acabou a seção sobre conjuntos). Verifique se uma lista é sublista da outra, isto é, consiste de um trecho consecutivo da outra. Retorne a sublista contendo os n-1 primeiros elementos de uma lista dada de comprimento n (butlast = "todos menos o último"). Ordene uma lista por merge sort. (As funções a seguir referem-se a operações com árvores binárias de busca representadas como listas da seguinte forma: cada nó é representado por (info esq dir), onde info é a informação (ordenável), esq e dir são as subárvores esquerda e direita, respectivamente). Faça função que: - verifique se uma árvore é vazia. - contrua uma folha com informação dada. - retorne a informação de um nó dado. - retorne a subárvore esquerda de um nó dado. - retorne a subárvore direita de um nó dado. - busque um elemento dada a chave (info). - insira um novo elemento (se já não estiver). - liste os elementos em pré-ordem. - liste os elementos em in-ordem. - liste os elementos em pós-ordem. - retorne a altura da árvore. - verifique se a árvore é balanceada.