Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- EJERCICIO 1)
- (check-expect (cuadrados empty) '())
- (check-expect (cuadrados (list -1 -2 -3 -4)) (list 1 4 9 16))
- (define (cuadrados lista) (cond
- [(empty? lista) '()]
- [else (cons (expt (first lista) 2) (cuadrados (rest lista)) )]))
- EJERCICIOS 2)
- (check-expect (eliminar empty 1) empty)
- (check-expect (eliminar (list 1 2 3) 1) (list 2 3))
- (check-expect (eliminar (list 1 2 3 4 1) 1) (list 2 3 4))
- (define (eliminar lista numero) (cond
- [(empty? lista) '()]
- [(= (first lista) numero) (eliminar (rest lista) numero)]
- [else (cons (first lista) (eliminar (rest lista) numero) )]))
- EJERCICIO 3)
- (check-expect (longitudes empty) empty)
- (check-expect (longitudes(cons "hola" (cons "cómo" (cons "estás?" '())))) (cons 4 (cons 4 (cons 6 '()))))
- (define (longitudes lista) (cond
- [(empty? lista) empty]
- [else (cons (string-length (first lista)) (longitudes (rest lista)) )]))
- EJERCICIO 4)
- (define (convertidor temperatura) (* 5/9 (- temperatura 32)))
- (check-expect (convertidorFC empty) empty)
- (check-expect (convertidorFC (list 32 -40 212)) (list 0 -40 100))
- (define (convertidorFC lista) (cond
- [(empty? lista) empty]
- [else (cons (convertidor (first lista)) (convertidorFC (rest lista)) )]))
- EJERCICIO 5)
- (define-struct contacto [nombre mail telefono direccion])
- (check-expect (agregar-contacto (make-contacto "a" 1 1 1) empty) (list (make-contacto "a" 1 1 1)))
- (check-expect (agregar-contacto (make-contacto "a" 1 1 1) (list (make-contacto "b" 2 3 4))) (list (make-contacto "b" 2 3 4) (make-contacto "a" 1 1 1) ))
- (check-expect (agregar-contacto (make-contacto "a" 2 2 2) (list (make-contacto "b" 2 3 4) (make-contacto "a" 1 1 1))) (list (make-contacto "b" 2 3 4) (make-contacto "a" 1 1 1) ))
- (define (agregar-contacto contacto_nuevo lista) (cond
- [(empty? lista) (cons contacto_nuevo '())]
- [(string=? (contacto-nombre contacto_nuevo) (contacto-nombre (first lista))) lista]
- [else (cons (first lista) (agregar-contacto contacto_nuevo (rest lista)))]
- ))
- ;SOLO ELIMINA UNA OCURRENCIA
- (check-expect (eliminar-contacto (make-contacto "a" 1 1 1) empty) empty)
- (check-expect (eliminar-contacto (make-contacto "a" 1 1 1) (list (make-contacto "a" 1 1 1))) empty)
- (check-expect (eliminar-contacto (make-contacto "a" 2 2 2) (list (make-contacto "b" 2 3 4) (make-contacto "a" 1 1 1))) (list (make-contacto "b" 2 3 4)))
- (check-expect (eliminar-contacto (make-contacto "a" 2 2 2) (list (make-contacto "b" 2 3 4) (make-contacto "c" 1 1 1))) (list (make-contacto "b" 2 3 4) (make-contacto "c" 1 1 1)))
- (define (eliminar-contacto contacto_v lista) (cond
- [(empty? lista) empty]
- [(string=? (contacto-nombre contacto_v) (contacto-nombre (first lista))) (rest lista)]
- [else (cons (first lista) (eliminar-contacto contacto_v (rest lista)))]
- ))
- (define (buscar-nombre nombre lista) (cond
- [(empty? lista) "No existe el contacto"]
- [(string=? nombre (contacto-nombre (first lista))) (first lista)]
- [else (buscar-nombre nombre (rest lista))]))
- (define (buscar-telefono telefono lista) (cond
- [(empty? lista) "No existe el contacto"]
- [(= telefono (contacto-telefono (first lista))) (first lista)]
- [else (buscar-telefono telefono (rest lista))]))
- EJERCICIO 6)
- (define ANCHO 400)
- (define ALTO 600)
- (define FONDO (empty-scene ANCHO ALTO))
- (define IMAGEN (circle 10 "solid" "red"))
- (define GRAVEDAD 3)
- (define ESTADO-INICIAL '() )
- (define (pantalla n) (cond
- [(empty? n) FONDO]
- [else (place-image IMAGEN (posn-x (first n)) (posn-y (first n)) (pantalla (rest n)) )] ) )
- (define (descender n) (cond
- [(empty? n) '()]
- [else (cons (make-posn (posn-x (first n)) (+ (posn-y (first n)) GRAVEDAD) ) (descender (rest n)) )] ) )
- (define (click n x y event) (cond
- [(string=? event "button-down") (cons (make-posn x y) n)]
- [else n]) )
- (big-bang ESTADO-INICIAL
- [to-draw pantalla]
- [on-tick descender]
- [on-mouse click] )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement