CONSEILS POUR L'ECRITURE D'UN ALGORITHME BTS SIO 1 Septembre 2011
La lisibilité des algorithmes est un critère de qualité .
Un algorithme correct mais indéchiffrable ne sera pas utilisé.
.I. Structure de l’algorithme.
Un algorithme" papier" comporte trois parties :
Partie1. Un en-tête :
Ce peut être un rectangle ou un cartouche .
( Avec ALGOBOX ce cartouche figure automatiquement à l'écran. )
Il ne faut pas "bacler" cette partie en pensant que l'algorithme
est pour soi.
Au contraire il faut penser à la personne qui aura à l'utiliser.
Elle doit comprendre: ( Dans le cartouche )
------------------------------------------------------------------------------------------------------------
• Le titre :
Il doit permettre de comprendre ce que fait l’algorithme.
• Le rôle de l’algorithme.
• L’indication des données d'entrée et de sortie.
------------------------------------------------------------------------------------------------------------
De nombreux algorithmes ont pour but de communiquer
avec un utilisateur : question-réponse.
Cela se fait donc dans les deux sens, les ENTREES sont des
informations fournies par l’utilisateur, les SORTIES sont des envois
de messages à l’utilisateur .
Partie 2. La déclaration de variables.( Selon le type de langage )
Noms des variables, avec leur type.
Selon les langages la déclaration se fait de façon préalable ( ALGOBOX)
ou beaucoup plus discrètement en indiquant une valeur prise
par la variable ( PYTHON ).
Partie 2. Les instructions :
C'est le "corps de l’algorithme", cette partie contient une succession
d’instructions en utilisant le code propre au langage considéré.
.II. Les commentaires
Des commentaires peuvent être ajoutés, notamment pour préciser
le rôle des variables et d’éventuelles indications méthodologiques.
Ils permettent d'identifier plus aisément les différentes parties du programme.
# x est la longueur du rectangle ABCD.
Ils aident à la compréhension des techniques employées et
précisent les rôles des variables dont les noms ne suffisent pas.
Il ne faut cependant ne pas en abuser car ils peuvent rendre,
au contraire, très pénible la lecture de l'algorithme.
III. Les noms de variables
Les noms de variables ne peuvent pas comporter d'espace et
ne peuvent pas commencer par un chiffre.
D'une façon générale, on utilise seulement les caractères alphanumériques
non accentués et le tiret de soulignement _ .
La lisibilité d'un algorithme étant fondamentale, il est important
de choisir des noms de variable reflétant le rôle joué par la variable
en question.
Il faut être homogène dans l’utilisation des minuscules et majuscules.
Par exemple voici quelques noms de variable valides :
K
Jour
Resultat_00
NbreValeurs
Nom_Ville
IV. Indentation ( TRES IMPORTANT )
On n'écrit pas un algorithme, comme en français, en retournant à la ligne.
Il y a des conventions.
Pour faire "tourner " un algorithme , le code doit être correctement indenté.
En langage Python une mauvaise indentation bloque l'éxécution de l'algorithme.
Par exemple après un double point comme " : "
le retour à la ligne se fait en se décalant vers la droite...
• Exemple sous Python:
def fonctionf(x):
..... y =x**2
...................
est une indentation correcte
( Le y de y =x**2 est en dessous du f qui est la première lettre qui suit def )
Cela signifie que y =x2 c-à-d f : x →x2
Par contre:
y =x**2
.................................
est une indentation incorrecte
Il y aura un message d'erreur
-------------------------------------------------------------------------------------------------------------------------------------------
Exemple_tests_imbriques
-------------------------------------------------------------------------------------------------
Rôle:
Afficher si la personne peut voter, conduire, seule
ou accompagnée.
Entrée :
Age de la personne ( pas ^sur les caractères ).
Sortie :
Affichage de la possibilité de voter, de conduire,
de conduire seul ou accompagné.
---------------------------------------------------------------------------------------------------------------
VARIABLE: ( Déclaration selon le langage )
Entier : Age
Booléen : Voter Chaîne : Conducteur
DEBUT_ALGORITHME
Afficher "Quel est votre âge ? "
Saisir Age
Si Age ≥ 18 Alors
Voter ← Vrai
Conducteur ←"possible seul"
Sinon
Voter ←Faux
Si Age ≥ 16 Alors
Conducteur ←"possible accompagné"
Sinon
Conducteur ← "impossible"
Fin Si
Fin Si
FIN_ALGORITHME
-----------------------------------------------------------------
Algorithme :
Exemple_tests_non_imbriques
-----------------------------------------------------------------------------------------------------
Même cartouche.
Rôle :
Afficher si la personne peut voter, conduire,
seule ou accompagnée.
Entrée :
Age de la personne.
Sortie :
Affichage de la possibilité de voter, de conduire,
de conduire seul ou accompagné.
----------------------------------------------------------------------------------------------------
Variables :
Entier : Age
Booléen : Voter Chaîne : Conducteur
DEBUT_ALGORITHME
Afficher "Quel est votre âge ? "
Saisir Age
Si Age ≥ 18 Alors
Voter ← Vrai
Conducteur ←"possible seul"
Sinon
Voter ←Faux
Fin Si
Si Age ≥ 16 Alors
Conducteur ←"possible accompagné"
Sinon
Conducteur ← "impossible"
Fin Si
FIN_ALGORITHME
Algorithme : Exemple_tests_imbriques
rôle : afficher si la personne peut voter, conduire, seule ou accompagnée
Entrée : âge de la personne
Sortie : affichage de la possibilité de voter, de conduire, de conduire seul ou accompagné
Variables :
Entier : Age
Booléen : Voter Chaîne : Conducteur
Début
Afficher "Quel est votre âge ? "
Saisir Age
Si Age ≥ 18 Alors
Voter ← Vrai
Conducteur ←"possible seul" Sinon
Fin Si Fin
Voter ←Faux
Si Age ≥ 16 Alors
Conducteur ←"possible accompagné" Sinon
Conducteur ← "impossible" Fin Si