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:
xxxxxxxxxx41for i in range(3): # on répète trois fois2 print(i) # cette instruction3 print("hello") # et cette instruction 4print("on est sorti du for")xxxxxxxxxx7102hello314hello526hello7on 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 rangepour modifier la valeur de départ et le pas:
xxxxxxxxxx61range(0,3) # valeur initiale (inclue): 0 ; valeur maximale (exclue): 3 ; pas: 1 ; résultat: ( 0 ; 1 ; 2 )2 # = range(3)34range(1,3) # valeur initiale (inclue): 1 ; valeur maximale (exclue): 3 ; pas: 1 ; résultat: ( 1 ; 2 )56range(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)
xxxxxxxxxx71# Ecrire votre programme ici:234567
Ecrire un programme qui demande à l'utilisateur un nombre entier et affiche tous ses diviseurs.
Rappel: l'opérationa % bdonne le reste de la division euclidienne de a par b
xxxxxxxxxx71# Ecrire votre programme ici:234567
Voici un exemple de boucle non bornée:
xxxxxxxxxx51i = 02while i < 3: # tant que la condition (i < 3) est réalisée3 print(i) # on exécute cette instruction4 i = i + 1 # et cette instruction 5print("on est sorti du while")xxxxxxxxxx41021324on est sorti du while
Les instructions dans le while sont exécutée tant que la condition du whileest évaluée à True.
Donc:
Ensuite, i=3 donc (i < 3) n'est plus vérifiée donc on ne rentre pas dans le whileet 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.
xxxxxxxxxx71# Ecrire votre programme ici:234567
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
xxxxxxxxxx71# Ecrire votre programme ici:234567