Cours_MIP_S1_algo1_python_S2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 29

Structures de contrôle : conditionnelles et répétitives

Informatique 1(Algorithme 1/Python)

Youness MADANI

Université Sultan Moulay Slimane


Faculté Polydisciplinaire

INFORMATIQUE (MIP)

2 octobre 2023

1/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Outline

1 Structures de contrôle : conditionnelles et répétitives

2/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

Les structures de contrôle conditionnelles et répétitives sont des éléments


fondamentaux de l’algorithmique et de la programmation.
Elles permettent de créer des algorithmes capables de prendre des décisions en
fonction de conditions spécifiques et de répéter des instructions tant qu’une
certaine condition est remplie.
Les structures conditionnelles permettent d’exécuter un ensemble
d’instructions uniquement si une condition donnée est vraie. Voici quelques
concepts importants relatifs aux structures conditionnelles en algorithmique :

3/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles


La structure Si ... Alors ... FinSi
L’instruction ”Si” est la structure conditionnelle de base en algorithmique. Elle
permet d’exécuter un bloc de code si une condition spécifiée est vraie.
Nous utilisons cette structure lorsqu’on souhaite exécuter une instruction
uniquement en présence d’une condition vraie, sans effectuer aucune action si la
condition est fausse.
Une condition est une expression logique ou une variable logique évaluée à Vrai
ou Faux.

Algorithm 1 SI ... ALORS .... FINSI


Variables x : Entier
Début
si x > 10 alors
Ecrire(”x est supérieur à 10”)
finsi
Fin

4/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

La structure Si ... Alors ...Sinon .... FinSi

L’instruction ”Sinon” est utilisée pour exécuter un autre bloc de code si la condition
spécifiée dans ”Si” est fausse.
La condition est vérifiée. Si elle se révèle être vraie, alors la séquence
d’instructions1 est exécutée, tandis que la séquence d’instructions2 est omise. La
machine passera directement à la première instruction après le ”FinSi”.
De la même manière, si la condition s’avère fausse (a la valeur ”Faux”), la
machine sautera directement à la première ligne après le ”Sinon” et exécutera la
séquence d’instructions2.

5/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

La structure Si ... Alors ...Sinon .... FinSi

Algorithm 2 SI ... ALORS ....Sinon... FINSI


Variables x : Entier
Début
Ecrire (”entrer la valeur de x”)
Lire (x)
si x > 10 alors
Ecrire(”x est supérieur à 10”)
sinon
Ecrire(”x n’est pas supérieur à 10”)
finsi
Fin

6/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

La structure Si ... Alors ...Sinon .... FinSi


Exemple : Vérifier si un nombre entier est pair ou impair

Algorithm 3 Pair ou impair


Variables nombre : Entier
Début
Ecrire(”entrer un nombre entier : ”)
Lire(nombre)
si nombre % 2 = 0 alors
Ecrire(nombre, ”est un nombre pair”)
sinon
Ecrire(nombre, ”est un nombre impair”)
finsi
Fin

7/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

La structure Si ... Alors ...Sinon .... FinSi


Cet algorithme fonctionne comme suit :
L’utilisateur est invité à saisir un nombre entier.
Le nombre est stocké dans la variable ”nombre”.
On vérifie si le nombre est divisible par 2 (c’est-à-dire s’il est pair) en utilisant
l’opérateur de modulo (%). Si le reste de la division par 2 est égal à zéro, alors le
nombre est pair, sinon, il est impair.
En fonction du résultat de la condition, l’algorithme affiche ”Le nombre est pair” ou
”Le nombre est impair”.

8/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

La structure SI ... Alors ... SinonSI ... Sinon ... FinSi

L’exécution dépend de la condition qui est évaluée comme vraie. Si aucune


condition n’est vérifiée comme vraie, alors l’exécution se fera sur l’instruction
suivant immédiatement le ”Sinon”.
L’instruction ”Sinon Si” est utilisée pour traiter plusieurs conditions en cascade. Si
la première condition n’est pas vraie, elle vérifie la condition suivante, et ainsi de
suite.

9/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

La structure SI ... Alors ... SinonSI ... Sinon ... FinSi

Algorithm 4 SI ... Alors ... SinonSI ... Sinon ... FinSi


Variables x : Entier
Début
Ecrire (”entrer la valeur de x”)
Lire (x)
si x > 10 alors
Ecrire(”x est supérieur à 10”)
sinon si x < 10 alors
Ecrire(”x est inférieur à 10”)
sinon
Ecrire(”x est égal à 10”)
finsi
Fin

10/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

La structure SI ... Alors ... SinonSI ... Sinon ... FinSi


Ecrire un algorithme qui permet d’afficher le maximum parmi deux nombres saisis
au clavier.

Algorithm 5 Trouver le max


Variables A, B : Entier
Début
Ecrire(”Entrer la valeur de A : ”)
Lire(A)
Ecrire(”Entrer la valeur de B : ”)
Lire(B)
si A > B alors
Ecrire(”Le maximum est ”,A)
sinon si A < B alors
Ecrire(”Le maximum est ”,B)
sinon
Ecrire(”égalité”)
finsi
Fin

11/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

Les conditions composées


Les conditions composées sont des expressions conditionnelles qui combinent
plusieurs conditions simples pour former une condition plus complexe.
Ces conditions composées sont généralement utilisées pour prendre des
décisions en fonction de plusieurs critères simultanément.
Par exemple : la condition ”x est inclus dans l’intervalle ]10, 20 [” est composée
de deux conditions simples qui sont : ”x est supérieur à 10” et ”x est inférieur à 20”
reliées par l’opérateur logique Et.
Les opérateurs logiques couramment utilisés pour créer des conditions
composées sont : l’opérateur ET, l’opérateur OU et l’opérateur NON

12/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles

Les conditions composées


Exemple : Affiche un message en fonction de la note entrée

Algorithm 6 Affiche un message en fonction de la note entrée


Variables note : réel
Début
Ecrire(”Entrer la note : ”)
Lire(note)
si note >= 10 alors
Ecrire(”Validé”)
sinon si note < 10 ET note >= 5 alors
Ecrire(”Rattrapage”)
sinon
Ecrire(”Non Validé”)
finsi
Fin

13/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles


Structure à choix multiples
Cette structure conditionnelle est utilisée lorsque vous avez plusieurs valeurs
possibles pour une variable et que vous souhaitez exécuter différents blocs de
code en fonction de la valeur de la variable.
Cette structure est généralement plus efficace que les instructions ”Sinon Si” pour
de nombreuses valeurs possibles.

14/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles


Structure à choix multiples
Exemple

15/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles


Structure à choix multiples
Cette structure conditionnelle est utilisée lorsque vous avez plusieurs valeurs
possibles pour une variable et que vous souhaitez exécuter différents blocs de
code en fonction de la valeur de la variable.
Cette structure est généralement plus efficace que les instructions ”Sinon Si” pour
de nombreuses valeurs possibles.

16/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : conditionnelles


Structure à choix multiples
Exemple

17/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

les structures répétitives, également appelées boucles, permettent d’exécuter un


ensemble d’instructions plusieurs fois.
Elles sont essentielles pour automatiser des tâches répétitives ou pour traiter des
données de manière itérative.
Une boucle est utilisée quand une instruction ou une liste d’instructions, doit être
répétée plusieurs fois. La répétition est soumise à une condition.
En algorithmique, il y a trois types de boucles :
• La boucle TantQue ... Faire
• La boucle Pour ... Faire
• La boucle Répéter . . . Jusqu’à

18/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

La boucle TantQue ... Faire


La boucle TantQue permet de répéter un traitement tant que la condition est vraie.
La boucle ”Tant que” permet d’exécuter un bloc de code tant qu’une condition
spécifique est vraie.
Tant que la condition reste vraie, le code à l’intérieur de la boucle est répété. Si la
condition devient fausse, la boucle s’arrête.

L’itération de la boucle est conditionnée par la valeur de la condition. Si celle-ci est


évaluée comme vraie, le programme exécute les instructions suivantes jusqu’à ce
qu’il atteigne la ligne ”FinTantQue”. Ensuite, il revient à la ligne ”TantQue”,
réévalue la condition, et répète le processus tant que la condition reste vraie, et
ainsi de suite.
La boucle continue à s’exécuter tant que la condition reste vraie, et elle
s’interrompt uniquement lorsque la condition devient fausse. Dans ce cas, le
programme reprend son exécution après la ligne ”FinTantQue”.

19/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives


La boucle TantQue ... Faire
Exemple : afficher les nombres de 1 à 5

Algorithm 7 afficher les nombres de 1 à 5


Variables i : entier
Début
i←1
tantque i <= 5 faire
Ecrire(i)
i←i+1
fin tantque
Fin

Nous initialisons la variable i à 1.


Ensuite, nous utilisons la boucle ”Tant que” pour répéter les instructions tant que
la condition (i <=5) est vraie. Cela signifie que tant que la valeur de i est
inférieure ou égale à 5, le bloc de code à l’intérieur de la boucle sera exécuté.
Dans chaque itération de la boucle, nous affichons la valeur de i (qui est le nombre
en cours de traitement) et incrémentons i de 1 pour passer au nombre suivant.
La boucle se poursuit jusqu’à ce que la condition (i ¡= 5) ne soit plus vraie,
c’est-à-dire lorsque i atteint la valeur 6. À ce moment-là, la boucle s’arrête.
20/29 Youness MADANI Cours : Module- Algorithme 1/Python
Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

La boucle TantQue ... Faire : Boucle infinie

Algorithm 8 Boucle infinie


Variables i : entier
Début
i←1
tantque i <= 7 faire
Ecrire(”Hello MIP”)
fin tantque
Fin

Dans l’exemple donné, nous avons effectivement une boucle infinie. L’ordinateur
continuera indéfiniment à afficher le message ”Hello MIP” car la variable ”i”, qui
est testée dans la condition de la boucle, ne change pas sa valeur à l’intérieur de
la boucle, ce qui signifie que la condition reste toujours vraie.

21/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

La boucle Pour ... Faire


La boucle Pour . . . Faire permet de répéter une liste d’instructions un nombre
connu de fois.
Elle est souvent utilisée lorsque vous connaissez à l’avance le nombre d’itérations
nécessaires.

La variable ”compteur” est de type entier et est initialisée à une valeur initiale. À
chaque itération de la boucle, le compteur augmente automatiquement sa valeur
de un (1) jusqu’à atteindre la valeur finale.

Une fois que la variable ”compteur” atteint la valeur finale, le traitement est
effectué une dernière fois, puis le programme quitte la boucle.

22/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

La boucle Pour ... Faire


Exemple : un algorithme permettant de calculer la somme des dix premiers
nombres entiers.

Algorithm 9 somme des dix premiers nombres entiers


Variables i, S : entier
Début
S←0
pour i ← 1 jusqu’à 10 faire
S←S+i
fin pour
Ecrire(”La somme des dix premiers entiers est : ”, S)
Fin

23/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

La boucle Pour ... Faire


La variable ”compteur” est généralement incrémentée de 1 à chaque itération de
la boucle par défaut.
Pour modifier la valeur d’incrémentation dans une boucle ”Pour”, vous pouvez
ajouter le mot-clé ”Pas” (ou ”Step” en anglais) suivi de la valeur de ce pas.

24/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

La boucle Pour ... Faire


Exemple : un algorithme qui permet de saisir un nombre entier et qui calcule la
somme des entiers pairs jusqu’à ce nombre.

Algorithm 10 somme des dix premiers nombres entiers


Variables i, S, N : entier
Début
Ecrire (”Entrer la valeur de N : ”)
Lire (N)
S←0
pour i ← 0 jusqu’à N Pas 2 faire
S←S+i
fin pour
Ecrire(”(”La somme des nombres pairs est : ”, S)
Fin

25/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

La boucle Répéter . . . Jusqu’à


La boucle ”Répéter... Jusqu’à” exécute un bloc de code au moins une fois, puis
répète ce bloc tant qu’une condition spécifique est fausse.
Elle garantit qu’au moins une itération est effectuée.
Cette boucle sert à répéter une instruction jusqu’à ce qu’une condition soit vraie.

26/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

La boucle Répéter . . . Jusqu’à


Exemple : écrire un algorithme qui calcule la somme des N premiers nombres
entiers. On suppose que N est strictement positif.

Algorithm 11 somme des dix premiers nombres entiers


Variables i, S, N : entier
Début
Ecrire(”Entrer une valeur strictement positif : ”)
Lire(N)
S←0
i←1
répéter
S←S+i
i←i+1
jusqu’à i >= N
Ecrire(”La somme des ”,N,” premiers entiers est : ”, S)
Fin

27/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Structures de contrôle : répétitives

Les boucles ”Répéter” et ”TantQue” sont employées lorsque le nombre d’itérations


nécessaires n’est pas connu à l’avance. Ces boucles se basent sur des conditions
de sortie plutôt que sur un nombre précis d’itérations.
La boucle ”Répéter” diffère de la boucle ”TantQue” en ce sens qu’elle garantit au
moins une exécution, même si la condition initiale est fausse.
La condition qui met fin à la boucle ”Répéter” est l’inverse de la condition de
continuation de la boucle ”TantQue”.
On utilise la boucle  Pour  quand l’on connaı̂t le nombre d’itérations à l’avance.

28/29 Youness MADANI Cours : Module- Algorithme 1/Python


Structures de contrôle : conditionnelles et répétitives

Indentation

Certaines parties de l’algorithme ou du code sont en retrait par rapport à d’autres,


c’est ce qu’on appelle l’indentation. Celle-ci est très importante pour la lisibilité de
l’algorithme ou du programme. Elle montre rapidement le début et la fin de chaque
instruction alternative ou répétitive ainsi le début et la fin de l’algorithme ou du
programme.
De plus, pour faciliter la compréhension, toutes vos instructions doivent être
commentées. Un développeur est souvent amené à modifier un code, par
conséquent, des commentaires de qualité rendent cette tâche plus facile et plus
rapide.

29/29 Youness MADANI Cours : Module- Algorithme 1/Python

Vous aimerez peut-être aussi