Telefon

Cum numărul de telefon se va prelucra pe cifre de la stânga la dreapta, este mai avantajos să-l citim sub forma unui şir de caractere. În paralel reţinem şi lungimea numărului în n. Şirul de comenzi îl păstrăm tot într-un şir de caractere.
Vom genera separat prima mutare de deasupra butonului * deasupra primului buton dorit. La fel, ultima mutare implică altfel de comenzi, deoarece trebuie să ajungem de deasupra unui buton oarecare deasupra butonului #.
În rest, presupunem că ne aflăm deasupra unui buton oarecare cu o cifră c1 şi trebuie să ne mutăm deasupra unui buton cu o altă cifră c2. Programul se ramifică în funcţie de c1 în 10 cazuri şi pentru fi­e­care valoare posibilă a lui c1 din nou în 10 cazuri acoperind valorile posibile ale lui c2. Vom fi atenţi ca în cazul în care trebuie să efectuăm doi paşi, să începem cu mutarea pe verticală. Mutările se pot grupa după caz, observând că, de exemplu, atunci când ne aflăm pe o anumită linie (de exemplu, 1 2 3) şi trebuie să ajungem pe o altă linie (de exemplu, 4 5 6) pentru întreaga linie mai întâi mutarea va fi J 1.
Alt caz particular este când două cifre consecutive în numărul de telefon sunt identice, caz în care se repetă comanda A.