Here are some short programs that demonstrate using simple I/O. The first example uses only standard input and standard output, so reader and writer variables do not explicitly appear.
MODULE Main;
IMPORT IO;
VAR x: INTEGER;
BEGIN
IO.Put("Welcome. Enter a number: ");
x := IO.GetInt();
IF x < 0 THEN
IO.Put("The number was negative");
ELSE
IO.Put("The number was not negative.");
ENDIF
END Main.
The next example does some simple file I/O. It introduces reader and writer variables:
MODULE Main;
IMPORT IO,Rd,Wr;
VAR inFile: Rd.T;
outFile: Wr.T;
num: INTEGER;
BEGIN
outFile := IO.OpenWrite("numbers.dat");
FOR i := 1 TO 10 DO
IO.PutInt(i, outFile);
IO.Put("\n", outFile);
END;
Wr.Close(outFile);
inFile := IO.OpenRead("numbers.dat");
REPEAT
num := IO.GetInt(inFile);
UNTIL num = 10;
Rd.Close(inFile);
END Main.