MODULE select2; (*--------------------------------------------------------- File name: select2.pm Author: Alejandro Giacometti Date: 6/10/05 Problem: This program shows how to copy the selections from one line to another. Find 3 on L2 and substitute with 7 on corresponding cells on L3. Example of Execution: (selected is 3 in L2 substitute with 7 on same selection on L3 ) L2 : 1 2 2 1 4 0 3 4 2 2 4 3 0 3 4 L3 : 2 0 0 4 0 2 7 0 2 4 2 7 4 7 1 Cycles: 2 test + 3 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 L2, L3: chain OF INTEGER; (*-------------------------------------------------------- MAIN -----------------------------------------------------------*) BEGIN (* initializing data *) L2 := RandomInt(chain) MOD 5; L3 := RandomInt(chain) MOD 5; IF ID(chain) < 16 THEN IF L2 = 3 THEN L3 := 7; END; (* IF *) (* printing *) WriteString( " L2 : ");WriteInt( L2 , 2); WriteLn; WriteString( " L3 : ");WriteInt( L3 , 2); WriteLn; END; (* IF *) END select2.