Aller au contenu

Index des sujets 2022

Corrigé sujet 38 - Année : 2022

Sujet 38 - 2022

Exercice 1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
def minimum(tab, i):
    ind_minimum = i
    for j in range(i+1, len(tab)):
        if tab[j] < tab[ind_minimum]:
            ind_minimum = j
    return ind_minimum

def echange(tab, i, j):
    tab[i], tab[j] = tab[j], tab[i]

def tri_selection(tab):
    for i in range(len(tab)):
        ind_minimum = minimum(tab, i)
        echange(tab, i, ind_minimum)
    return tab

Commentaires

C'est l'algorithme classique du tri par sélection, les explications de l'énoncé sont peut être ambigues, on rappelle que ce tri consiste pour i indice de parcours du tableau à :

  • rechercher le minimum à partir de la position i
  • échanger ce minimum avec l'élément d'indice i

Exercice 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from random import randint

def plus_ou_moins():
    nb_mystere = randint(1,99) #(1)
    nb_test = int(input("Proposez un nombre entre 1 et 99 : "))
    compteur = 0 #(2)

    while nb_mystere != nb_test and compteur < 10 : #(3)
        compteur = compteur + 1
        if nb_mystere > nb_test:
            nb_test = int(input("Trop petit ! Testez encore : "))
        else:
            nb_test = int(input("Trop grand ! Testez encore : "))

    if nb_mystere == nb_test:
        print ("Bravo ! Le nombre etait ",nb_mystere)
        print("Nombre d'essais: ",compteur)
    else:
        print ("Perdu ! Le nombre etait ",nb_mystere)
  1. L'aide sur la fonction randint est donnée dans l'énoncé
  2. compteur est la variable comptabilisant le nombre de tentatives du joueur
  3. Le jeu se poursuit tant que le nombres de tentatives est inférieur à 10 et que la bonne réponse n'a pas été donnée.