Bonjour,
J'aurais besoin de votre aide pour créer un programme en langage C qui doit être capable de modéliser une avalanche de sable (modèle proposé par P.Bak en 1988). Voici ce que j'ai.
A une dimension, on construit une série de N colonnes numérotées de 1 à N (vers la droite) adjacentes constituées de carrés représentant des grains de sable. Soit zn la différence de hauteur entre les deux colonnes n et n + 1
zn = h(n) − h(n + 1)
L’ajout d’un grain de sable sur la colonne n (choisie au hasard) entraîne
zn -> zn + 1
zn−1 -> zn−1 − 1
ce qui peut engendrer un déplacement de grains de sable d’une colonne à une autre avec la règle suivante : dès qu’une colonne i contient plus de zc grains que sa voisine de droite, elle déverse un grain sur cette dernière ce qui se traduit par
zi -> zi − 2
zi±1 -> zi±1 + 1 pour z < zc
Le sable ne peut se déverser que sur la frontière droite du tas (comme si on ne simulait qu’un demi tas de sable), soit les conditions aux frontières
z0 = 0
zN -> zN − 1
zN−1 -> zN−1 − 1 pour z < zc
Le processus continue jusqu’à ce que, pout tout n, zn < zc. Pour chaque grain lancé, on calcule la taille de l’avalanche (c’est-à-dire le nombre de grains de sable qui ont franchi la barrière droite).
On étudie ensuite comment réagit le système à différentes configurations initiales (colonnes de hauteurs identiques, distribution de hauteurs telle que, pour tout n, zn>zc, ...).
Voilà en gros ce que je dois programmer, mais je suis asse mauvais en informatique, alors j'aurais besoin d'un petit coup de pour pour commencer.
Merci.





Répondre avec citation









quand tu postes.
Partager