- TD2 : Module : Algorithmique et programmation. Langage : Python -
INP Toulouse Claude MONTEIL - Marc SOUQUES Ecole Nationale Supérieure Agronomique de Toulouse page 2/5
Pour économiser les ressources installées, nous allons utiliser la bibliothèque random avec seulement le
chargement des 2 'services' utiles pour cet exemple, soit :
- random : renvoie une valeur aléatoire réelle entre 0 inclus et 1 exclu (sur cette ligne, random est un
'services' alors que plus haut, en gras, random est le nom de la bibliothèque !)
- seed : initialise la gestion de l'aléa à la valeur n, de sorte que l'on génèrera la même suite de nombres
aléatoires à chaque exécution. De l'aléatoire constant !
Pour générer une valeur aléatoire, nous utiliserons donc la syntaxe suivante :
#appel à une bibliothèque random fournissant 2 'services' random et seed pour calcul aléatoire
from random import random, seed
seed(6) # initialise random à 6 : on aura tous et toujours la même suite aléatoire en TD
# ne pas saisir seed() pour avoir du VRAI aléatoire…
# random() renvoie une valeur aléatoire réelle entre 0 inclus et 1 exclu
deltaAltitude = DELTA_ALTITUDE_MAX * (2 * random() - 1) # random() => [0,1[
exemple : 60 = 100 * (2 * 0.80 - 1)
exemple : - 40 = 100 * (2 * 0.30 - 1)
deltaAltitude est la variation d'altitude entre 2 points successifs, cette variation est tirée aléatoirement dans
cet exemple simulant la réalité. Ce deltaAltitude permet de calculer une altitude (voir exemple ci-dessous)
Remarque sur les affichages de nombres réels :
Pour afficher une valeur 15.34 à partir de la valeur 15.33999, utilisation d'une fonction de formatage :
print( format(15.33999, "7.2f") )
format(valeur, "7.2f") affiche un réel (f pour float) sur 7 positions dont 2 positions pour la partie décimale
et 1 position pour le "." décimal.
Notre règle pour nommer des listes : lst (préfixe) + nom de liste au pluriel soit dans notre exemple :
lstVariationsAltitude et lstAltitudes
Ouvrir le programme GenererAltitudesAleatoiresListeDebut.py où du code est déjà saisi.
Remarque :
NomProgrammeDebut pour un fichier de début de TD à compléter.
NomProgramme pour un fichier de correction du TD.
Travail à faire :
Compléter le code pour obtenir l'affichage suivant qui ne nécessitera aucune saisie.