MatheX – Licence CC BY-NC-SA 4.0 - https://www.mathexien.com
Objectifs:
- Introduire Python pour les élèves de 2nd
- Synthétiser les connaissances en programmation pour les élèves de 2nd et de 1ère spé Maths
- Mettre en place des fondamentaux sur Python en début de 1ère spé NSI
Méthodologie:
Lire l'activité
Réaliser les missions en programmant sur un environnement de développement:
- en ligne ( notebook, repl.it, pythontutor , ...)
- installé sur votre ordinateur ( idle de Python, Thonny, Pycharm Community, ...)
Visionner la vidéo de l'épisode pour plus d'explications et pour la correction
Objectifs:
- Introduire le concept de boucle bornée et non bornée
- Programmer des boucles bornées et non bornées
On a souvent besoin dans un programme de répéter l'exécution d'instructions, on utilise pour cela des boucles.
Si on connait à l'avance le nombre de répétitions, on utilise une boucle bornée, en Python avec l'instruction for
Si on ne connait pas à l'avance le nombre de répétitions, on utilise une boucle non bornée, en Python avec l'instruction while
Voici un exemple de boucle bornée:
xxxxxxxxxx
41for i in range(3): # on répète trois fois
2 print(i) # cette instruction
3 print("hello") # et cette instruction
4print("on est sorti du for")
xxxxxxxxxx
710
2hello
31
4hello
52
6hello
7on est sorti du for
L'itérateur i
va prendre à chaque tour de boucle une valeur de l'ensemble range(3)
L'ensemble range(3)
est un ensemble ordonné de 3 entiers, commençant par 0 et avec un pas de 1 soit: ( 0 ; 1 ; 2 )
Donc:
Ensuite, comme l'itérateur a parcouru tout l'ensemble, on sort de la boucle et on passe à la suite du programme le cas échéant.
On peut aussi mettre d'autres paramètres au range
pour modifier la valeur de départ et le pas:
xxxxxxxxxx
61range(0,3) # valeur initiale (inclue): 0 ; valeur maximale (exclue): 3 ; pas: 1 ; résultat: ( 0 ; 1 ; 2 )
2 # = range(3)
3
4range(1,3) # valeur initiale (inclue): 1 ; valeur maximale (exclue): 3 ; pas: 1 ; résultat: ( 1 ; 2 )
5
6range(1,7,2) # valeur initiale (inclue): 1 ; valeur maximale (exclue): 7 ; pas: 2 ; résultat: ( 1 ; 3 ; 5 )
Ecrire un programme qui demande à l'utilisateur un nombre entier n puis affiche n fois votre nom (chacun sur une ligne)
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7
Ecrire un programme qui demande à l'utilisateur un nombre entier et affiche tous ses diviseurs.
Rappel: l'opérationa % b
donne le reste de la division euclidienne de a par b
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7
Voici un exemple de boucle non bornée:
xxxxxxxxxx
51i = 0
2while i < 3: # tant que la condition (i < 3) est réalisée
3 print(i) # on exécute cette instruction
4 i = i + 1 # et cette instruction
5print("on est sorti du while")
xxxxxxxxxx
410
21
32
4on est sorti du while
Les instructions dans le while
sont exécutée tant que la condition du while
est évaluée à True
.
Donc:
Ensuite, i=3 donc (i < 3) n'est plus vérifiée donc on ne rentre pas dans le while
et on passe à la suite du programme le cas échéant.
On reprend la mission 4.1 mais cette fois-ci, on utilisera une boucle non bornée.
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7
Programmez un jeu où l'utilisateur doit trouver un nombre entier défini par votre programme.
Quand l'utilisateur saisie un nombre:
- si ce n'est pas le bon nombre:
- le programme indique à l'utilisateur si le bon nombre est plus grand ou plus petit
- redemande à l'utilisateur de saisir un nombre
- si c'est le bon nombre
- le programme affiche un message de félicitation
- le programme se termine
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7