Aller au contenu

Index des sujets 2022

Corrigé sujet 16 - Année : 2022

Sujet 16 - 2022

Exercice 1

1
2
3
4
5
6
def maxi(tab):
    indice_maximum, maximum = 0,tab[0]
    for indice in range(len(tab)):
        if tab[indice]>maximum:
            indice_maximum,maximum = indice, tab[indice]
    return maximum, indice_maximum

Commentaire

L'énoncé n'indique pas le comportement attendu dans le cas de la liste vide.

Exercice 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
def positif(T):
    T2 = list(T) #(1)
    T3 = []
    while T2 != []:
        x = T2.pop()
        if x >= 0: #(2)
            T3.append(x)
    T2 = []
    while T3 != []:
        x = T3.pop()
        T2.append(x)
    print('T = ',T)
    return T2
  1. Copie indépendante de la liste de départ avec la technique de l'énoncé : list.
  2. On dépile en totalité T2, les éléments positifs sont empilés dans T3.
  3. On dépile T3 et on empile son contenu dans T2, afin de les remettre dans l'ordre de départ.

Attention

  1. Bien comprendre que le sujet se limite à l'interface habituelle d'une pile (empile avec append, depile avec pop et est_vide avec ==[]).
  2. La ligne 8 est inutile, T2 est vide puisqu'on a quitté la boucle.