Lista Scheme
Por: João João • 13/3/2016 • Trabalho acadêmico • 785 Palavras (4 Páginas) • 428 Visualizações
01.Crie um programa Scheme para adicionar um a cada elemento de uma lista.
Exemplo :
Entrada : (soma-1 '(4 9 3))
Saída : (5 10 4)
-Resposta:
------------------------------------------------------------------------
(define(soma-1 x)
(if(null? x)
'()
(cons (+ 1 (car x)) (soma-1(cdr x)))))
------------------------------------------------------------------------
02.Crie um programa Scheme para inluir um valor ao final de uma lista.
Exemplo :
Entrada : (inclui-valor 4 '(9 8 7))
Saída : (9 8 7 4)
------------------------------------------------------------------------
-Resposta:
(define (inclui-valor x lista)
(append lista (list x)))
------------------------------------------------------------------------
03.Crie um programa Scheme para retornar a posição de um elemento em uma lista,
caso ele seja encontrado na lista, caso nao, retorne falso.
Exemplo :
Entrada : (retorna-posicao 9 '(1 4 9))
Saída : 3
------------------------------------------------------------------------
-Resposta:
(define (retorna-posicao e lst)
(if (null? lst)
-1
(if (eq? (car lst) e)
1
(if (= (retorna-posicao e (cdr lst)) -1)
-1
(+ 1 (retorna-posicao e (cdr lst)))))))
------------------------------------------------------------------------
04.Crie um programa Scheme que recebe uma lista e retorna a média dos seus elementos.
Exemplo :
Entrada : (media '(2 4 6))
Saída : 4
------------------------------------------------------------------------
-Resposta:
(define (media lista)
(/ (apply + lista) (length lista)))
------------------------------------------------------------------------
05.Crie um programa scheme que receba um número natural e retorne uma lista
iniciando de zero, até este número natural.
Exemplo : (retnat 4)
Saída : (0 1 2 3 4)
------------------------------------------------------------------------
-Resposta:
(define (retnat numero)
(if(null? numero)
0
(reversa (lista numero))
)
)
(define(lista x)
(if(< x 0)
'()
(cons x (lista(- x 1))))
)
(define (reversa lista)
(reverse lista))
;APPENDNEW;
(define (appendNew lista1 lista2)
(if (null? lista1)
lista2
(cons (car lista1) (appendNew (cdr lista1) lista2))
)
)
------------------------------------------------------------------------
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)
------------------------------------------------------------------------
...