Cum urmăresc un algoritm în pseudocod ca să aflu ce afișează?

Cu un tabel: o coloană pentru fiecare variabilă și o linie pentru fiecare trecere prin buclă. Condiția o citești exact cum e scrisă, mai ales la ultima trecere.

Nu din cap. Faci un tabel cu o coloană pentru fiecare variabilă și o linie pentru fiecare trecere prin buclă, apoi completezi valorile pas cu pas.

Pentru algoritmul

citește n
s ← 0
┌cât timp n > 1 execută
│ s ← s + n % 10
│ n ← [n/10]
└■
scrie s

și n = 1234, tabelul arată așa: după prima trecere s = 4, n = 123, după a doua s = 7, n = 12, după a treia s = 9, n = 1. Condiția 1 > 1 este falsă, deci se afișează 9.

Trei obiceiuri care aduc punctele:

  1. Citește condiția exact cum e scrisă. Aici este n > 1, nu n > 0. Cu > 0 rezultatul ar fi fost 10. Capcanele sunt puse în condiție, nu în calcule.
  2. Verifică ultima trecere, cea în care condiția devine falsă. Acolo apar diferențele.
  3. Nu trage concluzii dintr-un singur exemplu. Pentru n = 3405, > 1 și > 0 dau același rezultat.

Lecția Pseudocodul, citit și scris are tabelul întreg.

Lecția care merge mai departe: Pseudocodul, citit și scris