Basis van programmeren (pseudocode traceren)
m[i, j] is het element in rij i, kolom j van de tweedimensionale array m, en indexen beginnen bij 1. Wat is de waarde van s nadat het volgende programma is uitgevoerd?
2D integer array: m ← {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
integer: s ← 0
for (i from 1 to 3 step 1)
for (j from 1 to i step 1)
s ← s + m[i, j]
endfor
endfor
- A15
- B26
- C34
Antwoord en toelichting tonen
Antwoord: C. 34
Elke binnenste {…} is één rij. j loopt van 1 tot i, dus rij 1 telt m[1, 1] = 1 op, rij 2 telt 4 + 5 op en rij 3 telt 7 + 8 + 9 op, wat s = 1 + 9 + 24 = 34 geeft. Dit is de som van de diagonaal en de elementen eronder (de benedendriehoek). Wie rijen en kolommen verwisselt tot m[j, i], telt in plaats daarvan de bovendriehoek op: 1 + 2 + 5 + 3 + 6 + 9 = 26.
Verder: nog 9 vragen over Basis van programmeren (pseudocode traceren)