Aller au contenu

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