/* hopper-JAMBO - a flavour of Amazing Hopper! */ #include Main leng=0 Void(lista) Set("la realidad","escapa","a los sentidos"), Apnd list(lista) Length(lista), Move to(leng) Toksep(" ") Printnl( lista ) Set(1) Gosub(Permutar) End-Return Subrutines Define( Permutar, pos ) If ( Sub(leng, pos) Isgeq(1) ) i=pos Loop if( Less( i, leng ) ) Plusone(pos), Gosub(Permutar) Set( pos ), Gosub(Rotate) Printnl( lista ) ++i Back Plusone(pos), Gosub(Permutar) Set( pos ), Gosub(Rotate) End If Return Define ( Rotate, pos ) c=0, [pos] Get(lista), Move to(c) [ Plusone(pos): leng ] Cget(lista) [ pos: Minusone(leng) ] Cput(lista) Set(c), [ leng ] Cput(lista) Return