| 12345678910111213141516171819202122 |
- MODULE Stdlib2Prog;
- (* Broadened stdlib: Math (sqrt/power/arcsin/arccos), Strings
- (Assign/Equal/Pos), CharClass. Prints a line and exits 42. *)
- IMPORT SysIO, Math, Strings, CharClass;
- VAR ExitCode : INTEGER;
- VAR s : ARRAY [0..31] OF CHAR;
- VAR n : INTEGER;
- BEGIN
- n := 0;
- IF Math.sqrt(144.0) > 11.9 THEN n := n + 10 END; (* 12 -> 10 *)
- IF Math.power(2.0, 10.0) > 1023.9 THEN n := n + 10 END;(* 1024 -> 20 *)
- IF Math.arcsin(0.0) = 0.0 THEN n := n + 2 END; (* -> 22 *)
- IF Math.arccos(1.0) = 0.0 THEN n := n + 2 END; (* -> 24 *)
- Strings.Assign("abc", s);
- IF Strings.Equal("abc", s) THEN n := n + 6 END; (* -> 30 *)
- IF Strings.Pos("bc", s) = 2 THEN n := n + 6 END; (* 1-based -> 36 *)
- IF CharClass.IsDigit('7') AND CharClass.IsAlpha('Q') THEN
- n := n + 6 (* -> 42 *)
- END;
- SysIO.Write("stdlib2 n="); SysIO.WriteInt(n); SysIO.WriteLn;
- ExitCode := n
- END Stdlib2Prog.
|