Livre_silo 30 août 2013 16:32 Page 91
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
91
4 – Instructions : langage minimal de l’algorithmique
Deux bonnes habitudes sont à prendre très tôt, qui sont déterminantes pour la lisibilité d’un programme :
• choisir des noms de variables parlants ;
• ajouter des commentaires dans les programmes, autrement dit des lignes écrites en
langue naturelle que la machine ne cherche pas à interpréter comme des instructions et qui expliquent le rôle des différentes parties du programme.
Pour préciser qu’une ligne est un commentaire, on la fait précéder d’un symbole particulier. En Python, il s’agit d’un dièse #. Si l’on veut écrire un commentaire sur plusieurs lignes, il faut faire précéder chacune d’entre elles de ce symbole ou entourer
le commentaire de trois guillemets doubles """. Ces commentaires doivent donner
des informations supplémentaires sur le sens du programme. Inutile de commenter
en disant par exemple « ceci est une boucle » ; mieux vaut expliquer le rôle de cette
boucle.
Exercice 4.6 Le programme ci-dessous affiche l’équation réduite de la droite d’équation cartésienne
ax + by + c = 0. En proposer une version plus lisible et documentée.
if b == 0:
if a != 0:
print("x =", -c/a)
else:
m = -a/b
p = -c/b
print("y =", m, "x +", p)
Les variables m et p peuvent être renommées respectivement en pente et coefficient_directeur.
En revanche, les notations a, b et c sont très courantes pour les coefficients d’une équation cartésienne,
qui n’ont pas de nom particulier. On peut tout de même donner une indication sur ce que représentent les
variables correspondantes dans ce programme, sous forme d’un commentaire en début de programme.
Enfin, il peut être utile d’indiquer rapidement à quoi correspondent chacun des cas testés. On obtient le
programme suivant.
# a x + b y + c = 0 est l'équation cartésienne d'une droite
if b == 0:
# droite parallèle à l'axe des ordonnées
if a != 0:
# sinon ce n'est pas une droite
print("x =", -c/a)
else:
# cas général
pente = -a/b
coefficient_directeur = -c/b
print("y =", pente, "x +", coefficient_directeur)
Exercice 4.7 Que penser de ce qu’affiche le programme précédent dans les cas où la pente vaut 0 ou 1
et dans le cas où le coefficient directeur vaut 0 ?
Modifier ce programme pour qu’il produise un affichage plus agréable.
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
91
4 – Instructions : langage minimal de l’algorithmique
Deux bonnes habitudes sont à prendre très tôt, qui sont déterminantes pour la lisibilité d’un programme :
• choisir des noms de variables parlants ;
• ajouter des commentaires dans les programmes, autrement dit des lignes écrites en
langue naturelle que la machine ne cherche pas à interpréter comme des instructions et qui expliquent le rôle des différentes parties du programme.
Pour préciser qu’une ligne est un commentaire, on la fait précéder d’un symbole particulier. En Python, il s’agit d’un dièse #. Si l’on veut écrire un commentaire sur plusieurs lignes, il faut faire précéder chacune d’entre elles de ce symbole ou entourer
le commentaire de trois guillemets doubles """. Ces commentaires doivent donner
des informations supplémentaires sur le sens du programme. Inutile de commenter
en disant par exemple « ceci est une boucle » ; mieux vaut expliquer le rôle de cette
boucle.
Exercice 4.6 Le programme ci-dessous affiche l’équation réduite de la droite d’équation cartésienne
ax + by + c = 0. En proposer une version plus lisible et documentée.
if b == 0:
if a != 0:
print("x =", -c/a)
else:
m = -a/b
p = -c/b
print("y =", m, "x +", p)
Les variables m et p peuvent être renommées respectivement en pente et coefficient_directeur.
En revanche, les notations a, b et c sont très courantes pour les coefficients d’une équation cartésienne,
qui n’ont pas de nom particulier. On peut tout de même donner une indication sur ce que représentent les
variables correspondantes dans ce programme, sous forme d’un commentaire en début de programme.
Enfin, il peut être utile d’indiquer rapidement à quoi correspondent chacun des cas testés. On obtient le
programme suivant.
# a x + b y + c = 0 est l'équation cartésienne d'une droite
if b == 0:
# droite parallèle à l'axe des ordonnées
if a != 0:
# sinon ce n'est pas une droite
print("x =", -c/a)
else:
# cas général
pente = -a/b
coefficient_directeur = -c/b
print("y =", pente, "x +", coefficient_directeur)
Exercice 4.7 Que penser de ce qu’affiche le programme précédent dans les cas où la pente vaut 0 ou 1
et dans le cas où le coefficient directeur vaut 0 ?
Modifier ce programme pour qu’il produise un affichage plus agréable.
