The following is a valid µOCCAM program that performs I/O. The program will calculate and return the factorial of a number that is entered as input. (Note that 0 is returned if the input is negative) The program makes use of a number of different constructions.
Program file:
/public/cs3/web/ipptests/factorial.io
-- This program takes a number from standard input and returns -- the factorial of this number to standard output. -- Note that 0 is returned for a negative input. INT factorial: INT result=0: SEQ stdin ? factorial -- input factoral value to be calculated IF factorial >= 0 result := 1 WHILE factorial > 0 SEQ result := (result * factorial) factorial := (factorial-1) stdout ! result
When provided with this input:
/public/cs3/web/ipptests/factorial.in
4
it should generate the following output:
/public/cs3/web/ipptests/factorial.out
==> 24