QCM☘
QCM 1☘
Un tri par sélection sur un tableau de taille n présente un nombre de comparaisons
- qui s'exprime sous la forme d'une fonction affine de la variable n
- qui s'exprime sous la forme d'une fonction du second degré de la variable n.
- qui s'exprime sous la forme d'une fonction du troisième degré de la variable n.
Réponse
- qui s'exprime sous la forme d'une fonction affine de la variable n
- qui s'exprime sous la forme d'une fonction du second degré de la variable n.
- qui s'exprime sous la forme d'une fonction du troisième degré de la variable n.
QCM 2☘
Le code suivant:
def f(tab, debut, fin):
m = tab[debut]
indice = debut
for i in range(debut+1, fin+1):
if tab[i] < m:
m = tab[i]
indice = i
return indice
def triSelection(tab):
for i in range(0, len(tab)-1):
print(tab)
im = f(tab, i, len(tab)-1)
tab[i], tab[im] = tab[im], tab[i]
avec l'appel:
triSelection([3, 7, 2, 4, 1])
donnera les affichages:
-
[1, 7, 2, 4, 3] [1, 2, 7, 4, 3] [1, 2, 3, 4, 7] [1, 2, 3, 4, 7]
-
[3, 7, 2, 4, 1] [1, 7, 2, 4, 3] [1, 2, 7, 4, 3] [1, 2, 3, 4, 7]
-
[3, 7, 2, 4, 1] [7, 3, 2, 4, 1] [7, 4, 2, 3, 1] [7, 4, 3, 2, 1]
-
[7, 3, 2, 4, 1] [7, 4, 2, 3, 1] [7, 4, 3, 2, 1] [7, 4, 3, 2, 1]
Réponse
-
[1, 7, 2, 4, 3] [1, 2, 7, 4, 3] [1, 2, 3, 4, 7] [1, 2, 3, 4, 7]
-
[3, 7, 2, 4, 1] [1, 7, 2, 4, 3] [1, 2, 7, 4, 3] [1, 2, 3, 4, 7]
-
[3, 7, 2, 4, 1] [7, 3, 2, 4, 1] [7, 4, 2, 3, 1] [7, 4, 3, 2, 1]
-
[7, 3, 2, 4, 1] [7, 4, 2, 3, 1] [7, 4, 3, 2, 1] [7, 4, 3, 2, 1]
QCM 3☘
Avec le code suivant:
def rechercheIndiceMax(tab, debut, fin):
m = tab[debut]
indice = debut
for i in range(debut+1, fin+1):
if tab[i] > m:
m = tab[i]
indice = i
return indice
et l'appel suivant:
tab = [3, 7, 8, 2, 1, 9, 5, 10]
rechercheIndiceMax(tab, 1, 4)
le nombre de comparaisons effectuées sera:
- 7
- 1
- 3
- 4
Réponse
- 7
- 1
- 3
- 4
QCM 4☘
Avec le code suivant:
def rechercheIndiceMin(tab, debut, fin):
m = tab[debut]
indice = debut
for i in range(debut+1, fin+1):
if tab[i] < m:
m = tab[i]
indice = i
return indice
def triSelection(tab):
for i in range(0, len(tab)-1):
im = rechercheIndiceMin(tab, i, len(tab)-1)
tab[i], tab[im] = tab[im], tab[i]
# TESTS
from random import randint
A = [randint(-10,10) for i in range(10)]
triSelection(A)
combien de fois la ligne 16 tab[i], tab[im] = tab[im], tab[i]
est-elle exécutée?
- 11 fois
- 10 fois
- 9 fois
- 8 fois
Réponse
- 11 fois
- 10 fois
- 9 fois
- 8 fois