44 lines
598 B
Plaintext
44 lines
598 B
Plaintext
const n:int = 100
|
|
|
|
fun f(a:int^n at r) returns (o:int^n at r)
|
|
let
|
|
o = [ a with [0] = 0 ]
|
|
tel
|
|
|
|
fun g(a:int^n at r) returns (o:int^n at r)
|
|
let
|
|
o = [ a with [n-1] = 0 ]
|
|
tel
|
|
|
|
node autom(a:int^n at r) returns (o:int^n at r; u:int)
|
|
let
|
|
automaton
|
|
state S1
|
|
do
|
|
o = f(a)
|
|
until true then S2
|
|
|
|
state S2
|
|
do
|
|
o = g(a)
|
|
until false then S1
|
|
end;
|
|
u = a[0]
|
|
tel
|
|
|
|
node autom_last() returns (u:int)
|
|
var last o : int^n at r = 0^n;
|
|
let
|
|
automaton
|
|
state S1
|
|
do
|
|
until true then S2
|
|
|
|
state S2
|
|
do
|
|
o = g(last o)
|
|
until false then S1
|
|
end;
|
|
u = o[0]
|
|
tel
|