Adasd

Enviado por Programa Chuletas y clasificado en Otras materias

Escrito el en español con un tamaño de 2,44 KB

 
  concatena l1 y l2
(define concatenar
(lambda(l1 l2)
(if(null ? l1) l2 (cons(car l1)
(concatenar(cdr l1)l2)))))

reemplazar un valor por otro en una lista

(define reemplazar(lambda(X Y lista)
(if(null ? lista)'()
(if(equal ? (car lista) X)
(cons Y(reemplazar X Y (cdr lista)))
(cons(car lista)(reemplazar X Y (cdr lista)))))))

Elimina todos los elementos de l2 que estan en l1
(define elimina(lamdba(l1 l2)
(if(null ? l1) l2
(elimina(cdr l1)
(eliminaX l2(car l1))))))
(define eliminaX(lambda (lista X)
(if(null ? lista)´()
(if(equal ? (car lista) X)
eliminaX(cdr lista) X)
(if(list ?(car lista))
(cons (eliminaX(car lista) X))
(cons(car lista)
(eliminaX(cdr lista) X))))))

Elimina elementos repetidos en lista
(define eliminar(lambda(lista)
(if(null ? lista)'()
(if(not(pertenece(car lista)
(cdr lista)))
(cons(car lista)(eliminar(cdr lista)))
(eliminar(cdr lista))))))
(define pertenece(lambda(X lista)
(if(null ? lista) #f
(if(equal ? X(car lista))#t
(pertenece X(cdr lista))))))

producto cartesiano de 2 listas
(define producto(lambda(l1 l2)
(if (null ? l1) 0
(+(*(car l1)(car l2))
(producto (cdr l1)(cdr l2))))))

cuantas veces se repite X en una lista

(define ocurre(lambda(X lista)
(if(null ? lista) 0
(if(equal ?(car lista) X)
(+1)ocurre(X(cdr lista)))
(ocurre X(cdr lista)))))

Entradas relacionadas: