PasteRack.org
Paste # 40933
2024-09-23 17:22:18

Fork as a new paste.

Paste viewed 58 times.


Embed:

  1. #lang racket
  2.  
  3. ; (isBetween a b c) --> boolean
  4. ;   a : number
  5. ;   b : number
  6. ;   c : number
  7. ;   Returns true if a > b and a < c,
  8. ;   false in all other cases.
  9. (define isBetween
  10.   (lambda (a b c)
  11.     (< b a c)))
  12.  
  13. (display "isBetween tests\n")
  14. (display "#t: ")
  15. (isBetween 5 4 6)
  16. (display "#f: ")
  17. (isBetween 3 7 9)
  18. (display "#f: ")
  19. (isBetween 4 4 9)
  20.  
  21. ; (pythTriple a b c) --> boolean
  22. ;   a : positive number
  23. ;   b : positive number
  24. ;   c : positive number
  25. ;
  26. ;   Returns true if a, b, and c could represent
  27. ;   the sides of a right triangle, where c is the
  28. ;   hypotenuse.
  29. ;   False otherwise
  30. ;   a^2 + b^2 = c^2
  31. (define pythTriple
  32.   (lambda (a b c)
  33.     (= (* c c)
  34.        (+ (* a a) (* b b)))))
  35. (display "pythTriple tests\n")
  36. (display "#t: ")
  37. (pythTriple 3 4 5)
  38. (display "#f: ")
  39. (pythTriple 6 7 10)
  40. (display "#t: ")
  41. (pythTriple 4  3 5)
  42. (display "#f: ")
  43. (pythTriple 5 3 4)
  44.  
  45. ; (pythTripl2e a b c) --> boolean
  46. ;   a : positive number
  47. ;   b : positive number
  48. ;   c : positive number
  49. ;
  50. ;   Returns true if a, b, and c could represent
  51. ;   the sides of a right triangle, where any side
  52. ;   could be the hypotenuse
  53. ;   False otherwise
  54. ;   a^2 + b^2 = c^2
  55. (define pythTriple2
  56.   (lambda (a b c)
  57.     (or
  58.      (pythTriple a b c)
  59.      (pythTriple a c b)
  60.      (pythTriple b c a))))
  61. (display "pythTriple2 tests\n")
  62. (display "#t: ")
  63. (pythTriple2 3 4 5)
  64. (display "#f: ")
  65. (pythTriple2 6 7 10)
  66. (display "#t: ")
  67. (pythTriple2 4  3 5)
  68. (display "#t: ")
  69. (pythTriple2 5 3 4)
  70. (display "#t: ")
  71. (pythTriple2 4 5 3)
  72.  
  73. ; (exor p q) --> boolean
  74. ;   p : boolean
  75. ;   q : boolean7
  76. ;
  77. ;   Returns true if a, b, and c could represent
  78. ;   the sides of a right triangle, where c is the
  79. ;   hypotenuse.
  80. ;   False otherwise
  81. ;   a^2 + b^2 = c^2
  82. (define exor
  83.   (lambda (p q)
  84.     (and
  85.      (or p q)
  86.      (not (and p q)))))
  87. (display "exor tests\n")
  88. (display "#f: ")
  89. (exor #true #true)
  90. (display "#t: ")
  91. (exor #true #false)
  92. (display "#t: ")
  93. (exor #false #true)
  94. (display "#f: ")
  95. (exor #false #false)
  96. (display "#t: ")
  97. (exor (> 3 4) (<= 5 6))

=>

isBetween tests

#t:

#t

#f:

#f

#f:

#f

pythTriple tests

#t:

#t

#f:

#f

#t:

#t

#f:

#f

pythTriple2 tests

#t:

#t

#f:

#f

#t:

#t

#t:

#t

#t:

#t

exor tests

#f:

#f

#t:

#t

#t:

#t

#f:

#f

#t:

#t