MODULE allequal; (*--------------------------------------------------------- File name: allequal.pm Author: AG Date: 6/06/05 Problem: This program cheks if all the elements in a line are equal. Example of Execution 1: L1: 1 1 0 1 1 1 0 ... 1 Res: 0 Example of Execution 2: L1: 0 0 0 0 0 0 ... 0 Res: 1 Cycles: 2 assignments + 1 test *) (*---------------------------------------------------------- CONFIGURATION ----------------------------------------------------------*) CONST MAXCELLS=1024; (* MAXCELLS cells in one line *) CONFIGURATION chain[0..(MAXCELLS - 1)]; CONNECTION left: chain [i] -> chain[(i-1) MOD MAXCELLS]; right: chain[i] -> chain[(i+1) MOD MAXCELLS]; (*---------------------------------------------------------- VARIABLES ----------------------------------------------------------*) VAR L1: chain OF INTEGER; Res: INTEGER; (*---------------------------------------------------------- MAIN ----------------------------------------------------------*) BEGIN (* initialize data *) L1:= RandomInt(chain) MOD 1; (* printing *) WriteString("L1:" ); WriteInt(L1, 2); WriteLn; IF L1<<1>> = L1 THEN Res := 1; ELSE Res:= 0; END;(* IF *) (* printing *) WriteString("Res:" ); WriteInt(Res, 2); WriteLn; END allequal.