Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;Autor: Carlos A Delgado
- ;;Fecha: 05 de Septiembre de 2020
- ;;Contrato: calcular-distancia: posn,posn, (posn,posn->numero) -> numero
- ;;(calcular-distancia (make-posn 0 0) (make-posn 3 3) geometrica) -> (sqrt 18)
- ;;(calcular-distancia (make-posn 0 0) (make-pons 3 3) manhathan) -> 6
- (define (calcular-distancia p0 p1 f)
- (f p0 p1))
- (check-within (calcular-distancia (make-posn 0 0) (make-posn 3 3) distancia-geometrica) 4.2426 0.0001)
- (check-expect (calcular-distancia (make-posn 0 0) (make-posn 3 3) distancia-manhathan) 6)
- ;;contrato: distancia-geometrica: posn, posn -> numero
- (define (distancia-geometrica p0 p1)
- (sqrt (+ (sqr (- (posn-x p0) (posn-x p1)))
- (sqr (- (posn-y p0) (posn-y p1))))))
- ;contrato: distancia-manhathan: posn, posn -> numero
- (define (distancia-manhathan p0 p1)
- (+ (abs (- (posn-x p0) (posn-x p1)))
- (abs (- (posn-y p0) (posn-y p1)))))
- ;Autor: Carlos A Delgado
- ;Contrato: filtro-pares: lista de numeros -> lista de numeros
- ;Propósito: De una lista vamos a sacar los elementos que son pares
- ;(filtro-pares (list 1 2 3 4 5) (list 2 4)
- ;(filtro-pares (list 1 3 5 7) empty
- (define (filtro-pares lst)
- (cond
- [(empty? lst) empty]
- [(even? (first lst)) (cons (first lst) (filtro-pares (rest lst)))]
- [else (filtro-pares (rest lst))]
- ))
- (check-expect (filtro-pares (list 1 2 3 4 5)) (list 2 4))
- (check-expect (filtro-pares (list 1 3 5 7)) empty)
- ;Autor: Carlos A Delgado
- ;Contrato: filtro-impares: lista de numeros -> lista de numeros
- ;Propósito: De una lista vamos a sacar los elementos que son impares
- ;(filtro-impares (list 1 2 3 4 5)) (list 1 3 5)
- ;(filtro-impares (list 1 3 5 7)) (list 1 3 5 7)
- (define (filtro-impares lst)
- (cond
- [(empty? lst) empty]
- [(odd? (first lst)) (cons (first lst) (filtro-impares (rest lst)))]
- [else (filtro-impares (rest lst))]
- ))
- (check-expect (filtro-impares (list 1 2 3 4 5)) (list 1 3 5))
- (check-expect (filtro-impares (list 1 3 5 7)) (list 1 3 5 7))
- ;Contrato: filtro-menor-2: lista de numeros -> lista de numeros
- (define (filtro-menor-2 lst)
- (cond
- [(empty? lst) empty]
- [(< (first lst) 2) (cons (first lst) (filtro-menor-2 (rest lst)))]
- [else (filtro-menor-2 (rest lst))]
- ))
- (check-expect (filtro-menor-2 (list 1 2 3 4 5)) (list 1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement