lunes, 21 de enero de 2008

Funcion Sublista desde dos posiciones en Lenguaje Scheme

Defina una función sublista a la que pasándole una lista: L, y dos enteros: ini y lon, devuelva una lista formada por los elementos de L desde el ini hasta el ini+lon -1. Suponga que los elementos están numerados desde el 1 hasta n. Si se solicitan tantos elementos que se sobrepasa el final de la lista devolver el máximo posible.

(define (sublista Lista1 ini long)
(cond
((null? Lista1) null)
((= long 0) null)
((> ini 1) (sublista (cdr Lista1) (- ini 1) long))
((= ini 1)(cons (car Lista1)(sublista (cdr Lista1) ini (- long 1))))))