Advertisement
cardel

FDP Ejemplo 3

Feb 22nd, 2021
3,218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 1.66 KB | None | 0 0
  1. ;;Autor: Carlos A Delgado
  2. ;;Fecha: 22 de Febrero de 2021
  3. ;;Contrato: buscar-numero: numero, lista de numero -> booleano
  4. ;;Propósito: Indicar si un número está en una lista
  5. ;;Ejemplos
  6. ;;listaA = (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 (cons 6 empty))))))
  7. ;;elemento = 4 retornar #true
  8. ;;elemento = -5 retorna #false
  9. (define (buscar-numero num lst)
  10.   (cond
  11.     [(empty? lst) #false]
  12.     [(= (first lst) num) #true]
  13.     [else (buscar-numero num (rest lst))]
  14.     ))
  15.  
  16. (define listaA (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 (cons 6 empty)))))))
  17. (check-expect (buscar-numero 4 listaA) #t)
  18. (check-expect (buscar-numero -5 listaA) #f)
  19.  
  20. ;;buscar-persona-nombre
  21.  
  22. (define-struct persona (nombre edad cargo))
  23.  
  24. (define listaPersonas
  25.   (cons (make-persona "Juan" 18 "Gerente")
  26.         (cons (make-persona "Diana" 22 "Administradora")
  27.               (cons (make-persona "Pedro" 35 "Oficial")
  28.                     (cons (make-persona "María" 20 "Operadora")
  29.                           (cons (make-persona "Carlos" 12 "Vendedor") empty))))))
  30.  
  31. ;;Autor: Carlos A Delgado
  32. ;;Fecha: 22 de Feb de 2021
  33. ;;Contrato: buscar-persona-nombre: lista de personas, string -> booleano
  34. ;;Propósito: Esta función indica si en una lista de personas, hay al menos una persona con un nombre dado
  35. ;;Ejemplo
  36. ;;listaPersonas
  37. ;;nombre= Pedro  #true
  38. ;;nomber= Abelardo #falso
  39. (define (buscar-persona-nombre lst nom)
  40.   (cond
  41.     [(empty? lst) #f]
  42.     [(string=? (persona-nombre (first lst)) nom) #t]
  43.     [else (buscar-persona-nombre (rest lst) nom)]
  44.     )
  45.   )
  46.  
  47. (check-expect (buscar-persona-nombre listaPersonas "Pedro") #true)
  48. (check-expect (buscar-persona-nombre listaPersonas "Abelardo") #false)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement