1. La structure conditionnelles
25
Les structures alternatives
Définition
Elle exprime le choix entre deux séquences d’action en
fonction de la valeur d’une condition ou expression logique
2. Exercice 1
26
Cet algorithme est destiné à prédire l'avenir
Il lira au clavier l’heure et les minutes, et il affichera l’heure qu’il
sera une minute plus tard. Par exemple, si l'utilisateur tape 21
puis 32, l'algorithme doit répondre :
"Dans une minute, il sera 21 heure(s) 33".
NB : on suppose que l'utilisateur entre une heure valide. Pas
besoin donc de la vérifier.
3. Exercice 2 :
27
Un magasin de reprographie facture 0,10 E les dix
premières photocopies, 0,09 E les vingt suivantes et 0,08 E
au-delà. Ecrivez un algorithme qui demande à l’utilisateur le
nombre de photocopies effectuées et qui affiche la facture
correspondante.
5. Structure conditionnelle à choix
multiple
29
C’est une structure qui permet de choisir un choix parmi
plusieurs cheminements proposés.
6. Structure conditionnelle à choix
multiple
30
Syntaxe :
Selon ( expression entière ou caractère )
Cas choix1 : instruction1 ;
cas choix2 : instruction2 ;
...
cas choixN : instructionN ;
[autrement instruction]
Finselon
7. Exemple : Calcul d’une facture
31
Ecrire un algorithme qui calcule le prix toute taxe comprise
(PTTC) d’un article, à partir du prix total hors taxe (PTHT)
et selon le code de laTVA .
10. Les structures répétitives
34
Les structures répétitives sont utilisées lorsque nous avons une
instruction ou un bloc d’instructions qui se répètent un certain
nombre de fois .
En algorithmique, nous disposons de trois structures
Tant que ……………….Faire ……
Répéter ………………Jusqu’à ….
Pour ………………..Faire ………
11. Structure POUR
35
Cette structure permet une répétition d’instructions, le
NOMBRE DES RÉPÉTITIONS étant CONNU avant la première
exécution.
Une variable va servir de test pour l'exécution de la boucle. Cette
variable est initialisée au démarrage de la boucle puis évolue, de
façon automatique, après chaque itération.
14. Exercice 1
38
Ecrire l’algorithme qui permet de calculer S:
S=1+1/2+1/3+1/4+……………….+1/n
15. Exercice 2
39
Ecrire un algorithme qui demande un nombre de départ, et
qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 !, vaut
1 x 2 x 3 x 4 x 5 x 6 x 7 x 8
16. Exercice 3
40
Ecrire un algorithme qui demande un nombre de départ, et
qui calcule la somme des entiers jusqu’à ce nombre. Par
exemple, si l’on entre 5, le programme doit calculer :
1 + 2 + 3 + 4 + 5 = 15
NB : on souhaite afficher uniquement le résultat, pas la
décomposition du calcul.
18. Structure TANT QUE
42
Cette structure permet de répéter un groupe d’instructions, le
NOMBRE DES RÉPÉTITIONS étant INCONNU avant la
première exécution de la boucle.
La condition doit être remplie pour que les instructions soient
exécutées (y compris la première fois) : ce type de condition est
appelé CONDITION DE CONTINUATION.
19. Syntaxe
43
Tant Que < condition de continuation > FAIRE
Instructions à exécuter si la condition est remplie
FinTant Que
20. Exemple :
44
Ecrire un algorithme qui demande un nombre compris entre
10 et 20, jusqu’à ce que la réponse convienne. En cas de
réponse supérieure à 20, on fera apparaître un message :
« Plus petit ! », et inversement, « Plus grand ! » si le nombre
est inférieur à 10.
21. Structure RÉPÉTER
45
Cette structure permet de répéter un groupe d’instructions, le
NOMBRE DES RÉPÉTITIONS étant INCONNU avant la
première exécution de l’action concernée. Cette boucle sera
exécutée AU MOINS UNE FOIS car la condition est posée à la fin
de la boucle.
L'exécution cesse lorsque la condition est remplie. Cette
condition est donc appelée CRITÈRE D’ARRÊT.
23. Exemple :
47
Ecrire un algorithme qui demande à l’utilisateur un nombre
compris entre 1 et 3 jusqu’à ce que la réponse convienne.
24. 48
Algorithme nombre_verifier ;
Variable i : entier ;
Debut
Repeter
Ecrire (‘donner un nombre compris entre 1 et 3 :‘) ;
Lire(i) ;
Jusque ( i>=1 et i<=3 ) ;
Fin.
25. Les tableaux
02/03/2015
49
Supposons que nous avons besoin de calculer la moyenne de 12
notes d’un étudiant.
la seule solution dont nous disposons consiste à déclarer douze
variables, appelées par exemple: X1, X2, X3,…X12.
La première étape est de lire les valeurs de toute ces variables une
par une, ce qui nous fait douze instructions de lecture et après
calculer la moyenne par l’instruction:
Moy ← (X1+X2+X3+X4+X5+NX6+X7+X8+X9+X10+X11+X12)/12
26. Les tableaux(suite)
02/03/2015
50
C’est pourquoi l’algorithmique (la programmation) nous permet
de rassembler toutes ces variables en une seule, au sein de
laquelle chaque valeur sera désignée par un numéro.
Un ensemble de valeurs portant le même nom de variable et repérées par
un nombre, s’appelle un tableau, ou encore une variable indicée.
Le nombre qui, au sein d’un tableau, sert à repérer chaque valeur s’appelle
l’indice.
Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le
nom du tableau, suivi de l’indice de l’élément, entre parenthèses.
Ex: Nom_tableau(5)
27. Les tableaux(suite)
02/03/2015
51
Notation et utilisation algorithmique
Dans notre exemple, nous créerons donc un tableau appelé Note.
Tableau Note(12) : Entier
On peut créer des tableaux contenant des variables de tous types :
tableaux de numériques, tableaux de caractères, tableaux de
booléens, tableaux de tout ce qui existe dans un langage donné
comme type de variables.
L’énorme avantage des tableaux, c’est qu’on va pouvoir les traiter en
faisant des boucles.
28. Les tableaux(suite)
02/03/2015
52
Notation et utilisation algorithmique
Tableau Note(12) : Entier
Variables i, Som : Entier
Variable Moy : Réel
Pour i ← 0 à 11
Ecrire (“Entrez la note n°”, i)
Lire( Note(i))
FPour
Som ← 0
Pour i ← 0 à 11
Som = Som + Note(i)
Fpour
Moy = Som / 12
29. Les tableaux(suite)
02/03/2015
53
Remarque générale : l’indice qui sert à désigner les
éléments d’un tableau peut être exprimé directement
comme un nombre en clair, mais il peut être aussi une
variable, ou une expression calculée.
La valeur d’un indice doit toujours :
être égale au moins à 0 (dans quelques rares langages, le premier
élément d’un tableau porte l’indice 1). Mais nous avons choisi ici de
commencer la numérotation des indices à zéro, comme c’est le cas
en langage C.
être un nombre entier. Quel que soit le langage.
être inférieure ou égale au nombre d’éléments du tableau
(moins 1, si l’on commence la numérotation à zéro).
30. Exercices
02/03/2015
54
Écrire un algorithme qui déclare et remplisse un tableau de 7
valeurs numériques en les mettant toutes à zéro.
Écrire un algorithme qui déclare et remplisse un tableau
contenant les six voyelles de l’alphabet latin.
On saisit des entiers et on les range dans un tableau (maximum
50) Écrire un programme qui affiche le maximum, le minimum
et la valeur moyenne de ces nombres.
31. Exercices
02/03/2015
55
Écrivez un algorithme permettant à l’utilisateur de saisir un
nombre quelconque de valeurs, qui devront être stockées dans
un tableau. L’utilisateur doit donc commencer par entrer le
nombre de valeurs qu’il compte saisir. Il effectuera ensuite cette
saisie. Enfin, une fois la saisie terminée, le programme affichera
le nombre de valeurs négatives et le nombre de valeurs positives.
32. Exercices
02/03/2015
56
Que produit l’algorithme suivant ?
Tableau Nb(6) : Entier
Variable i en Entier
Début
Pour i ← 0 à 5
Nb(i) ← i * i
FPour
Pour i ← 0 à 5
Écrire Nb(i)
FPour
Fin
Peut-on simplifier cet algorithme avec le même résultat ?
33. Exercices
02/03/2015
57
Que produit l’algorithme suivant ?
Tableau N(7) en Entier
Variables i, k en Entier
Début
N(0) ← 1
Pour k ← 1 à 6
N(k) ← N(k-1) + 2
FPour
Pour i ← 0 à 6
Ecrire N(i)
FPour
Fin
Peut-on simplifier cet algorithme avec le même résultat ?
34. Organigramme
02/03/2015
58
Définition
un organigramme est la représentation schématique qui permet de
faire apparaître d’une façon claire et logique l’enchaînement des
différentes opérations.
Les symboles utilisés pour construire un organigramme
Symbole général traitement
Symbole début-fin-interruption
Symbole embranchement(choix)
Symbole commentaire
Les lignes de
liaison
40. Notions de sous-algorithme
02/03/2015
64
Définition
Un sous-algorithme est un élément d’algorithme nommé et
éventuellement paramétré que l’on définit afin de pouvoir
ensuite l’appeler par son nom en affectant, s’il y a lieu, des
valeurs aux paramètres.
Intérêt :
Réaliser un découpage d’une tâche en sous-tâche.
Effectuer une seule description d’une tâche commune
Concevoir une application de manière descendante en entrant de plus en
plus dans les détails
Structure : un sous-algorithme est composé
D’une tête nom sous-algorithme, paramètres(arguments) avec leur type
D’un corps des déclarations d’objets locaux aux sous-algorithme,
instructions à exécuter
41. Notions de sous-algorithme
02/03/2015
65
Sous-algorithme Nom(liste des paramètres)
déclarations des variables locales
Début
Corps du sous-algorihtme
Fin
Algorithme Nom
Déclaration des variables
Début
Instructions
Appel du sous-algorithme
Instructions
Fin
43. Procédures & Fonctions
02/03/2015
67
Fonctions
Syntaxe
Fonction nom_fonction(var:type;var:type):type
Variable interne;
Début fonction
Instructions;
Retourner variable;
Fin fonction
44. Procédure & Fonction
02/03/2015
68
Rep1,Rep2 : caractère
Fonction RepOuiNon() : caractères
variable Rep ← ""
TantQue Rep <> "Oui" et Rep <> "Non"
Ecrire( "Tapez Oui ou Non")
Lire (Rep)
FinTantQue
Renvoyer Rep
Fin
Début
Ecrire( "Etes-vous marié ?")
Rep1 ← RepOuiNon()
Ecrire( "Avez-vous des enfants ?" )
Rep2 ← RepOuiNon()
Fin