Vous êtes sur la page 1sur 5

Niveau 2ème Sciences

Scenario 5
Objectifs :
 Savoir utiliser la structure de contrôle itérative complète
 Savoir exécuter à la main et comprendre un algorithme donné
 Savoir la différence entre les structures de contrôle conditionnelles et les structures
de contrôle itératives
 Apprendre à programmer en Python
Activité 1 : Pensée et logique
1) Ecrire la suite d’instructions algorithmiques permettant d’afficher 3 fois le mot
″Bonjour″
Réponse :
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
2) Ecrire la suite d’instructions algorithmiques permettant d’afficher 20 fois le mot
″Bonjour″
Réponse :
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
Constatations :
……………………………………………………………………………………………….
……………………………………………………………………………………………….

→ On a besoin donc d’une structure itérative dont on connaît le nombre de


répétitions dès le début : appelée structure de contrôle itérative complète connue aussi par
la boucle Pour…..Faire….
3) Par la suite on vous propose plusieurs solutions incomplètes à la question 2 et on vous
demande de les compléter

Solution1 Solution2
Pour i de …. à 20 faire Pour i de 0 à …. faire
Ecrire (″Bonjour″) Ecrire (″Bonjour″)
FinPour FinPour

Solution3 Solution4
Pour i de 2 à …. faire Pour i de 20 à … (pas =-1) faire
Ecrire (″Bonjour″) Ecrire (″Bonjour″)
FinPour FinPour

1
Niveau 2ème Sciences

Notez Bien :
 On utilise une structure de contrôle itérative complète si on connaît le nombre de
répétitions dès le début
 Vocabulaire et syntaxe :
 Parcours croissant
Au niveau de l’algorithme Au niveau de Python
Pour compteur de Vi à Vf (pas=val_pas) faire for compteur in range (Vi, Vf +1, pas=val_pas) :
Traitement Traitement
FinPour

 Parcours décroissant
Au niveau de l’algorithme Au niveau de Python

Pour compteur de Vi à Vf (pas= val_pas) faire for compteur in range (Vi, Vf -1, pas= val_pas) :
Traitement Traitement
FinPour

 Le compteur en algorithmique est une variable de type entier, caractère ou booléen,


en python est une variable de type entier
 Vi = valeur initiale du compteur
 Vf = valeur finale du compteur
 Vi et Vf peuvent être des constantes, des expressions ou des variables de même type
ou de type compatible avec le type du compteur
 val_pas= valeur du pas, par défaut elle est égale à 1
 Dans le parcours croissant le pas est un entier ≥1
 Dans le parcours décroissant le pas est un entier ≤-1
 En algorithmique, cette boucle est arrêtée lorsque la valeur du compteur sera >V f, si le
parcours est croissant sinon elle est arrêtée lorsque la valeur du compteur sera <Vf
 En python, cette boucle est arrêtée lorsque la valeur du compteur sera ≥Vf +1, si le
parcours est croissant sinon elle est arrêtée lorsque la valeur du compteur sera ≤V f -1
 L’initialisation et l’incrémentation du compteur sont automatiques dans le parcours
croissant :
compteur  Vi (initialisation)
compteur  compteur + 1 (incrémentation)
 L’initialisation et la décrémentation du compteur sont automatiques dans le parcours
décroissant :
compteur  Vi (initialisation)
compteur  compteur - 1 (décrémentation)

2
Niveau 2ème Sciences

Activité 2 : Exécution à la main


Soit la séquence algorithmique suivante :
S 0
Pour i de 1 à n faire
S S + i
FinPour
Questions:
a) Dans chaque cas ci-dessous, on vous demande d’exécuter à la main cette séquence
étant donné la valeur de n :
1) n= 4 valeur finale de S =………
2) n= 6 valeur finale de S=………
b) Donner le rôle de cette séquence : ……………………………………………………...
……………………………………………………………………………………………
Activité 3 : Mathématique et algorithme
Dans chaque cas ci-dessous on vous demande d’écrire la suite d’instructions
algorithmiques permettent de calculer l’expression correspondante :
1) S1= 1+1/2+1/3+1/4+……………+1/n ( n est un entier >0)
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
…………………………………………………….............................

2) S2= 1+3+5+7+……………+n ( n est un entier impair >0)


……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
…………………………………………………….............................
……………………………………………………………………….
……………………………………………………………………….
…………………………………………………….............................

3) P= 1*2*3*4*…………*n ( n est un entier >0)


……………………………………………………………………….
……………………………………………………………………….
……………………………………………………………………….
……………………………………………………....................
Activité 4 : Nombre de voyelles
Ecrire un algorithme et un programme en Python du problème qui permet de saisir
une chaîne de caractères ch, calculer et afficher le nombre de voyelles figurant dans ch.
Exemple :
Donnée : Résultat
ch= "Ba2I ;uA" nombre de voyelles =4

3
Niveau 2ème Sciences

Algorithme solution du problème :


…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
Activité 5 : Inverse d’une chaîne de caractères
1) Ecrire un algorithme et un programme en Python du problème qui permet de saisir
une chaîne de caractères ch, inverser ses caractères et afficher le résultat obtenu.
Exemple :
Donnée : Résultat
ch= "tulaS" nouvelle chaîne = Salut
Algorithme solution du problème :
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
2) Apporter les modifications nécessaires à l’algorithme précédent ainsi que le
programme python obtenu pour qu’il puisse lire un entier positif X , inverser ses
chiffres et afficher le nouveau nombre obtenu.
Algorithme solution du problème :
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….
…………………………………………….

4
Niveau 2ème Sciences

Activité 6 : Un peu de mélange


Ecrire un algorithme et un programme en Python du problème qui permet de :
1) Saisir une chaîne des caractères ch (on suppose que ch ne contient que des lettres et des
chiffres)
2) Former à partir de ch les variables ci-dessous :
* ch1 : résultat de la concaténation des lettres figurant dans ch.
* S : la somme des chiffres figurant dans ch
3) Afficher ch1 et S
Exemple :
Donnée : Résultat
ch= "Ba2c94" ch1= Bac S= 15
Activité 7 : Jouons un peu
Ecrire un programme Python qui permet de simuler le jeu suivant :
Principe de jeu :
1) Le joueur 1 (l’utilisateur) va saisir un chiffre positif
2) Ajouter ce chiffre à la variable S1 et afficher S1
3) Le joueur 2 (l’ordinateur) va saisir d’une façon aléatoire un chiffre positif
4) Ajouter ce chiffre à la variable S2 et afficher S2
5) Répéter 5 fois les étapes précédentes
6) Afficher le joueur gagnant, sachant qu’un joueur est gagnant si sa somme est > à la
somme de l’autre joueur, si S1= S2 le message ″Partie Nulle ″ sera affiché
Exemple :
****** Tournée 1 ******
Donner un chiffre: 2
Somme joueur1= 2
Somme joueur2= 0
****** Tournée 2 ******
Donner un chiffre: 8
Somme joueur1= 10
Somme joueur2= 7
****** Tournée 3 ******
Donner un chiffre: 2
Somme joueur1= 12
Somme joueur2= 10
****** Tournée 4 ******
Donner un chiffre: 7
Somme joueur1= 19
Somme joueur2= 17
****** Tournée 5 ******
Donner un chiffre: 3
Somme joueur1= 22
Somme joueur2= 17
Bravo, joueur1 gagnant

Vous aimerez peut-être aussi