Réalisation d`un jeu d`essai avec un tableur

Transcription

Réalisation d`un jeu d`essai avec un tableur
Tableur
Réalisation d’un jeu d’essai avec un tableur
Un jeu d’essai regroupe un ensemble de données permettant de tester tous les
cas possibles du raisonnement algorithmique.
Selon les problèmes à traiter deux grands types de données doivent être
simulés :
•
Des données numériques
•
Ou des données textuelles.
La méthode pour réaliser des jeux d’essai consiste à faire générer des valeurs
numériques aléatoires.
Pour des données numériques, le résultat est immédiatement exploitable en
prenant toutefois la précaution de respecter les contraintes du problème.
Pour des données textuelles, il suffira de tirer aléatoirement des lignes dans un
fichier existant, tout en respectant les contraintes imposées par la nature de la
problématique.
Génération de nombres aléatoires
Dans excel, deux fonctions intégrées sont disponibles pour générer des nombres aléatoires ALEA() et
ALEA.ENTRE.BORNE. Cette dernière fonction nécessite d’installer les macros complémentaires.
La fonction Alea, renvoie un nombre aléatoire supérieur ou égal à 0 et
inférieur à 1. Un nouveau nombre aléatoire est renvoyé chaque fois que la
feuille de calcul est recalculée.
Dans un jeu d’essai ce n’est pas une valeur comprise entre 0 et 1, que vous aurez à générer, mais
une valeur comprise entre 0 et une valeur limite supérieure à 1.
Il suffit alors de multiplier la fonction par la valeur maximale à obtenir.
Dans l’exemple ci-contre, le nombre généré sera compris entre 0 et 60.
Génération d’un nombre aléatoire compris entre deux valeurs.
Pour générer un nombre réel aléatoire compris entre a et b, il est possible d’utiliser la formule suivante
: ALEA()*(b-a)+a.
L’exemple ci-contre génère un nombre aléatoire compris entre 50 et 60.
Il est également possible d’utiliser la fonction alea.entre.bornes pour obtenir le même type de
résultat.
Rappel : Les macros
complémentaires
Il est à remarquer que l’utilisation
de cette fonction renvoie une valeur
entière.
Exemple de nombre aléatoire avec contrainte.
On peut avoir besoin de générer un nombre compris entre 0 et 100, mais dont les seules valeurs
décimales admissibles sont 0.25, 0.5 ou .075.
Raisonnement :
Il faut générer deux nombres aléatoires : un nombre entier compris entre 0 et 100 qui représentera la
partie entière du nombre et une partie décimale dont la valeur dépendra du nombre généré.
On pourra par exemple établir la règle suivante.
Jacques Chambon
1/3
Tableur
Si le nombre aléatoire généré est inférieur ou égal à 0.25 alors on y associera la valeur 0.25
Sinon Si le nombre aléatoire généré est inférieur ou égal à 0.5 alors on y associera la valeur
0.5
Sinon Si le nombre aléatoire généré est inférieur ou égal à 0.75 alors on y associera
la valeur 0.75
Sinon on y associera la valeur 0
FinSi
FinSi
FinSi
La traduction en Formule Excel sera la suivante.
=ALEA.ENTRE.BORNES(0;100)+SI(ALEA()<=0,25;0,25;SI(ALEA()<=0,50;0,5;SI(ALEA()<=0,75;0,7
5;0)))
En bleu foncé, on demande la génération d’un nombre entier compris entre 0 et 100. La partie rose
traduit le raisonnement alternatif qui ajoute seulement des quarts de valeur.
Blocage des calculs
L’inconvénient majeur de ce type de calcul est le changement permanent des résultats. Chaque
manipulation dans la feuille de calcul ou l’ouverture du fichier entraîne un recalcul des formules.
Pour figer les résultats et ne déclencher les calculs que sur ordre, il faut changer un paramètre
d’Excel.
Ouvrez, à partir de la barre de menu, « Outils/Options » . Sélectionnez l’onglet « Calcul ».
Choisissez le mode de calcul sur
ordre.
Les formules de calcul ne seront
plus automatiquement calculées. Il
vous faudra appuyer sur la touche
F9 pour déclencher le calcul des
feuilles du tableur.
Si ce mode de calcul a été activé
par l’utilisateur, le verbe
apparaît sur la barre d’Etat.
Jacques Chambon
2/3
Tableur
Génération de texte aléatoire
ll n’existe pas de générateur de textes, il va donc falloir le créer à partir des outils précédents.
Deux fonctions sont essentielles : ALEA() et RECHERCHEV. Elles vont nous permettre de tirer au
sort du texte dans une liste prédéterminée.
Vous disposez dans une feuille Excel de la liste des noms des communes de la Région Aquitaine.
Rappel : Les fonctions de
RECHERCHE
Les communes sont triées par ordre alphabétique. On leur attribut un numéro séquentiel dans la
colonne A., ce qui va nous permettre de faire un tirage aléatoire numérique. Il ne restera plus qu’à
associer les numéros tirés au nom correspondant.
La formule « =ENT(ALEA()*Communes!$C$3-1)+1 » est
recopiée sur les 10 cellules de la colonne B. Elle permet
de générer un nombre compris entre 1 et le nombre de
communes calculé dans la feuille « communes » en C3.
Dans la colonne C de la feuille du tirage, la fonction
recherchev, permet de récupérer dans la table appelée
« communes » le nom de la commune correspondant au
numéro tiré aléatoirement.
Figer les valeurs du jeu d’essai
La dernière opération consiste à éliminer les formules de calcul et ne conserver que les valeurs
générées. Pour ce faire, il faut sélectionner les zones contenant les formules de calcul et y appliquer
un Copier / Collage spécial - valeurs
Pour désélectionner la zone de copie, il faut appuyer sur la touche « Echap » ou « Esc »
Jacques Chambon
3/3