Aller au contenu

Corrigé sujet 16 - Année : 2022⚓︎

Sujet 16 - 2022

Exercice 1⚓︎

🐍 Script Python
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⚓︎

🐍 Script Python
 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.