10
N
ot
i
ons
d
e
b
ase
1. Qu’est-ce qu’un algorithme ?
Remarque : Un algorithme peut prendre en entrée une ou plusieurs valeurs, et donner en sortie une ou plusieurs valeurs,
en réponse au problème.
Remarque : La lisibilité d’un algorithme est très importante : lorsqu’on rédige un algorithme, il faut toujours avoir à l’idée
que toute personne ne l’ayant pas conçu doit être capable de comprendre comment il s’exécute, et à quel problème il répond.
2. Instructions élémentaires
Exemple : ; on affecte la valeur 2 à la variable a.
; on affecte à la variable b le contenu de la variable a auquel on ajoute 3, c’est-à-dire 5.
Remarque : Lorsqu’on souhaite entrer plusieurs variables, on les sépare par des virgules.
Exemple : Entrer . À l’exécution de l’algorithme, l’utilisateur saisira deux valeurs. La première sera stockée dans
la variable a, la deuxième dans la variable b.
Remarque : Lorsqu’on souhaite afficher plusieurs variables, on les sépare par des virgules.
Lorsqu’on souhaite afficher du texte, on le place entre des guillemets « … ».
Exemple : Afficher .
Définition
Un algorithme est une succession d’instructions à enchaîner dans un ordre bien précis,
permettant de résoudre un problème de façon systématique. Il est écrit dans un langage
compréhensible par tous.
Construction d’un algorithme
Un problème posé est décomposé en une succession de problèmes plus simples, jusqu’à obtenir
une succession d’instructions élémentaires, par exemple de type suivant :
– affecter une valeur ; entrer une valeur ; afficher une valeur ;
– additionner, soustraire, multiplier, diviser deux valeurs ;
– comparer deux valeurs.
Pour relier les différentes instructions élémentaires, on peut utiliser :
– une condition : Si … alors, Si … alors … sinon.
–une boucle, c’est-à-dire une répétition d’un certain nombre d’actions : Pour … faire, Tant que … faire.
Affectation
Il s’agit d’affecter une valeur à une variable, valeur qui peut être de plusieurs types : numérique
(entier ou réel), alphanumérique (texte), booléen (vrai ou faux).
Syntaxe : ; on affecte la valeur à la variable .
Entrée d’une valeur
Au moment de l’exécution de l’algorithme, l’utilisateur affecte une valeur à une variable. Lors du
fonctionnement de l’algorithme, celui-ci s’arrête à cette instruction et ne se poursuit que lorsque
l’utilisateur a entré une valeur.
Syntaxe : ; lorsque l’utilisateur a entré une valeur, celle-ci est stockée dans la
variable .
Affichage d’une valeur
Il s’agit d’afficher la valeur d’une variable. Syntaxe : .
var valval var
a2
ba3
Entrer var()
var
a b
Afficher var()
« La valeur de x est » , x
(
)
t
h
o
d
e
Rédaction d’un algorithme
Afin qu’un algorithme puisse être compréhensible pour tout lecteur qui le découvre, il doit être rédigé de
façon claire et selon quelques règles.
Un algorithme comporte deux parties : la déclaration des variables et le corps de l’algorithme.
Remarques :
1. Cette partie est facultative, mais rend l’algorithme plus compréhensible.
2. Lorsque l’algorithme a été exécuté, les valeurs des variables ne sont pas conservées pour les exécutions suivantes.
Conseils :
1. Cette partie s’écrit une fois l’algorithme mis en place pour être sûr de n’avoir oublié aucune variable.
2. On essayera le plus possible de choisir des noms « adaptés » pour les variables.
Conseils :
Une fois l’algorithme écrit, on le teste à la main en le faisant fonctionner avec quelques valeurs pour éventuellement le
corriger. On doit se poser les deux questions suivantes :
– Le résultat est-il bien celui que l’on attend ?
– L’algorithme s’arrête-t-il ? (on dit : l’algorithme se termine-t-il ?).
Si la réponse est positive à ces deux questions, on dit que l’algorithme est correct.
Quelques règles pour rédiger la déclaration des variables
• La déclaration des variables est introduite par le terme « Variables ».
• Les variables utilisées dans l’algorithme sont accompagnées par leur type (entier (relatif), réel, texte ou booléen (vrai ou
faux). Le nom des variables est séparé de leur type par deux points.
• Si plusieurs variables sont de même type, on les déclare sur la même ligne en les séparant par une virgule.
• Chaque déclaration se termine par un point-virgule et un passage à la ligne.
Quelques règles pour rédiger le corps de l’algorithme
Le corps de l’algorithme comprend la suite des instructions à exécuter. Celui-ci débute par « Début » et se termine par
«Fi.
Chaque instruction se termine par un point-virgule et un passage à la ligne.
Pour plus de lisibilité, on utilise des retraits gauches en alignant les instructions de même niveau.
Applications
1. Calculer l’image d’un réel par la fonction définie sur
par : .
Voici un algorithme possible :
2. Calculer la moyenne arithmétique des notes
de deux devoirs.
Voici un algorithme possible :
Algorithme CalculImage
Variables :
, : réels ;
Début
Afficher ;
Entrer ;
;
Afficher L’image de est » , ;
Fin.
Algorithme Moyenne
Variables :
note1, note2, m: réels ;
Début
;
;
Afficher La moyenne est » , ;
Fin.
f
fx() x25+=
xy
« Entrer la valeur de x »()
x()
yx25
«(xy)
Entrer note1 , note2()
mnote1 note2
()2
«(m)
12
N
ot
i
ons
d
e
b
ase
3. Instructions conditionnelles
Exemple : L’algorithme ci-contre renvoie le signe du nombre entré.
Quelques compléments
On peut demander que deux ou plusieurs conditions soient réali-
sées simultanément en utilisant la syntaxe et .
Exemple : Si et alors
Afficher (« appartient à ]0 ; 3[ ») ; FinSi ;
On peut demander qu’une condition (au moins) parmi plusieurs soit
réalisée en utilisant la syntaxe ou .
Les tests peuvent être imbriqués les uns dans les autres.
4. Boucles et itérations
Vocabulaire : i s’appelle le compteur, la suite d’instructions Actionsis’appelle suite d’itérations.
Condition
Si
… alors
Syntaxe : Si proposition alors ActionsSi ; FinSi ;
proposition est de type booléen (vrai ou faux) ;
ActionsSi est une instruction élémentaire ou une succession d’instructions élémentaires.
Si la proposition est vraie, l’algorithme effectue ActionsSi puis passe à la suite de l'algorithme.
Dans le cas contraire, il passe directement à la suite de l’algorithme.
Condition
Si
… alors … sinon
Syntaxe : Si proposition alors ActionsSi ; sinon ActionsSinon ; FinSi ;
proposition est de type booléen (vrai ou faux) ;
ActionsSi et ActionsSinon sont des instructions ou des successions d’instructions élémentaires.
Si la proposition est vraie, l’algorithme effectue ActionsSi. Dans le cas contraire, il effectue
ActionsSinon. Ensuite, il passe à la suite de l’algorithme.
Boucle
Pour
… faire
Syntaxe : Pour i allant de début à fin faire
Actionsi;
FinPour ;
– début et fin sont deux entiers.
–i est une variable entière.
Actionsi est une instruction ou une succession d’instructions élémentaires, pouvant dépendre
de i (ou non).
Déroulement de la boucle
i prend la valeur début. On effectue Actionsdébut.
i augmente de 1 (on dit « s’incrémente de 1 »), on effectue donc Actionsi.
Puis i augmente encore de 1, on effectue alors de nouveau Actionsi.
Et ainsi de suite jusqu’à ce que i prenne la valeur fin, où l’on effectue pour la dernière fois
Actionsi. On passe alors à la suite de l’algorithme.
Algorithme Signe
Variables : : réels ;
Début
Entrer ;
alors
Afficher , « est positif ») ;
sinon Afficher ( , « est négatif ») ;
FinSi ;
Fin.
x
x()
Si x(0)
x(
x
x0>()x3<()
x
13
N
ot
i
ons
d
e
b
ase
Commentaires
–Si début > fin, aucune itération n’est réalisée.
– L’incrémentation du compteur se fait de façon automatique dans une boucle Pour … faire.
– Le nombre d’itérations est : fin début +1.
– L’utilisation de cette boucle présuppose que l’on connaisse le nombre d’itérations à faire.
Remarque
Une variante de la boucle Pour … faire consiste à décrémenter (c’est-à-dire à diminuer de 1) le compteur i. La syntaxe est
alors : Pour i descendant de début à fin faire … FinPour .
Exemple : Faire la somme des n premiers entiers non nuls.
L’algorithme suivant calcule la somme des premiers entiers non nuls :
Voir l’exercice résolu 1 pour le fonctionnement pas à pas.
Vocabulaire : la suite d’instructions ActionsTantQue s’appelle suite d’itérations.
Commentaires
– Le nombre d’itérations est a priori inconnu.
Il est indispensable qu’à un moment donné, l’une des instructions de Actions-
TantQue rende proposition fausse, sinon l’algorithme ne s’arrête jamais. On dit
alors que l’algorithme effectue une boucle infinie.
Exemple : Faire la somme des n premiers entiers non nuls.
(2e construction possible)
L’algorithme suivant calcule la somme des premiers entiers non nuls :
Commentaire
Une boucle « TantQue » dans laquelle on connaît le nombre d’itérations peut remplacer une boucle « Pour », comme dans
l’exemple ci-dessus : il suffit d’introduire un compteur. En revanche la réciproque est fausse ! (voir l’exercice résolu 2)
Boucle
Tant que
… faire
Syntaxe : Tant que proposition faire
ActionsTantQue ;
FinTantQue ;
proposition est de type booléen (vrai ou faux),
ActionsTantQue est une instruction élémentaire ou une succession d’instructions élémentaires.
Déroulement de la boucle
On teste la proposition. Si elle est vraie, on effectue ActionsTantQue. Puis on teste de nouveau
la proposition. Si elle est encore vraie, on effectue de nouveau ActionsTantQue. Et ainsi de
suite jusqu’à ce que la proposition soit fausse, auquel cas on passe à la suite de l’algorithme.
Algorithme SommeEntiers
Variables : : entiers ;
Début
Entrer ;
;
Pour i allant de 1 à n faire
;
FinPour ;
Afficher (S)
Fin.
niS
n()
S0
SSi
L’algorithme calcule de proche en proche
cette somme et l’affecte à S
Phase d’initialisation
Algorithme SommeEntiersBis
Variables : : entiers ;
Début
Entrer ;
;
;
TantQue in faire
;
;
FinTantQue ;
Afficher (S)
Fin.
niS
n()
S0
i1
SSi
ii1
L’instruction incrémente le compteur i.
L’oubli de cette instruction serait dramatique : i serait bloqué à
la valeur 1, et la proposition « in» serait toujours vraie :
l’algorithme tournerait indéfiniment !
ii1
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !