Back to table

My Times Tables

The following is a valid µOCCAM program that performs I/O. You select which times table you want, and then the program does one loop to fill the array and another to print it. The PAR bits are for variable assignments that can happen at the same time.

Program file: /public/cs3/web/ipptests/times_tables.io

-- one times two is two, two times two is four, three times two is five, four ...

INT n:
INT current:
INT multiple:
[12]INT array:

SEQ
  -- Choose which times table you want
  stdin ? multiple
  PAR
    n:=1
    current:=multiple
  WHILE n<=12
    SEQ
      array[n]:=current
      PAR
        current:=current+multiple
        n:=n+1
  -- Now output the table
  SEQ
    n:=1
    WHILE n<=12
      SEQ
        stdout ! array[n]
        n:=n+1

When provided with this input: /public/cs3/web/ipptests/times_tables.in

2

it should generate the following output: /public/cs3/web/ipptests/times_tables.out

==> 2
==> 4
==> 6
==> 8
==> 10
==> 12
==> 14
==> 16
==> 18
==> 20
==> 22
==> 24