Algorithmique et structure de données I

publicité
Plan du cours
Algorithmique
et structure de données I
Les structures conditionnelles
Cours 2: Les structures conditionnelles et répétitives
La structure SI…alors
La structure Selon
Les structures répétitives ou itératives
La boucle POUR
La boucle Tant que
La boucle Répéter…jusqu’à
Dr. Jihène Tounsi
ISG de Sousse
Site web: http://www.jihenetounsi.com
Email: [email protected]
1
2
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.
La structure conditionnelle réduite
Si Vrai
Simple : une expression avec des opérateurs relationnels
Composée : plusieurs conditions simples reliées par des
3
<instruction>
….
<instruction>
Condition
Fin Si
Instruction n
Exécuter une portion du code dans un cas particulier
opérateurs logiques
Si (<expression relationnelle>) alors
Bloc d’instruction A
L’évaluation de la condition donne lieu à résultat de
type booléen.
La condition peut être:
Syntaxe
Instruction i
Exemple : x compris entre 2 et 6 : (x > 2) ET (x < 6)
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
La structure conditionnelle simple
Syntaxe
Instruction i
Si Vrai
Condition
Sinon
Bloc d’instruction B
Bloc d’instruction A
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
5
6
Application 2
Ecrire un algorithme Paire qui permet
de saisir un entier et d’afficher un message :
« entier pair » ou « entier impair ».
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
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
Fin Si
7
8
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
Application 3
Ecrire un algorithme Mention qui permet
d’afficher la mention d’un étudiant à partir
de sa moyenne.
Ecrire un algorithme Calculette qui permet d’afficher le
résultat d’une opération arithmétique (+, -, *, /).
Selon <variable>
(liste de) valeur(s) : instruction…
(liste de) valeur(s) : instructions…
…
[autres: instructions]
Fin Selon
9
10
Plan du cours
Les structures conditionnelles
P.S : à considérer le cas de deux entiers seulement.
Utiliser la structure SI
Utiliser la structure Selon
La structure SI…alors
La structure Selon
Les structures répétitives ou itératives
La boucle POUR
La boucle Tant que
La boucle Répéter…jusqu’à
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
11
12
La boucle Pour
La boucle Tant que
La boucle Répéter…jusqu’à
La structure POUR
La structure Pour
compteur ←Valeur initiale
Le compteur
n'a pas atteint la
Valeur finale
Vrai instructions
compteur ← compteur + pas
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 :
Faux
Syntaxe
Sortie de la boucle
Pour compteur de VI à VF pas=<entier>
<instruction>
….
<instruction>
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
Fin Pour
13
14
Application 4
La structure Tant que
Ecrire un algorithme Aléa qui permet d’afficher
10 nombres aléatoires dont les valeurs sont
entre 0 et 101.
Instruction
Ecrire un algorithme Factoriel qui permet d’afficher le
factoriel d’un nombre positif
Si pas positif Vinitiale+ pas
Si pas négatif Vinitiale - pas
Vrai
Condition
P.S : n! = n*n-1* n-2….* 2
Instruction
Fin tant que
Faux
15
Syntaxe
<Initialisation>
Tant que <condition>
<instruction>
….
<instruction>
<incrémentation>
16
La structure Tant que
La structure Tant que est utilisé quand:
Application 5
le nombre d’itérations est inconnu
Le bloc d’instructions dans la boucle peut ne jamais être exécuté
d’afficher le premier nombre entier N
tel que la somme de 1 à N dépasse
strictement 100
La sortie de la boucle Tant que se fait quand la condition est
fausse.
Ecrire un algorithme Somme qui permet
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
18
La structure Répéter…jusqu’à
La structure Répéter…jusqu’à
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 Vrai.
Syntaxe
<Initialisation>
instructions
Répéter
Faux
condition
<instruction>
….
<instruction>
<incrémentation>
Jusqu’à <condition>
Vrai
19
20
Application 6
Ecrire un algorithme Positif qui permet
de saisir un entier positif entre 0 et 50
Choix de la boucle à utiliser
Utilisation de la boucle POUR
Utilisation de la boucle TANT QUE
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
23
P.S : L’utilisateur saisit les opérations une par une et le calcul
s’arrête lorsque l’utilisateur entre (=).
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
Si le nombre d’itération est connu à l’avance.
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.
Téléchargement