procedure zvys(var a:stack of 0..1); { zvyš počítadlo v zásobníku `a' o 1 } var b: stack of 0..1; { pomocný zásobník } begin repeat if empty(a) then x := 0 { vlevo od čísla si domyslíme jedničky } else x := pop(a); push(b, (x+1) mod 2); { 0->1, 1->0 } until x=0; { zarazíme se o první nulu } while not empty(b) do { přesypeme číslice zpět } push(a, pop(b)); end;