Livre_silo 30 août 2013 16:32 Page 95
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
95
4 – Instructions : langage minimal de l’algorithmique
Il n’est pas nécessaire ici de connaître la définition de l’indice de masse corporelle pour comprendre le
déroulement du programme ni pour faire la modification voulue. En effet, on va réutiliser le calcul effectué
à la troisième ligne sans avoir besoin de le modifier. Ensuite, on peut s’inspirer des deux dernières lignes
pour écrire le cas du sous-poids, qui est très similaire à celui du surpoids.
Il suffit donc d’ajouter les deux lignes suivantes à la fin du programme :
if imc < 18:
print("Vous etes en sous-poids.")
SAVOIR-FAIRE Mettre un programme au point en le testant
Pour vérifier si un programme ne produit pas d’erreur au cours de son exécution et
s’il effectue réellement la tâche que l’on attend de lui, une première méthode consiste
à exécuter plusieurs fois ce programme, en lui fournissant des entrées, appelées tests,
qui servent à détecter les erreurs éventuelles. Pour qu’elles jouent leur rôle, il faut
choisir ces entrées de sorte que :
• on sache quelle doit être la sortie correcte du programme avec chacune de ces entrées ;
• chaque cas distinct d’exécution du programme soit parcouru avec au moins un choix
d’entrées ;
• les cas limites soient essayés : nombres nuls ou négatifs, liste vide, etc.
Exercice 4.11 Proposer des jeux de tests pour le programme de l’exercice 4.9.
Comme on calcule ici le maximum des trois nombres a, b et c, il faut au moins tester tous
les ordres possibles pour ceux-ci. Cela donne déjà 6 cas distincts pour le triplet (a,b,c) :
{(1, 2, 3); (1, 3, 2); (2, 1, 3); (2, 3, 1); (3, 1, 2); (3, 2, 1)}.
De plus, il pourrait être intéressant de vérifier ce qui se passe dans des cas particuliers comme celui où a,
b et c sont égaux.
Exercice 4.12 Modifier le programme de l’exercice 4.9 pour qu’il détermine le minimum des trois valeurs
a, b et c.
Exercice 4.13
1 Écrire un programme qui calcule la négation d’une variable booléenne sans utiliser l’opérateur not.
2 Écrire un programme qui calcule le et logique de deux variables booléennes sans utiliser l’opérateur and.
3 Écrire un programme qui calcule le ou logique de deux variables booléennes sans utiliser l’opérateur or.
Exercice 4.14 La fonction random.random() renvoie un nombre à virgule flottante pseudo-aléatoire compris entre 0 inclus et 1 exclu. Pour utiliser cette fonction, il suffit d’exécuter l’instruction import random
dans l’interpréteur interactif, ou de la placer en début de programme.
À l’aide de random.random(), écrire un programme qui simule la loi uniforme sur l’intervalle [a; b], où a
et b sont deux réels donnés.
Exercice 4.15 Toujours à l’aide de la fonction random.random(), écrire un programme qui choisit la valeur
booléenne True ou False de façon équiprobable.
Exercice 4.16 Toujours à l’aide de la fonction random.random(), écrire un programme qui simule la loi
uniforme sur l’intervalle d’entiers a; b, où a et b sont deux entiers donnés.
Précédent

- 108/402

Suivant