Aller au contenu

Index des sujets 2023

Corrigé sujet 45 - Année : 2023

Sujet 45 - 2023

Exercice 1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
notes_eval = [2, 0, 5, 9, 6, 9, 10, 5, 7, 9, 9, 5, 0, 9, 6, 5, 4]

def rangement_valeurs(notes):
    effectifs = [0]*11
    for note in notes:
        effectifs[note] += 1
    return effectifs

def notes_triees(effectifs_notes):
    note_triees = []
    for note in range(11):
        for i in range(effectifs_notes[note]):
            note_triees.append(note)
    return note_triees

Exercice 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
def dec_to_bin (nb_dec):
    q, r = nb_dec // 2, nb_dec % 2
    if q == 0: #(1)
        return str(r)
    else:
        return dec_to_bin(q) + str(r) #(2)

def bin_to_dec(nb_bin):
    if nb_bin == '0':
        return 0
    elif nb_bin == '1': #(3)
        return 1
    else:
        if nb_bin[-1] == '0': 
            bit_droit = 0
        else:
            bit_droit = 1
        return 2 * bin_to_dec(nb_bin[:-1]) + bit_droit
  1. Le quotient est nul, fin de l'algorithme
  2. Le quotient n'est pas nul, on continue en gardant le reste comme dernier chiffre
  3. Cas d'arrêt de la récursion : il reste un unique chiffre