Algorithmes
Algorithmes
Algorithmes
attendre 8 mn
Pierre Huguet
égoutter et servir
qu’un attendre 8 mn
• Définition Wikipedia
• Un algorithme est une suite finie et non ambiguë d’opérations ou
d'instructions permettant de résoudre un problème ou d'obtenir un
résultat
QU’EST-CE QU’UN ALGORITHME ?
• Un algorithme est similaire à une recette.
QU’EST-CE QU’UN ALGORITHME ?
• Un algorithme est similaire à une recette.
mettre la casserole d’eau sur le feu
• Pour cuire des pâtes :
• mettre la casserole sur le feu.
QU’EST-CE QU’UN ALGORITHME ?
• Un algorithme est similaire à une recette.
mettre la casserole d’eau sur le feu
• Pour cuire des pates :
• mettre la casserole sur le feu. Est-ce que non
• est-ce que l’eau bout ? l’eau bout ?
Caractéristiques
et structure
d’un algorithme
Pierre Huguet
CARACTÉRISTIQUES ET STRUCTURE D’UN ALGORITHME
• Un algorithme doit être précis.
mettre la casserole d’eau sur le feu
• Problème ?
Chéri a fait ce qui lui a été demandé …
mais une douzaine de quoi ?
l’algorithme est ambigu, non ?
UN ALGORITHME DOIT ÊTRE PRÉCIS
• Attention à l’ambiguïté :
•“Chéri, va chercher une boite de lentilles au supermarché
et tant que tu y es prends des œufs."
• et Chéri …
UN ALGORITHME DOIT ÊTRE PRÉCIS
• Attention à l’ambiguïté :
•“Chéri, va chercher une boite de lentilles au supermarché
et tant que tu y es prends des œufs."
• et Chéri n’est jamais revenu …
UN ALGORITHME DOIT ÊTRE PRÉCIS
• Attention à l’ambiguïté :
•“Chéri, va chercher une boite de lentilles au supermarché
et tant que tu y es prends des oeufs."
• et Chéri n’est jamais revenu …
• Problème ?
Chéri a fait ce qui lui a été demandé …
"tant qu’il y était" il a continué à prendre des œufs …
Boucle infinie …
POINTS CLEFS SUR LES ALGORITHMES
Séquence
BASE DES ALGORITHMES : STRUCTURES DE CONTRÔLE
non oui
?
faire : … Faire : …
Séquence Sélection
ou condition
(Branchement conditionnel)
BASE DES ALGORITHMES : STRUCTURES DE CONTRÔLE
non oui
?
faire : … Faire : … Test ?
oui
non
non Test ?
oui
Répétition
(Boucle)
POINTS CLEFS SUR LES ALGORITHMES
• Un algorithme doit être précis.
• Un algorithme est défini pas-à pas (séquence) :
• Chaque pas ou étape doit être précis et faisable.
écrire
ou décrire
un algorithme
Pierre Huguet
DES ALGORITHMES TOUS LES JOURS ...
ECRIRE OU DÉCRIRE UN ALGORITHME
• Les algorithmes peuvent être exprimés en langage naturel :
• pour faire des pâtes, mettre de l‘eau dans une casserole,
portez à ébullition, puis ajoutez …
à vous de jouer
Pseudo-code niveau 9
Répéter jusqu’à arrivée
si chemin devant
avancer
si
EXERCICE : SOLUTION DE L’ALGORITHME DE SORTIE N9
Blockly maze, niveau 9 :
https://blockly.games/maze?lang=fr&level=9 Pseudo-code niveau 9
Problème à traiter et Instructions disponibles Répéter jusqu’à arrivée
si chemin devant
avancer
si chemin à gauche
tourner à gauche
Pseudo-code niveau 9
Pseudo-code niveau 9
Pseudo-code niveau 9
oui non
Arrivée ?
sinon
si chemin devant
sinon
si chemin à droite
tourner à droite
sinon
tourner à droite
tourner à droite
avancer
EXERCICE : SOLUTION DE L’ALGORITHME DE SORTIE N10
Blockly maze, niveau 10 :
https://blockly.games/maze?lang=fr&level=10
avancer
4
variables et
procédures
dans un algorithme
Pierre Huguet
VARIABLES
• Est-ce que l’algorithme des pâtes peut
s’adapter au goût des personnes en faisant mettre la casserole d’eau sur le feu
varier le temps de cuisson ?
oui Est-ce que non
l’eau bout ?
attendre 8 mn
égoutter et servir
s’adapter au goût des personnes en faisant mettre la casserole d’eau sur le feu
varier le temps de cuisson ?
oui Est-ce que non
l’eau bout ?
attendre 8temps
mn cuisson
égoutter et servir
s’adapter au goût des personnes en faisant mettre la casserole d’eau sur le feu
varier le temps de cuisson ?
• Au début de l’algorithme oui Est-ce que
l’eau bout ?
non
attendre 8temps
mn cuisson
égoutter et servir
s’adapter au goût des personnes en faisant mettre la casserole d’eau sur le feu
varier le temps de cuisson ?
• Au début de l’algorithme oui Est-ce que
l’eau bout ?
non
égoutter et servir
s’adapter au goût des personnes en faisant mettre la casserole d’eau sur le feu
varier le temps de cuisson ?
• Au début de l’algorithme oui Est-ce que
l’eau bout ?
non
égoutter et servir
s’adapter au goût des personnes en faisant mettre la casserole d’eau sur le feu
varier le temps de cuisson ?
• Au début de l’algorithme oui Est-ce que
l’eau bout ?
non
égoutter et servir
s’adapter au goût des personnes en faisant mettre la casserole d’eau sur le feu
varier le temps de cuisson ?
• Au début de l’algorithme oui Est-ce que
l’eau bout ?
non
attendre 8temps
mn cuisson
égoutter et servir
attendre 8temps
mn cuisson
égoutter et servir
mettre la casserole
mettre les pâtes dans la
d’eau sur le feu Attendrex20
2s
casserole
Prendre casserole
attendre 8temps
mn cuisson
Poser sous robinet
Ouvrir eau
Attendre jusqu’à 1 litre égoutter et servir
Poser sur la plaque
etc..
mettre la casserole
mettre les pâtes dans la
d’eau sur le feu Attendrex20
2s
casserole
Prendre casserole
attendre 8temps
mn cuisson
Poser sous robinet
Ouvrir eau
Attendre jusqu’à 1 litre égoutter et servir
Poser sur la plaque
etc..
mettre la casserole
mettre les pâtes dans la
d’eau sur le feu Attendrex20
2s
• Puis appeler cette procédure casserole
mettre la casserole
mettre les pâtes dans la
d’eau sur le feu Attendrex20
2s
• Puis appeler cette procédure casserole
mettre la casserole
mettre les pâtes dans la
d’eau sur le feu Attendrex20
2s
• Puis appeler cette procédure casserole
oui non
Arrivée ?
avancer
INTRODUCTION AUX PROCÉDURES : EXEMPLE DU LABYRINTHE N10
Blockly maze, niveau 10 : https://blockly.games/maze?lang=fr&level=10
oui non
Arrivée ?
avancer
INTRODUCTION AUX PROCÉDURES : EXEMPLE DU LABYRINTHE N10
Blockly maze, niveau 10 : https://blockly.games/maze?lang=fr&level=10
orienter
oui Chemin à non orienter
gauche ?
avancer
avancer
INTRODUCTION AUX PROCÉDURES : EXEMPLE DU LABYRINTHE N10
Blockly maze, niveau 10 : https://blockly.games/maze?lang=fr&level=10
orienter
oui Chemin à non orienter
gauche ?
avancer
orienter
oui Chemin non
oui Chemin à non devant ?
gauche ?
oui Chemin à non
oui Chemin non
devant ? droite ?
orienter
oui Chemin à non orienter
gauche ?
avancer
avancer
orienter