Math.cp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. MODULE TestMath;
  2. IMPORT
  3. Log:=Out;
  4. PROCEDURE Do;
  5. VAR a, b: INTEGER;
  6. BEGIN
  7. a:=5; b:=3;
  8. Log.Int(a); Log.String(" DIV"); Log.Int(b); Log.Int(a DIV b); Log.Ln; ASSERT((a DIV b) = 1, 60);
  9. Log.Int(a); Log.String(" MOD"); Log.Int(b); Log.Int(a MOD b); Log.Ln; ASSERT((a MOD b) = 2, 61);
  10. Log.Ln;
  11. a:=-5; b:=3;
  12. Log.Int(a); Log.String(" DIV"); Log.Int(b); Log.Int(a DIV b); Log.Ln; ASSERT((a DIV b) = -2, 62);
  13. Log.Int(a); Log.String(" MOD"); Log.Int(b); Log.Int(a MOD b); Log.Ln; ASSERT((a MOD b) = 1, 63);
  14. Log.Ln;
  15. a:=5; b:=-3;
  16. Log.Int(a); Log.String(" DIV"); Log.Int(b); Log.Int(a DIV b); Log.Ln; ASSERT((a DIV b) = -2, 64);
  17. Log.Int(a); Log.String(" MOD"); Log.Int(b); Log.Int(a MOD b); Log.Ln; ASSERT((a MOD b) = -1, 65);
  18. Log.Ln;
  19. a:=-5; b:=-3;
  20. Log.Int(a); Log.String(" DIV"); Log.Int(b); Log.Int(a DIV b); Log.Ln; ASSERT((a DIV b) = 1, 66);
  21. Log.Int(a); Log.String(" MOD"); Log.Int(b); Log.Int(a MOD b); Log.Ln; ASSERT((a MOD b) = -2, 67);
  22. ASSERT(a = (a DIV b) * b + (a MOD b), 68);
  23. ASSERT(LONG(a DIV b) = ENTIER(a / b), 69);
  24. END Do;
  25. BEGIN
  26. Log.String("TEST math"); Log.Ln;
  27. Do;
  28. END TestMath.