Telechargé par Fradi Sirine

Les structures

publicité
Algorithmique
et structure de données I
Cours 2: Les structures conditionnelles et répétitives
Dr. Ahlem Baccouche
Dr. Jihène Tounsi
ISG de Sousse
Email: [email protected]
1
Plan du cours
Les structures conditionnelles



La structure SI…alors
La structure Selon
Les structures répétitives ou itératives




2
La boucle POUR
La boucle Tant que
La boucle Répéter…tant que
La structure conditionnelle
Le code écrit séquentiellement peut être interrompue
par une condition.
La condition permet d’accéder à une portion du code qui
ne peut être exécutée que si et seulement si la condition
est Vraie.


L’évaluation de la condition donne lieu à résultat de
type booléen.
La condition peut être:




Simple : une expression avec des opérateurs relationnels
Composée : plusieurs conditions simples reliées par des
opérateurs logiques

3
Exemple : x compris entre 2 et 6 : (x > 2) ET (x < 6)
La structure conditionnelle réduite
Syntaxe
Instruction i
Si Vrai
Si (<expression relationnelle>) alors
<instruction>
….
<instruction>
Condition
Bloc d’instruction A
Fin Si
Instruction n
Exécuter une portion du code dans un cas particulier



4
Si la condition est Vraie alors exécuter bloc A
Si la condition est fausse passer au reste du programme
Application 1
Ecrire un algorithme Absolue qui permet
d’afficher la valeur absolue d’un entier.
P.S: sans utiliser la fonction prédéfinie ABS

5
La structure conditionnelle simple
Syntaxe
Instruction i
Si Vrai
Bloc d’instruction A
Condition
Sinon
Bloc d’instruction B
Si (<expression relationnelle>) alors
<instruction>
….
<instruction>
Sinon
<instruction>
….
<instruction>
Instruction n
Fin Si
Choix d’un chemin entre deux alternatives au niveau d’une portion du
code



6
Si la condition est Vraie alors exécuter bloc A
L’ordinateur = Machine
Si la condition est fausse exécuter bloc B
= ne fais que ce qu’on lui dis de faire
Application 2
Ecrire un algorithme Paire qui permet
de saisir un entier et d’afficher un message :
« entier pair » ou « entier impair ».

7
La structure conditionnelle imbriquée
Imbrication de plusieurs structure SI…alors…Sinon
Fermeture de la dernière structure ouverte jusqu’à arriver à la
première
L’imbrication se fait au niveau du Si et / ou du sinon



Exemple de Syntaxe
Si (<condition>) alors
<instruction>
….
<instruction>
Sinon
Si (<condition>) alors
<instruction>
….
<instruction>
Sinon
<instruction>…
Fin Si
8
Fin Si
La structure à choix multiple
La structure est utile quand on dépasse les 2 choix.
Une seule condition ou liste des valeurs est exécutée.


Syntaxe
Selon <variable>
(liste de) valeur(s) : instruction…
(liste de) valeur(s) : instructions…
…
[autres: instructions]
Fin Selon
9
Application 3

Ecrire un algorithme Mention qui permet
d’afficher la mention d’un étudiant à partir
de sa moyenne. Les Mentions sont : Redoublant
Passable, Assez bien, Bien, Très bien et Excellent

Ecrire un algorithme Calculette qui permet d’afficher
le résultat d’une opération arithmétique (+, -, *, /).



10
P.S : à considérer le cas de deux entiers seulement.
Utiliser la structure SI
Utiliser la structure Selon
Plan du cours

Les structures conditionnelles



La structure SI…alors
La structure Selon
Les structures répétitives ou itératives



11
La boucle POUR
La boucle Tant que
La boucle Répéter…tant que
Les structures itératives ou répétitives



Les structures itératives ou répétitives servent à exécuter
plusieurs fois un bloc d’instructions.
Une structure itérative est appelée aussi une boucle.
Il existe deux types de boucle

La boucle avec un nombre d’itération connu


La boucle à condition avec un nombre d’itération non connu à
l’avance


12
La boucle Pour
La boucle Tant que
La boucle Répéter…jusqu’à
La structure POUR
compteur ←Valeur initiale
Le compteur
n'a pas atteint la
Valeur finale
Vrai instructions
compteur ← compteur + pas
Faux
Syntaxe
Sortie de la boucle
Pour compteur de VI à VF pas=<entier>
<instruction>
….
<instruction>
Fin Pour
13
La structure Pour


La sortie de la boucle Pour se fait quand le nombre
d’itérations est atteint
La structure de la boucle est composée de :




Un compteur de type entier (ou caractère) qui doit être
déclaré avant de l’utiliser.
La valeur initiale, qui est un entier ou un caractère, représente
la valeur de départ du compteur.
La valeur finale, qui est un entier ou un caractère, représente la
valeur d’arrêt du compteur.
Le pas de variation est un entier qui peut être positif ou négatif


14
Si pas positif  Vinitiale+ pas
Si pas négatif  Vinitiale - pas
Application 4

Ecrire un algorithme Aléa qui permet d’afficher
10 nombres aléatoires dont les valeurs sont
entre 0 et 101.

Ecrire un algorithme Factoriel qui permet d’afficher le
factoriel d’un nombre positif

15
P.S : n! = n*n-1* n-2….* 2
La structure Tant que
Instruction
Syntaxe
Vrai
Condition
Instruction
<Initialisation>
Tant que <condition>
<instruction>
….
<instruction>
<incrémentation>
Fin tant que
Faux
16
La structure Tant que

La structure Tant que est utilisé quand:



le nombre d’itérations est inconnu
Le bloc d’instructions dans la boucle peut ne jamais être exécuté
La sortie de la boucle Tant que se fait quand la condition est
fausse.

Risque de boucle infinie si la condition est mal posée ou si le point
d’arrêt n’est pas clairement établi

L’initialisation de la condition sert à obtenir le premier
élément

L’incrémentation se fait généralement à la fin des instructions
afin d’obtenir l’élément suivant.
17
Application 5

Ecrire un algorithme Somme qui permet
d’afficher le premier nombre entier N
tel que la somme de 1 à N dépasse
strictement 100
18
La structure Répéter…tant que
Syntaxe
<Initialisation>
instructions
condition
faux
19
Répéter
vrai
<instruction>
….
<instruction>
<incrémentation>
Tant que<condition>
La structure Répéter…tant que

Contrairement à Tant que, la boucle Répéter s’exécute au
moins une fois.

On exécute les instructions puis on vérifie la condition.

La boucle s’arrête quand la condition retourne faux.
20
Application 6

Ecrire un algorithme Positif qui permet
de saisir un entier positif entre 0 et 50

Ecrire un algorithme Lettre permettant de saisir une
lettre et de l’afficher en majuscule.

Réécrire l’algorithme Calculette qui permet d’afficher le
résultat de plusieurs opérations arithmétique (+, -, *, /).

21
P.S : L’utilisateur saisit les opérations une par une et le calcul
s’arrête lorsque l’utilisateur entre (=).
Choix de la boucle à utiliser

Utilisation de la boucle POUR


Utilisation de la boucle TANT QUE



Si le nombre d’itération est connu à l’avance.
Si le nombre d’itération est inconnu à l’avance.
Le bloc d’instruction de la boucle s’exécute que si la condition est
Vraie.
Utilisation de la boucle REPETER



22
Si nous avons besoin de contrôler la saisie de données, on utilise la
boucle REPETER.
Si le nombre d’itération est inconnu à l’avance.
Le bloc d’instruction de la boucle s’exécute au moins une fois avant
la vérification de la condition d’arrêt.
23
Téléchargement