Introduction

Les premiers exercices permettent de travailler le for et d’aborder des thèmes important en informatique ; en choisir deux : A ou B puis C ou D:

  • A. les nombres premiers, divisibles (sans reste) uniquement par 1 ou eux-mêmes ;
  • B. le PGCD ;
  • C. la factorielle ;
  • D. la suite de Fibonacci et le nombre d’or.

L’exercice suivant (E) permet de travailler le while.

Les exercices suivants permet de travailler le while tout en développant des mini-jeux. En choisir un (F : nombre mystérieux ou G : BlackJack).

Le dernier exercice (H) est un exemple de boucle imbriquées.

Important :

  • Les algorigrammes permettent de représenter graphiquement l’enchaînement des instructions d’un programme.
  • Savoir faire une trace est une compétence indispensable pour pouvoir mettre au point un programme (c’est-à-dire détecter et corriger les erreurs).

Exercice A - Nombre premier

  1. Dessiner l’algorigramme du programme suivant.
  2. Faire deux traces du programme suivant. La première lorsque l’utilisateur saisit 11 la seconde lorsqu’il saisit 15.
Instructions Tour 1 Tour 2 Tour 3 Tour 4
n = int(input(“Saisir un nombre : “)) n:11
rc = int(n ** 0.5) #rc = √n rc:3
r = 1 ?
i = 2 ? -
while r != 0 and i <= rc: True ?
    r = n % i ? r:2
    i = i + 1 ? i:4
if r != 0: - -
    print(str(n) + “ est premier”)
else:
    print(str(i - 1) + “ divise “ + str(n))

Exercice B - PGCD

  1. Dessiner l’algorigramme du programme suivant.
  2. Faire la trace du programme suivant lorsque l’utilisateur saisit 24 puis 18.
Instructions Tour 1 Tour 2 Tour 3 Tour 4
a = int(input(“Entrez le premier nombre : “)) a:24 - - -
b = int(input(“Entrez le deuxième nombre : “)) b:18 - - -
while a != b: True ? ? ?
    if a > b: True ?
        a = a - b ?
    else:
        b = b - a /
print(“Le PGCD est : “ + str(a)) -

Exercice C - Factorielle

Écrire un programme qui demande à l’utilisateur de saisir un nombre, puis qui calcule (par multiplication) et afficher la factorielle (“!”) de ce nombre. Exemple :

Saisir un nombre : 5
5! = 120

La factorielle d’un nombre entier positif “n”, notée “n!”, est le produit de tous les entiers positifs de 1 à n ; exemple : 4! = 1x2x3x4 = 24.

Exercice D - Fibonacci

Écrire un programme qui demande à l’utilisateur de saisir le nombre de termes de la suite de Fibonacci souhaités, puis qui les affiche. Exemple :

Saisir le nombre de termes : 12
0 1 1 2 3 5 8 13 21 34 55 89

La suite de Fibonacci est une série de nombres dans laquelle chaque nombre est la somme des deux précédents, en commençant par 0 et 1. Ainsi, la suite commence par: 0 1 1 (0+1) 2 (1+1) 3 (1+2)… Cette suite est étroitement liée au nombre d’or (1,6180…), qui peut être obtenu par calcul du rapport entre le dernier terme et l’avant-dernier terme ; 89/55 par exemple.

Exercice E - Course de l’Amiral

La course de l’Amiral est une course de pirogue (Va’a) qui a lieu chaque année entre le parc Aorai et la pointe de Vénus à Tahiti.

Écrire un programme qui demande à l’utilisateur de saisir un par un les temps de parcours des pirogues, puis qui calcule et affiche le temps moyen. Exemple :

Saisir le temps réalisé : 45
Saisir le temps réalisé : 43
Saisir le temps réalisé : 52
Saisir le temps réalisé : 53
Saisir le temps réalisé : -1
Temps moyen : 48 minutes 15 secondes

Comme on ne sait pas à l’avance combien de pirogues participent à la course, l’utilisateur saisit -1 (temps impossible à réaliser) pour arrêter la saisie.

Exercice F - Nombre mystérieux

Compléter le programme suivant qui propose à l’utilisateur de jouer au nombre mystérieux.

from random import randint

nb_myst = randint(1, 100) #tire au hasard un nombre (entier) entre 1 et 100.
print("J'ai choisi un nombre entre 1 et 100.")
print("Tu dois essayer de le deviner en 10 essais maximum")
print("Si tu te trompes, je te dirai si c'est plus ou moins.")

Exemple :

Essai n°1 : 50
C'est moins !
…
Essai n°6 : 10
C'est plus !
Essai n°7 : 11
Bravo: tu as trouvé !

Exercice G - BlackJack

Dans cette version simplifiée du BlackJack, au lieu de cartes, on tire un dé de six faces.

L’objectif pour le joueur est, en cumulant les résultats de plusieurs lancés de dé, d’obtenir 21, ou la valeur la plus proche possible, mais sans la dépasser. A partir d’un total de 16, l’utilisateur doit décider s’il relance le dé ou non (il peut relancer plusieurs fois - par exemple s’il tire des 1).

Le croupier (ordinateur) tire au hasard un nombre entre 16 et 21 (pour simuler l’équivalent de plusieurs lancés de dé, sachant que le croupier ne prend pas de risques - il ne relance pas le dé s’il risque de dépasser 21).

Le joueur gagne s’il fait 21 ou au moins autant que le croupier. Exemple :

Vous venez de faire un 4 pour un total de 4
Vous venez de faire un 1 pour un total de 5
Vous venez de faire un 2 pour un total de 7
Vous venez de faire un 2 pour un total de 9
Vous venez de faire un 5 pour un total de 14
Vous venez de faire un 2 pour un total de 16
Voulez-vous relancer le dé [o/n] ? o
Vous venez de faire un 3 pour un total de 19
Voulez-vous relancer le dé [o/n] ? o
Vous venez de faire un 2 pour un total de 21
Résultat : vous = 21  - croupier = 19
Vous avez gagné !

Exercice G - Table de multiplication

Écrire un programme qui affiche la table de multiplication en utilisant deux boucles imbriquées ; exemple :

  1  2  3  4  5  6  7  8  9
1 1  2  3  4  5  6  7  8  9
2 2  4  6  8 10 12 14 16 18
3 3  6  9 12 15 18 21 24 27
4 4  8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
8 8 16 24 32 40 48 56 64 72
9 9 18 27 36 45 54 63 72 81