MODULE select0; (*--------------------------------------------------------- File name: select0.pm Author: Mihaela Malita Date: 6/09/05 Problem: This program prints the boolean selection vector associated with a chain(line). 1 if selected cell, 0 if not. Example of Execution: (selected is 3) L2 : 4 2 4 3 0 1 4 3 4 2 1 3 1 1 4 L1bool: 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 Cycles: 1 test + 2 assign. Cycles in Connex: 1. *) (*---------------------------------------------------------- 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 L1bool, L2: chain OF INTEGER; (*-------------------------------------------------------- MAIN -----------------------------------------------------------*) BEGIN (* initializing data *) L2 := RandomInt(chain) MOD 5; L1bool := 0; IF ID(chain) < 16 THEN IF L2 = 3 THEN L1bool := 1; END; (* IF *) (* printing *) WriteString( " L2 : ");WriteInt( L2 , 2); WriteLn; WriteString( " L1bool: ");WriteInt( L1bool , 2); WriteLn; END; (* IF *) END select0.