MODULE Fractions; CONST Base = 10; N = 32; VAR i, j, m : CARDINAL; rem : CARDINAL; d : ARRAY[1..N] OF CARDINAL; (* digits *) x : ARRAY[0..N] OF CARDINAL; (* index *) BEGIN FOR i := 2 TO N DO FOR j := 0 TO i-1 DO x[j] := 0; END; (* FOR *) m := 0; rem := 1; REPEAT m := m + 1; x[rem] := m; rem := Base * rem; d[m] := rem DIV i; rem := rem MOD i; UNTIL x[rem] # 0; WRITE(i); WRITE(" 0."); FOR j := 1 TO x[rem]-1 DO WRITE(CHR(d[j]+ORD("0"))) END; (* FOR *) WRITE("'"); FOR j := x[rem] TO m DO WRITE(CHR(d[j]+ORD("0"))) END; (* FOR *) WRITELN; END; (* FOR *) END Fractions.