![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: LISP ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Escreva um programa LISP que duplica os elementos de uma lista usando uma função recursiva chamada duplicar_elementos() - Exercícios Resolvidos de LISPQuantidade de visualizações: 405 vezes |
|
Pergunta/Tarefa: Dada a lista de inteiros (1 2 3 4 5 6 7 8) Escreva um programa LISP que duplica os elementos desta lista usando uma função recursiva chamada duplicar_elementos(). Esta função deverá receber a lista original e retornar uma nova lista contendo os elementos duplicados. Sua saída deve ser parecida com: A lista original é: (1 2 3 4 5 6 7 8) A nova lista é: (1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8) Veja a solução comentada deste exercício usando a linguagem Common Lisp (a padronização da LISP): ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
; vamos criar uma função recursiva que duplica os elementos
; de uma lista e retorna a nova lista
(defun duplicar_elementos(lista)
; a lista está vazia?
(if (eql lista nil)
nil
; efetua mais uma chamada recursiva
(append (list (car lista) (car lista))
(duplicar_elementos (cdr lista))))
)
(let (lista)
; vamos criar uma nova lista
(setq lista '(1 2 3 4 5 6 7 8))
; vamos mostrar o conteúdo da lista original
(format t "A lista original é: ~D" lista)
; agora vamos duplicar todos os elementos da lista
(setq lista (duplicar_elementos lista))
; e mostramos o resultado
(format t "~%A nova lista é: ~D" lista)
)
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de LISP |
Veja mais Dicas e truques de LISP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






