Isoraqathedh

transportTime

Jan 7th, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.71 KB | None | 0 0
  1. (defun transportTime (inputDistance) ; in km
  2.     (defun divideAndPrint (input divisor methodOfTransport)
  3.         (let timeTaken (/ inputDistance divisor)
  4.             (list 'string
  5.                 "The distance is "
  6.                 (write-to-string timeTaken)
  7.                 " away by "
  8.                 methodOfTransport
  9.                 ", using an average speed of "
  10.                 (write-to-string divisor)
  11.                 " km/h.")))
  12.     (if (< inputDistance 0)
  13.         nil
  14.     (if (< inputDistance 150)
  15.         (divideAndPrint inputDistance 50 "car") ; cars, 50 km/h
  16.     (if (< inputDistance 2500)
  17.         (divideAndPrint inputDistance 130 "train") ; trains, 130 km/h
  18.     (if (< inputDistance 12500)
  19.         (divideAndPrint inputDistance 800 "plane") ; planes, 800 km/h
  20.         (divideAndPrint inputDistance 18000 "ICBM")))))) ; ICBMs, 18000 km/h
Advertisement
Add Comment
Please, Sign In to add comment