Aller au contenu

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

Sujet 10 - 2022

Exercice 1⚓︎

🐍 Script Python
1
2
3
4
5
6
7
8
def occurrence_lettres(phrase):
    occ = {}
    for caractere in phrase:
        if caractere in occ:
            occ[caractere] += 1
        else:
            occ[caractere]=1
    return occ

Commentaire

  • Bon exercice pour revoir l'utilisation des dictionnaires.
  • Le terme occurrence est utilisé avec le sens habituellement attribué à nombre d'occurrences
  • Dans le nom de la fonction dans l'énoncé, occurence s'écrit avec un seul r, ce serait deux sans faute d'orthographe.

Exercice 2⚓︎

🐍 Script Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def fusion(L1,L2):
    n1 = len(L1)
    n2 = len(L2)
    L12 = [0]*(n1+n2)
    i1 = 0
    i2 = 0
    i = 0
    while i1 < n1 and i2<n2 : #(1)
        if L1[i1] < L2[i2]:
            L12[i] = L1[i1] #(2)
            i1 = i1 + 1
        else:
            L12[i] = L2[i2]
            i2 = i2 + 1 
        i += 1
    while i1 < n1:
        L12[i] = L1[i1] #(3)
        i1 = i1 + 1
        i = i + 1
    while i2 < n2:
        L12[i] = L2[i2]
        i2 = i2 + 1
        i = i + 1
    return L12
  1. i1 est l'indice de parcours de L1 (de longueur n1) i2 est l'indice de parcours de L2 (de longueur n2)
  2. On se trouve dans le cas où le plus petit élément se trouve dans L1, c'est donc lui qui est ajouté à liste fusionnée L12.
  3. On a atteint la fin de l'une des listes, il reste donc à ajouter les éléments restants de l'autre liste.