Lista Scheme
Por: SonSolimar • 22/11/2017 • 794 Palavras (4 Páginas) • 567 Visualizações
...
)
)
------------------------------------------------------------------------
06.Crie um procedimento Scheme que substitua todas as ocorrências do
primeiro átomo pelo segundo átomo.
Exemplo : (substitui 1 2 ’(3 1 2 4 1 6))
Saída : (3 2 2 4 2 6)
------------------------------------------------------------------------
-Resposta:
(define (substitui x y lista)
(if (null? lista)
’()
(if (= (car lista) x)
(appendNew (list y) (substitui x y (cdr lista)))
(appendNew (list (car lista)) (substitui x y (cdr lista)))
)
)
)
;APPENDNEW;
(define (appendNew lista1 lista2)
(if (null? lista1)
lista2
(cons (car lista1) (appendNew (cdr lista1) lista2))
)
)
------------------------------------------------------------------------
07.Crie um procedimento Scheme que receba dois números naturais e uma
lista e imprima um pedaço da lista. O primeiro número natural deve
ser menor que o segundo. O segundo deve ser menor do que o comprimento
da lista.
Exemplo : (sublista 3 5 ’(1 2 3 5 7 8 5 2 3))
Saída : (5 7)
------------------------------------------------------------------------
-Resposta:
(define (sublista x y lista)
(if (null? lista)
’()
(if (= x 0)
(cons (car lista) (sublista (- x 1) (- y 1) (cdr lista)))
(if (> x 0)
(if (= y 0)
(cons (car lista) (sublista (- x 1) (- y 1) (cdr lista)))
(sublista (- x 1) (- y 1) (cdr lista)))
(if (> y 0)
(cons (car lista) (sublista (- x 1) (- y 1) (cdr lista)))
(sublista (- x 1) (- y 1) (cdr lista)))
)
)
)
)
------------------------------------------------------------------------
08.Escreva uma string na ordem reversa.
Entrada : (reversa ’(1 2 3))
Saída : (3 2 1)
------------------------------------------------------------------------
-Resposta:
(define (reversa lista)
(reverse lista))
------------------------------------------------------------------------
...