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.