! 例題 6-9 投票者の動揺(セルオートマトン) [同時的演算 ] PROGRAM ex6_9 IMPLICIT NONE INTEGER :: voter( 1 : 40 ), neighbors( 1 : 40 ), i = 0 CHARACTER ( LEN = 1 ) :: symbol( 0 : 1 ) = (/ ' ', '#' /) PRINT *, 'Input initial bits for 40 members:' READ '( 40I1 )', voter( 1 : 40 ) PRINT '( I3, ":", 40A1 )', i, symbol( voter( : ) ) DO i = 1, 5 neighbors = CSHIFT( voter, 1 ) + CSHIFT( voter, -1 ) WHERE ( neighbors /= 1 ) voter = neighbors / 2 PRINT '( I3, ":", 40A1 )', i, symbol( voter( : ) ) END DO END PROGRAM ex6_9