home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / source / l3p140.seq < prev    next >
Text File  |  1988-11-05  |  2KB  |  52 lines

  1. \ Here is another way that the word SPEED_CHECK could be formated.
  2.  
  3. \            Message                              Speed range kmph
  4. \           -----------                          ------------------
  5. \ " issue ticket,    impeding traffic flow."            0   -  15
  6. \ " issue warning,   impeding traffic flow."           16   -  30
  7. \ " no action,       safe speed."                      31   -  55
  8. \ " issue warning,   exceeding speed limit."           56   -  65
  9. \ " issue ticket,    exceeding speed limit."           66   -  99
  10. \ " arrest motorist, dangerous driving."              100   -
  11.  
  12. \ Leave true flag is speed is very slow  0 - 15 kmph
  13. : VERY_SLOW? ( speed -- flag)
  14.         0 15 [IN] ;
  15.  
  16. \ Leave true flag if speed is slow  16 - 30 kmph
  17. : SLOW? ( speed -- flag )
  18.        16 30 [IN] ;
  19.  
  20. \ Leave true flag if speed is normal  31 - 55 kmph
  21. : NORMAL? ( speed -- flag )
  22.        31 55 [IN] ;
  23.  
  24. \ Leave true flag if speed is fast    56 - 65 kmph
  25. : FAST? ( speed -- flag )
  26.        56 65 [IN] ;
  27.  
  28. \ Leave true flag if spped is very fast  66- 99 kmph
  29. : VERY_FAST? ( speed -- flag )
  30.        66 99 [IN] ;
  31.  
  32. \ Leave true flag if speed is dangerous   100 kmph and over.
  33. : DANGEROUS? ( speed -- flag )
  34.        99 > ;
  35.  
  36. \ Check speed and print appropriate message.
  37. : SPEED_CHECK ( speed -- )
  38.     DUP VERY_SLOW?
  39.     IF   ." Issue ticket,    impeding traffic flow." DROP  ELSE
  40.     DUP SLOW?
  41.     IF   ." Issue warning,   impeding traffic flow." DROP  ELSE
  42.     DUP NORMAL?
  43.     IF   ." No action,       safe speed."            DROP  ELSE
  44.     DUP FAST?
  45.     IF   ." Issue warning,   exceeding speed limit." DROP  ELSE
  46.     DUP VERY_FAST?
  47.     IF   ." Issue ticket,    exceeding speed limit." DROP  ELSE
  48.     DANGEROUS?
  49.     IF   ." Arrest motorist, dangerous driving."
  50.     THEN THEN THEN THEN THEN THEN ;
  51.  
  52.