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
  1. A15
  2. B26
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van programmeren (pseudocode traceren)

  1. Het volgende programma kopieert de elementen van de tweedimensionale array m met 4 rijen en 5 kolommen naar de array b met 20 elementen. m[i, j] is het element in rij i, kolom j, en indexen beginnen bij 1. Op welke index van b komt m[3, 2] terecht?
  2. Array-indexen beginnen bij 1, en + plakt strings aan elkaar. Wat is de waarde van r nadat het volgende programma is uitgevoerd?
  3. De volgende functie isPal geeft true terug als de tekens in de stringarray s van voren en van achteren gelezen hetzelfde zijn (een palindroom). Array-indexen beginnen bij 1. Wat moet er op de plaats van 【a】 in het programma staan?
  4. ÷ staat voor deling; bij toekenning aan een variabele van het type integer (ook een argument) worden de cijfers achter de komma weggelaten. Wat is de retourwaarde als de volgende functie f wordt aangeroepen als f(9087)?
  5. ÷ staat voor deling; bij toekenning aan een variabele van het type integer (ook een argument) worden de cijfers achter de komma weggelaten. Wat is de retourwaarde als de volgende functie toBin wordt aangeroepen als toBin(12)?