algo

advertisement
Bases d’algorithmique
Christophe ROSSIGNOL∗
Année scolaire 2015/2016
Table des matières
1 Un peu de vocabulaire
2
1.1
Qu’est-ce qu’un algorithme ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Variable, affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2 Des structures importantes
3
2.1
l’instruction conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
La boucle itérative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Liste des algorithmes
1
2
3
4
5
6
∗ Ce
Image par une fonction . . . . . .
Triangle rectangle en C . . . . .
Image par une fonction en tenant
Jeu de Pile ou Face . . . . . . . .
Table de multiplication . . . . . .
Calcul d’une somme d’entiers . .
. . . . . .
. . . . . .
compte de
. . . . . .
. . . . . .
. . . . . .
. . . . . . . .
. . . . . . . .
l’ensemble de
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . .
. . . . . .
définition
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
cours est placé sous licence Creative Commons BY-SA http://creativecommons.org/licenses/by-sa/2.0/fr/
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
4
5
5
6
en préliminaire :
Activités : Activité 1 1 et 2 2 page 10 [TransMath]
1
Un peu de vocabulaire
1.1
Qu’est-ce qu’un algorithme ?
Définition : Un algorithme est une suite finie d’opérations élémentaires, à appliquer dans un ordre déterminé, à des données. Sa réalisation permet de résoudre un problème donné.
Exemples : suivre une recette de cuisine, suivre un plan, faire une division euclidienne à la main sont des
exemples d’algorithme.
Remarques :
1. Un algorithme doit être lisible de tous. Son intérêt, c’est d’être codé dans un langage informatique
afin qu’une machine (ordinateur, calculatrice, etc.) puisse l’exécuter rapidement et efficacement.
2. Les trois phases d’un algorithme sont, dans l’ordre :
(a) l’entrée des données
(b) le traitement des données
(c) la sortie des résultats
Exercices : 1, 3, 4, 5, 6, 8 page 11 3 [TransMath]
1.2
Variable, affectation
Activités : Activité 1 4 et 2 5 page 12 [TransMath]
Définition : Lors de l’exécution d’un algorithme, on va avoir besoin de stocker des données, voire des
résultats. Pour cela, on utilise des variables.
On attribue un nom à chaque variable.
Remarques :
1. Une variable est comme une boîte, repérée par un nom, qui va contenir une information. Pour utiliser
le contenu de cette boîte, il suffit de l’appeler par son nom.
2. Dans l’écriture d’un algorithme, on prendra l’habitude de préciser des le départ le nom des variables
utilisées en indiquant leur type (nombre, chaîne de caractère, liste, etc.). Cette étape est appelée
déclaration des variables.
Définition : Les instructions de base sur des variables sont les suivantes :
— la saisie : on demande à l’utilisateur de l’algorithme de donner une valeur à la variable ;
— l’affectation : le concepteur de l’algorithme donne une valeur à la variable. Cette valeur peut-être le
résultat d’un calcul ;
— l’affichage : on affiche la valeur de la variable.
Exemple : L’algorithme 1 est un exemple d’algorithme calculant l’image d’un réel x par la fonction f :
x → 3x2 − 2x + 1.
Remarques :
1. Dans l’algorithme 1, l’utilisateur saisit la variable x, alors que la variable y est affectée au cours du
traitement.
2. On suivra toujours la structure de l’algorithme 1 lors de l’écriture d’algorithmes.
Exercices : 9, 10, 11 page 12 6 – 13, 14 page 13 7 [TransMath]
1.
2.
3.
4.
5.
6.
7.
Labyrinthe.
Drôle de monstre.
Premiers algorithmes.
Programme de calcul.
Tracés dans un repère.
Premiers algorithmes.
Premières utilisations d’Algobox.
2
Algorithme 1 Image par une fonction
Variables :
x, y : nombres réels
Entrée :
Saisir x
Traitement :
y reçoit 3x2 − 2x + 1
Sortie :
Afficher y
2
Des structures importantes
2.1
l’instruction conditionnelle
Activités : Activité 1 8 et 2 9 page 14 [TransMath]
Définition : La résolution des certains problèmes nécessite la mise en place d’un test pour savoir si l’on
doit effectuer une tâche.
Si la condition est remplie alors on effectue la tâche, sinon on effectue (éventuellement) une autre tâche.
Dans un algorithme, on code la structure du « Si... Alors.. Sinon » sous la forme suivante :
Si condition
Alors
Tâche 1
Tâche 2
...
Sinon
Tâche 1bis
Tâche 2bis
...
Fin Si
Remarques :
1. Il est important de respecter les espaces laissés au début de chaque ligne, car ils permettent une
meilleure lisibilité de l’algorithme.
2. Le « Sinon » n’est pas obligatoire. S’il n’est pas présent, aucune tâche ne sera effectué si la condition
n’est pas remplie.
Exemples :
1. L’algorithme 2 permet de déterminer si un triangle ABC est rectangle en C.
2. L’algorithme 3 est un exemple d’algorithme calculant l’image d’un réel x par la fonction f : x →
en respectant son ensemble de définition.
x+1
x−1
3. L’algorithme 4simule un jeu de pile ou face avec une pièce non truquée. « Pile » est représenté par le
nombre 0 et « Face » par le nombre 1.
Exercices : 18, 19, 20, 21 page 15 10 – 16, 17 page 15 11 [TransMath]
8.
9.
10.
11.
Mettre en évidence des conditions.
Théorème de Pythagore
Instructions conditionnelles.
Cas où il y a plus de deux choix possibles.
3
Algorithme 2 Triangle rectangle en C
Variables :
AB, AC, AB, x, y : nombres réels
Entrée :
Afficher « Entrer la valeur de AB »
Saisir AB
Afficher « Entrer la valeur de AC »
Saisir AC
Afficher « Entrer la valeur de BC »
Saisir BC
Traitement :
x reçoit AB2
y reçoit AC2+BC2
Si x = y
Alors
Afficher « Le triangle ABC est rectangle en C »
Sinon
Afficher « Le triangle ABC n’est pas rectangle en C »
Fin Si
Algorithme 3 Image par une fonction en tenant compte de l’ensemble de définition
Variables :
x, y : nombres réels
Entrée :
Saisir x
Traitement :
Si x 6= 1
Alors
y reçoit (x + 1) / (x − 1)
Afficher y
Sinon
Afficher « La valeur choisie n’est pas dans l’ensemble de définition »
Fin Si
4
Algorithme 4 Jeu de Pile ou Face
Variables :
choix, tirage : nombres réels
Entrée :
Saisir choix
tirage reçoit un nombre au hasard choisit dans l’ensemble {0 ; 1}
Traitement :
Si choix =tirage
Alors
Afficher « Gagné ! »
Sinon
Afficher « Perdu ! »
Fin Si
2.2
La boucle itérative
Activités : Activité 1 12 et 2 13 page 16 [TransMath]
Définition : Lorsque l’on doit répéter un nombre de fois connu à l’avance la même tâche, on utilise une
boucle itérative de la forme « Pour.. allant de... à ».
Dans un algorithme, cette structure est codée de la façon suivante :
Pour variable allant de valeur_depart à valeur_fin faire
tâche 1
tâche 2
...
Fin pour
La variable utilisée dans la boucle est appelée compteur. À chaque passage dans la boucle, sa valeur est
automatiquement augmentée de 1.
Exemples :
1. L’algorithme 5 affiche la table de multiplication (de 0 à 10) d’un nombre entier donné.
Algorithme 5 Table de multiplication
Variables :
n, m, i : nombres entiers
Entrée :
Saisir n
Traitement :
Pour i allant de 0 à 10 faire
m reçoit n × i
Afficher n ,« x », i, « = », m
Fin Pour
2. L’algorithme 6 affiche la somme de tous les entiers jusqu’à un entier donné.
Exercices : 23, 24, 26 page 17 14 – 27, 28 page 17 15 [TransMath]
12.
13.
14.
15.
Transmettre une information.
Composer une table.
Boucles itératives.
Utilisation du langage Tortue.
5
Algorithme 6 Calcul d’une somme d’entiers
Variables :
S , i, n : nombres entiers
Entrée :
Saisir n
S reçoit 0
Traitement :
Pour i allant de 1 à n faire
S reçoit S + i
Fin Pour
Sortie :
Afficher S
Références
[TransMath] Transmath Seconde, Nathan (édition 2010).
2, 3, 5
6
Téléchargement