Lancer les dés Version 2
GW-Basic, utilisé par PC-Basic
Programme avec Texte Seulement
PC-BASIC
Au lieu de lancer deux dés en trois dimensions, imaginez lancer deux dés de n nombre de côtés sur une droite numérique de largeur finie (de longueurs égales à partir de zéro, cependant).
Si la somme des lancers satisfait à deux conditions par rapport à la droite numérique, vous gagnez ; sinon, vous perdez. DICE2.BAS exécutera le nombre d'essais de ce type que vous souhaitez, tout en calculant la probabilité empirique de gagner la partie.
Notez que le programme sélectionne des nombres aléatoires négatifs dans les lignes 100, 105 et 110 en soustrayant des expressions de randomisation ; GW-BASIC ne peut pas autrement "directement" obtenir des nombres aléatoires négatifs.
5 KEY OFF:SCREEN 9:CLS:COLOR
15,0
10 RANGE=0:A=0:B=0:ROLL=0:WIN=0:TRIAL=0:RANDOMIZE TIMER
20 INPUT
"QUELLE EST L'INTERVALLE, +/- 0, DE VOTRE LIGNE NUMÉRIQUE";RANGE
30 INPUT
"COMBIEN DE COTÉS A LE DÉ ";SIDES
40 INPUT "COMBIEN D'ESSAIS";TRIALS
90
FOR LOOP=1 TO TRIALS
100 A=INT(1+RANGE*2*RND(1))-RANGE
105
B=INT(1+RANGE*2*RND(1))-RANGE
110 ROLL=(INT(1+SIDES*2*RND(1))-SIDES)+(INT(1+SIDES*2*RND(1))-SIDES)
120 IF ROLL<A AND B<A THEN WIN=WIN+1
130 IF ROLL>A AND B>A THEN
WIN=WIN+1
135 LOCATE 12,5:PRINT "A= "A;" B= "B;" ROLL= ";ROLL
140 LOCATE
13,15:PRINT "TRIAL #: ";LOOP
150 LOCATE 15,15:PRINT WIN/LOOP
160 NEXT
LOOP
L'affichage d'une ligne numérique sur l'écran, ainsi que le traçage d'un point à chaque somme de lancer de dés, ajouteraient des fioritures visuelles à un programme par ailleurs très rudimentaire.