Bases de la programmation (trace de pseudo-code)

m[i, j] désigne l'élément de la ligne i et de la colonne j du tableau à deux dimensions m, et les indices commencent à 1. Quelle est la valeur de s après l'exécution du programme suivant ?

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
Afficher la réponse et l'explication

Réponse : C. 34

Chaque {…} intérieur représente une ligne. j varie de 1 à i : la ligne 1 ajoute m[1, 1] = 1, la ligne 2 ajoute 4 + 5 et la ligne 3 ajoute 7 + 8 + 9, ce qui donne s = 1 + 9 + 24 = 34. C'est la somme de la diagonale et des éléments situés en dessous (le triangle inférieur). Confondre lignes et colonnes en écrivant m[j, i] additionnerait plutôt le triangle supérieur : 1 + 2 + 5 + 3 + 6 + 9 = 26.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases de la programmation (trace de pseudo-code)

  1. Le programme suivant copie les éléments du tableau à deux dimensions m, de 4 lignes et 5 colonnes, dans le tableau b de 20 éléments. m[i, j] désigne l'élément de la ligne i et de la colonne j, et les indices commencent à 1. À quel indice de b m[3, 2] est-il stocké ?
  2. Les indices du tableau commencent à 1, et + concatène des chaînes. Quelle est la valeur de r après l'exécution du programme suivant ?
  3. La fonction isPal suivante renvoie true si les caractères du tableau de chaînes s se lisent de la même façon dans les deux sens (un palindrome). Les indices du tableau commencent à 1. Que faut-il écrire à la place de 【a】 dans le programme ?
  4. ÷ est la division ; quand le résultat est affecté à une variable entière (y compris un argument de fonction), la partie fractionnaire est supprimée. Quelle est la valeur de retour de la fonction f suivante appelée sous la forme f(9087) ?
  5. ÷ est la division ; quand le résultat est affecté à une variable entière (y compris un argument de fonction), la partie fractionnaire est supprimée. Quelle est la valeur de retour de la fonction toBin suivante appelée sous la forme toBin(12) ?