Adloun

Projets et mini-jeux

Cours · sciences numériques et technologie (seconde), chapitre 7 · seconde générale, SNT · le début du chapitre, la suite sur Adloun

Une image numérique est une matrice de pixels : chaque case porte une valeur de niveau de gris.

Ce chapitre met en œuvre tout ce qui précède — variables, conditions, boucles, fonctions, listes et hasard — sur des projets complets. Chaque projet donne un cahier des charges, puis une solution commentée. Le mieux est de commencer par écrire le programme soi-même avant de lire le corrigé.

7.1 Le nombre mystère

ImportantCahier des charges

L'ordinateur choisit un entier secret entre et . À chaque tour, le joueur propose un nombre ; le programme répond « plus grand », « plus petit » ou « gagné », et compte le nombre d'essais.


import random

secret = random.randint(1, 100)
essais = 0
trouve = False

while not trouve:
    proposition = int(input("Ton nombre ? "))
    essais = essais + 1
    if proposition < secret:
        print("Plus grand !")
    elif proposition > secret:
        print("Plus petit !")
    else:
        print("Gagné en", essais, "essais !")
        trouve = True
iRemarqueLa bonne stratégie : la dichotomie

En proposant toujours le milieu de l'intervalle encore possible, on divise par deux le nombre de candidats à chaque essai : nombres sont éliminés en au plus coups (). C'est le principe de la dichotomie.


À chaque essai, la barre bleue — l'ensemble des nombres encore possibles — est coupée en deux. Elle passe de candidats à , , , , … Le secret est trouvé au sixième coup, et jamais plus de sept ne sont nécessaires.

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre