Aller au contenu

Index des sujets 2023

Corrigé sujet 42 - Année : 2023

Sujet 42 - 2023

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, 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.