Il diagramma di flusso a destra illustra l'algoritmo che trasforma un numero intero positivo espresso in forma binaria in un altro numero in forma binaria.  Supponiamo che a sinistra della cifra iniziale del numero dato in input vi sia uno 0 (ad esempio se il numero è 1011 lo pensiamo come 01011).  A quale operazione matematica corrisponde?   

Il diagramma rappresenta l'operazione N → N+1:
0 → 1,  1→ 10,  10 → 11,  11 → 100,  101 → 110,  …


Se sei intereressato a realizzare diagrammi come il procedente con R vedi qui.

BF=4; HF=3
boxW(-40,60, -30,70)
# BOX()                         # I put it to see the grid; then I take it off
x=c(-18,18,18,-18); y=c(52,52,68,68); polyC(x,y,"yellow")
A=c(0,63); ptexT(A,"Esamina la prima")
A=c(0,57); ptexT(A,"cifra a destra")
dart(0,52, 0,40, 1)
x=c(-7,7,7,-7); y=c(30,30,40,40); polyC(x,y,"yellow")
A=c(0,35); ptexT(A,"E' 0?")
dart(0,30, 0,20, 1)
x=c(-18,18,18,-18); y=c(10,10,20,20); polyC(x,y,"yellow")
A=c(0,15); ptexT(A,"Sostituiscila con 1")
dart(0,10, 0,0, 1)
x=c(-5,5,5,-5); y=c(0,0,-10,-10); polyC(x,y,"yellow")
A=c(0,-5); ptexT(A,"END")
A=c(-5,25); ptexT(A,"SI'")
A=c(13,33); ptexT(A,"NO")
dart(7,30, 20,25, 1)
x=c(20,56,56,20); y=c(20,20,30,30); polyC(x,y,"yellow")
A=c(20+18,25); ptexT(A,"Sostituiscila con 0")
dart(20+18,30, 20+18,40, 1)
x=c(20+18-15,20+18+15,20+18+15,20+18-15); y=c(40,40,56,56); polyC(x,y,"yellow")
A=c(20+18,51); ptexT(A,"Esamina quella")
A=c(20+18,45); ptexT(A,"alla sua sinistra")
dart(20+18-15,48, 0,48, 1)