Aller au contenu

Index des sujets 2023

Corrigé sujet 11 - Année : 2023

Sujet 11 - 2023

Exercice 1

1
2
3
4
5
6
7
def convertir(tab):
    poids =  len(tab)-1
    valeur = 0
    for elt in tab:
        valeur += 2**poids * elt
        poids -=1
    return valeur

Commentaires

On peut aussi effectuer un parcours par indice (cela évite d'utiliser la variable poids)

Exercice 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
def tri_insertion(tab):
    n = len(tab)
    for i in range(1, n):
        valeur_insertion = tab[i] #(1)
        # la variable j sert à déterminer où placer la valeur à ranger
        j = i #(2)
        # tant qu'on a pas trouvé la place de l'élément à insérer
        # on décale les valeurs du tableau vers la droite
        while j > 0 and valeur_insertion < tab[j-1]: #(3)
            tab[j] = tab[j-1]
            j = j - 1
        tab[j] = valeur_insertion
  1. On insère l'élément d'indice i dans le debut de liste (déjà triée)
  2. L'indice de départ de l'élément à insérer, on va le diminuer jusqu'à trouver le bon emplacement
  3. Tant que le voisin de gauche existe (j>0) et que sa valeur est supérieure à celle à insérer on a pas atteint la bonne position d'insertion