Bonjour, le principe de mon exo est le suivant : une bille part du point B et tombe soit à gauche soit à droite (sur les points A). Et ainsi de suite jusqu'en bas de la pyramide. La dernière ligne de A de ma pyramide correspond à des cases numérotées de 0 à 7.
B
A A
A A A
A A A A
A A A A A
A A A A A A
A A A A A A A
A chaque "A" la bille a la proba 0<p<1 de tomber à droite sur le A suivant.
On lance 100 billes successivement. Il s'agit de faire une simulation en indiquant comme résultat le nombre de billes tombées dans chaque case numérotées de 0 à 7.
(P est demandé par l'opérateur)
J'ai fait ceci, je bloque merci si vous pouvez m'aider !
Où me suis-je trompé ? merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 PROGRAM exo; USES CRT; VAR X,P:REAL;I,U,V,J,K:INTEGER; Y:ARRAY[1..100,0..7] of INTEGER; Z:ARRAY[0..7] of INTEGER; BEGIN RANDOMIZE WRITELN('Entrez P'); READ(P); FOR J:=1 TO 100 DO BEGIN U:=0; FOR I:=1 TO 7 DO BEGIN X:=RANDOM; IF X<=P THEN V:=0 ELSE V:=1; U:=U+V; Y[J,U]:=1; END; END; Z[K]:=0; FOR K:=0 TO 7 DO BEGIN Z[K]:=Z[K]+Y[J,K]; WRITELN(Z[K], 'billes sont tombées dans la case K'); END; END.
Partager