Soutenez l'association MO5.COM !

phenixinformatique.com / Amstrad CPC pour toujours ! 
Valider

Se connecter

Valider
Lecture d'un Article
Recherche dans les Articles
Programmation sur C64 : Les nombres aléatoires, Par TME, le 12-04-2005.
Une bonne occasion de s'amuser un peu avec des chiffres.
  • Cet Article est publié sur le site
     

    :: Nombres aléatoires ::









    1/ Le listing brut :



    10 FOR X=1 TO 10

    20 PRINT RND(1),

    30 NEXT



    Ce programme génère dix chiffres compris en 0 et 1 avec
    10 chiffres après la virgule. Voici un autre programme plus
    élaboré :



    10 FOR X%=1 TO 12

    20 ? INT(RND(1)*10),

    30 NEXT



    Ici, on génère douze chiffres entiers compris entre 0 et
    9.





    2/ Le listing commenté :



    10 FOR X=1 TO 10

    // Ligne 10 : On initialise la variable de type
    FLOTTANT appelée X à 1 et on boucle tant que son contenu
    est inférieur à 11.


    20 PRINT RND(1),

    // Ligne 20 : On génère un chiffre
    aléatoire (RND, Random) compris entre 0 et 1 et on l'affiche.


    30 NEXT

    // Ligne 30 : On incrémente la variable X de
    1 et on saute à la ligne numéro 10 tant que le contenu de
    X est inférieur à 11.






    10 FOR X%=1 TO 12

    // Ligne 10 : On initialise la variable de type
    ENTIER appelée X% à 1 et on boucle tant que son contenu
    est inférieur à 13.


    20 ? INT(RND(1)*10),

    // Ligne 20 : On génère un chiffre
    aléatoire (RND, Random) compris entre 0 et 1, on le multiplie
    par 10 et on affiche sa valeur entière.


    30 NEXT

    // Ligne 30 : On incrémente la variable X% de
    1 et
    on saute à la ligne numéro 10 tant que le contenu de X%
    est inférieur à 13.






    3/ Commentaires additionnels :



    La fonction RND accepte des paramètres compris entre 0 et
    l'infini (enfin, vous savez ce que j'en pense moi de l'infini avec les
    ordinateurs, hein...). En vérité, le C64 crée une
    suite de nombres aléatoires à partir d'un chiffre de
    départ (appelé "seed") quand on l'allume. Le
    paramètre passé à RND est un leurre, il n'y a
    guère que son signe qui compte (positif, zéro,
    négatif). Si le paramètre est à zéro, un
    chiffre aléatoire est généré en utilisant
    un timer interne de l'ordinateur. Un paramètre négatif
    provoque une mise à jour de la liste des chiffres
    aléatoires.



    L'instruction PRINT INT(RND(0)*50) retourne un résultat compris
    entre 0 et 49 et non pas entre 0 et 50. L'instruction PRINT
    INT(RND(0)*50)+1 donnera des résultats allants de 1 à 50.



     
    Revenir en arrièreEn discuter dans les ForumsTous les Articles
  • MO5.COM (C) 2005, Tous droits réservés. 24941157 pages vues depuis le 1er Novembre 2004. Page générée en 0.09 secondes.