Derniers journaux de fmaz :

Journal : Javascript pour les nuls

Posté par fmaz fmaz () le 17 mars 2004
0
Ma femme a donné à ses élèves un devoir à la maison dans lequel elle demandait de lancer des dés pour faire des stats.

L'un des élèves a répondu que les dés, c'était chiant. Qu'en plus, on ne pouvait pas en lancer beaucoup. Il a donc fait un programme en javascript pour faire les lancés à sa place. Il a donné son source dans le DM.

Je ne connais rien à javascript mais je trouve que son truc est monstrueusement crade. Alors avant de suggerer à ma femme de l'insulter, j'aimerai savoir si c'est normal que ce soit crade ou pas.

Pour cela, j'aimerai faire quelques tests pour modifier le source fourni. J'ai un buttineur donc je me dis que j'ai un bel interpréteur javascript sous la main. Mais je ne sais pas comment l'utiliser comme tel.

Genre comment on fait:

#!/bin/javascript
monprog


J'espère avoir été assez clair.

Merci d'avance,

Frédéric

> Lire le journal (36 commentaires, moyenne: 1,3).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

[+] Perl pour les nuls

Posté par kesako () le 17/03/2004 à 13:35. (lien). Évalué à -2.

perl -e 'print int(rand(6)+1)."\n";'

ou

perl -e 'for ($i=0;$i<100;$i++) {print int(rand(6)+1)." ";}'

  • [^]Re: Perl pour les nuls

    Posté par Benoît Bailleux (Jabber id, ) le 17/03/2004 à 13:39. (lien). Évalué à 1.

    Heu : le monsieur n'a pas le choix : le JavaScript est déjà écrit, et il veut savoir ce qu'il vaut...

    Sinon, la syntaxe du JavaScript est assez proche de celle de Java. Si tu connais ce dernier et que le script n'y ressemble pas, c'est mauvais pour lélève.

    Au fait, dans quelle classe les morpions se permettent de telle initiatives ? Il n'a pas de calculette ?

    --
    BB
    • [^]Re: Perl pour les nuls

      Posté par Boke Bocadillo (page perso, ) le 17/03/2004 à 13:47. (lien). Évalué à 3.

      J'ai du mal à voir où tu as vu que le JavaScript ressemble à Java.

      • [^]Re: Perl pour les nuls

        Posté par Nap () le 17/03/2004 à 15:25. (lien). Évalué à 1.

        pareil, pour moi ça ressemble autant à java que la tour eiffel à une pomme

        • [^]Re: Perl pour les nuls

          Posté par wismerhill (page perso, ) le 17/03/2004 à 15:32. (lien). Évalué à 1.

          La syntaxe (et uniquement elle) ressemble à celle de java, et autant à celle du C d'ailleurs.

          • [^]Re: Perl pour les nuls

            Posté par boris (page perso, ) le 17/03/2004 à 16:58. (lien). Évalué à 1.

            elle ressemble vaguement a de l'anglais, si on va par là...

      • [^]Re: Perl pour les nuls

        Posté par Benoît Bailleux (Jabber id, ) le 18/03/2004 à 07:33. (lien). Évalué à 1.

        Nan : je parlais juste de la syntaxe, qui est dans la même veine que Java (ou C et C++).

        D'ailleurs, JavaScript est en fait un vague descendant de C (quoiqu'un peu dégénéré, non ?), ce que l'on peut lire ici :

        In 1992 and 1993 Nombas developed a language named Cmm (for C minus minus, or "C without the hard stuff") for use as an embeddable scripting language, showing that it was possible to have a full-powered language that was simple enough to replace macro languages. [...] Cmm was first released in a shareware product called CEnvi [...] When Netscape's first commercial browsers were released we made a version of CEnvi that could handle short scripts embedded within web pages. [...] [http://www.nombas.com/us/scripting/history.htm(...)]

        Sans oublier l'excellent http://www.levenez.com/lang/(...)

        --
        BB
    • [^]Re: Perl pour les nuls

      Posté par fmaz fmaz () le 17/03/2004 à 13:47. (lien). Évalué à 1.

      J'ai du faire du java dans une vie antérieur.

      Le morpion est en seconde.

      Mais je ne peux rien dire. Quand j'étais en cinquième, j'avais fait un programme en basic pour faire une punition du genre:"recopier 200 fois..."

      • [^]Re: Perl pour les nuls

        Posté par _hugo_ (Jabber id, page perso, ) le 17/03/2004 à 13:53. (lien). Évalué à 3.

        FOR a = 1 TO 200
            PRINT "Je ne dois pas dessiner de pinguins sur mes feuilles de cours"
        NEXT a
        

        --
        Ma signature
        • [^]Re: Perl pour les nuls

          Posté par fmaz fmaz () le 17/03/2004 à 13:56. (lien). Évalué à 1.

          Mais non!!!!

          C'est LPRINT qu'il faut utiliser.

        • [^]Re: Perl pour les nuls

          Posté par scullder (Jabber id, page perso, ) le 17/03/2004 à 20:04. (lien). Évalué à 2.


          FOR a = 1 TO 200
          PRINT "Je ne dois pas dessiner de pinguins sur mes feuilles de cours"
          NEXT a


          FOR a = 1 TO 200 STEP 20, comme ça on perd encore moins de temps =)

      • [^]Re: Perl pour les nuls

        Posté par Jak () le 17/03/2004 à 14:29. (lien). Évalué à 1.

        'faut que ta moitié le descende en flamme, à moins qu'il puisse prouver que la fonction qu'il a utilisé pour obtenir ces jets de dés donne des résultats _vraiment_ aléatoires. Car si la fonction ne donne pas de résultats aléatoires, il n'a pas pu faire les stats demandées correctement..
        Par exemple, le $RANDOM du bash est tout pourri : en effet, si tu as obtenu un nombre pair au premier tirage, alors, tu peux être certain que le nombre suivant sera impair, et vice-versa. Ce n'est donc pas une suite aléatoire, puisque l'on peut déterminer une caractéristique du nombre suivant en fonction du nombre courant.
        'faut les mater, les fortes têtes :)

        --
        « Le savoir, n'est-ce pas, est un bien précieux. Trop précieux pour ne pas être partagé. »
        - Battologio d'Epanalepse, in De Cape et de Crocs, Acte VII (Ayroles & Masbou)
        • [^]Re: Perl pour les nuls

          Posté par Nap () le 17/03/2004 à 14:44. (lien). Évalué à 3.

          j'irai même un peu plus loin : je ne crois pas qu'il soit possible de générer aléatoirement des nombres avec un ordinateur, qui sera toujours limité qualitativement par son déterminisme rigoureux, et quantitativement par le nombre d'état dans lesquels il peut être

          qu'elle lui fasse donc faire une petite dissertation sur frein du déterminisme de l'informatique et le frein de la psychologie chez l'être humain, face à l'aléatoire chaotique de la nature et de l'univers, ça lui fera les pieds !

          bon évidemment, pour le déterminisme de l'informatique j'écarte le problème des barettes mémoire défaillantes

          ça me fait penser à un exemplaire des célèbres $a++ de PERL ( http://paris.mongueurs.net/aplusplus.html(...) ) :

          Compte sur la probabilité non nulle qu'un rayon cosmique altère la valeur en RAM de $A. Jérôme Abela 11-sep-2001
          $A_original = $A;
          while($A != $A_original+1) {}

          • [^]Re: Perl pour les nuls

            Posté par Jak () le 17/03/2004 à 14:54. (lien). Évalué à 1.

            > je ne crois pas qu'il soit possible de générer aléatoirement des nombres avec un ordinateur, qui sera toujours limité qualitativement par son déterminisme rigoureux, et quantitativement par le nombre d'état dans lesquels il peut être

            En fait, est-ce que le truc qui génère un bruit dans le Via C3 (Nehemiah) ne serait pas relativement correct pour accomplir ce genre de tâche ? http://www.via.com.tw/en/viac3/c3.jsp(...)

            --
            « Le savoir, n'est-ce pas, est un bien précieux. Trop précieux pour ne pas être partagé. »
            - Battologio d'Epanalepse, in De Cape et de Crocs, Acte VII (Ayroles & Masbou)
            • [^]Re: Perl pour les nuls

              Posté par Nap () le 17/03/2004 à 15:00. (lien). Évalué à 1.

              ah... oui peut-etre !

              l'informatique seul ne peut tout résoudre mais effectivement si on utilise des modules matériels supplémentaires tout est possible :)

          • [^]Re: Perl pour les nuls

            Posté par Lawrence P. Waterhouse (page perso, ) le 17/03/2004 à 14:58. (lien). Évalué à 1.

            Exak! Certains langages utilisent des fonctions mathématiques générant des suites de nombres pseudo-aléatoires (c'est le cas de java).
            En revanche, j'ignore comme fonctionne le démon 'random' sous GNU/Linux. Quelqu'un à une idée|url?

            --

            Association de jeux à Fontainebleau

            Le masque méprisant de la vertu triomphante peut rivaliser avec le visage de la cruauté révélée.
        • [^]Re: Perl pour les nuls

          Posté par cedric () le 17/03/2004 à 14:58. (lien). Évalué à 2.

          Je dirais meme plus quand partant sur ce terrain, il n'a aucune chance. Sur un pc le seul moyen d'avoir de l'aleatoir c'est d'avoir du materiel dedie pour gerer du desodre (Non, windows n'est pas une source d'alea ;-). Le reste est et restera du pseudo-aleatoire.

        • [^]Re: Perl pour les nuls

          Posté par wismerhill (page perso, ) le 17/03/2004 à 15:34. (lien). Évalué à 2.

          le $RANDOM du bash est tout pourri : en effet, si tu as obtenu un nombre pair au premier tirage, alors, tu peux être certain que le nombre suivant sera impair, et vice-versa.

          $ echo $RANDOM
          1430
          $ echo $RANDOM
          6282
          $ echo $RANDOM
          16885
          $ echo $RANDOM
          1570
          $ echo $RANDOM
          30425
          $ echo $RANDOM
          12843
          $ echo $RANDOM
          9486
          $ echo $RANDOM
          24583
          $ echo $RANDOM
          8489
          $ echo $RANDOM
          12865
          $ echo $RANDOM
          13687
          $ echo $RANDOM
          17312

          Tu disais?

          • [^]Re: Perl pour les nuls

            Posté par Jak () le 17/03/2004 à 15:41. (lien). Évalué à 1.

            ~$ echo $RANDOM
            22693
            ~$ echo $RANDOM
            13434
            ~$ echo $RANDOM
            13355
            ~$ echo $RANDOM
            136
            ~$ echo $RANDOM
            23073
            ~$ echo $RANDOM
            7750
            ~$ echo $RANDOM
            26631
            ~$ echo $RANDOM
            7476
            ~$ echo $RANDOM
            30557
            ~$ echo $RANDOM
            22738
            ~$ echo $RANDOM
            32163
            ~$ echo $RANDOM
            22688
            ~$ echo $RANDOM
            11353
            ~$ echo $RANDOM
            12318
            ~$ echo $RANDOM
            20735
            ~$ echo $RANDOM
            24268
            ~$ echo $RANDOM
            13589
            ~$ echo $RANDOM
            12330
            ~$ echo $RANDOM
            32283
            ~$ echo $RANDOM
            7096
            ~$ echo $RANDOM
            3473
            ~$ echo $RANDOM
            9462
            ~$ echo $RANDOM
            24823


            Rien de particulier. J'en ai fait des séries, et sur ma machine, c'est systématiquement une suite pair/impair. Bizarre, tiens.
            Cela dit, je suis toujours certain que 2 nombres consécutifs seront forcément distincts, détail qui me sert dans quelques scripts (j'aime pas utiliser le timestamp pour ça).

            --
            « Le savoir, n'est-ce pas, est un bien précieux. Trop précieux pour ne pas être partagé. »
            - Battologio d'Epanalepse, in De Cape et de Crocs, Acte VII (Ayroles & Masbou)
    • [^]Re: Perl pour les nuls

      Posté par kesako () le 17/03/2004 à 13:50. (lien). Évalué à 1.

      je voulais dire que dans n'importe quel language , un truc de lancer de dés ca ne doit pas prendre plus de 2 ou 3 lignes ( du moment qu'il ya une fonction random. ce qui est le cas en javascript avec Math.random()

Re: Javascript pour les nuls

Posté par Benoît Bailleux (Jabber id, ) le 17/03/2004 à 13:36. (lien). Évalué à 3.

Ca dépend des capacités du butineur. Mais le plus simple, c'est de le coller le javaScript dans une page HTML (un fichier texte, quoi) entre deux balises <script /> et de l'invoquer à travers un bouton dans un formulaire.

--
BB
  • [^]Re: Javascript pour les nuls

    Posté par fmaz fmaz () le 17/03/2004 à 13:45. (lien). Évalué à 0.

    cat>toto.html
    < script>
    monprog
    < /script>
    ^D

    puis galeon file:///tmp/toto.html
    semble marcher

    merci

    Frédéric

Re: Javascript pour les nuls

Posté par Mathieu Pillard (page perso, ) le 17/03/2004 à 13:39. (lien). Évalué à 1.

http://www.mozilla.org/unix/remote.html(...)
http://www.mozilla.org/js/spidermonkey/(...)

Ou alors, tu peux le montrer sur #openweb sur freenode :)

  • [^]Re: Javascript pour les nuls

    Posté par Mathieu Pillard (page perso, ) le 18/03/2004 à 00:44. (lien). Évalué à 1.

    J'avais oublié, il ya une super extension pour faire ca en fait: JSSh
    http://www.croczilla.com/jssh(...)

    Pas testé, mais ca me semble etre la solution ideale :)

Re: Javascript pour les nuls

Posté par Lawrence P. Waterhouse (page perso, ) le 17/03/2004 à 13:40. (lien). Évalué à 2.

Montre nous le source!
En Javascript c'est facile de faire dégeulasse, mais si on fait attention, on peut faire aussi propre qu'avec un autre langage.

--

Association de jeux à Fontainebleau

Le masque méprisant de la vertu triomphante peut rivaliser avec le visage de la cruauté révélée.
  • [^]Re: Javascript pour les nuls

    Posté par Nap () le 17/03/2004 à 13:54. (lien). Évalué à 1.

    heureusement d'ailleurs, sinon on aurait pas mozilla et le XUL (ou alors ce serait pas codé en javascript)

Re: Javascript pour les nuls

Posté par jigso () le 17/03/2004 à 13:43. (lien). Évalué à 2.

On peut voir le source ?

  • [^]Re: Javascript pour les nuls

    Posté par kesako () le 17/03/2004 à 13:55. (lien). Évalué à 4.

    il n'est pas sous GPL

    • [^]Re: Javascript pour les nuls

      Posté par _hugo_ (Jabber id, page perso, ) le 17/03/2004 à 14:10. (lien). Évalué à 2.

      0 pointé alors !

      --
      Ma signature

Re: Javascript pour les nuls

Posté par XHTML/CSS inside (page perso, ) le 17/03/2004 à 15:31. (lien). Évalué à 0.

Si on pouvait voir le code, ça serait bien !

++
Nico, js-addicted !

--
In tartiflette we trust !

Re: Javascript pour les nuls

Posté par fmaz fmaz () le 17/03/2004 à 15:36. (lien). Évalué à 0.

Comme quelqu'un l'a dit peut-être en blaguant, le code n'est pas sous GPL.

C'est un peu ridicule car ce script de 30 lignes ne va pas changer la face du monde mais pour gueuler contre les gens qui copient office, photoshop etc, je me dois d'être irréprochable. Donc non, je ne donnerais pas le code.

  • [^]Re: Javascript pour les nuls

    Posté par imalip (page perso, ) le 17/03/2004 à 15:57. (lien). Évalué à 1.

    Ledit code etait-il fourni avec une license te donnant le droit de l'executer, au moins ?

    Si ce n'est pas le cas, tu ne peux te permettre de le faire. Tu ne peux donc pas tester. Donc pas valider. Donc 0.

    /me se rappelle qu'au lycee il programmait sur sa calculatrice pour les conneries avec les des.
    /me se rappelle aussi qu'a l'epoque, un certain nombre avait _vraiment_ perdu son temps a lancer des des.

    --
    "While a monkey can be a manager, it takes a human to be an engineer" Erik Zapletal
  • [^]Re: Javascript pour les nuls

    Posté par __caffeine__ () le 17/03/2004 à 17:17. (lien). Évalué à 1.

    gni ? 30 lignes de javascript pour une série de nombres "aléatoires" ?
    ça doit pas être joli-joli (ou alors il a fait du DHTML pour toutes les versions de navigateurs depuis IE3)...

    • [^]Re: Javascript pour les nuls

      Posté par XHTML/CSS inside (page perso, ) le 17/03/2004 à 17:45. (lien). Évalué à 2.

      30 lignes pour ça ????

      Allez à froid :
      <script type="text/javascript">
      <!--
      var nombre;
      nombre=Math.random();
      // un nombre entre 0 et 1 de type 0,481541854852
      nombre=nombre*1000;
      // fois mille = 4815,41854852
      nombre=Math.floor(nombre);
      //arrondi inférieur = 4815
      nombre=nombre%6;
      //modulo 6
      nombre=nombre+1;
      //+1 pour éviter d'avoir 0
      alert ("Nombre aléatoire : "+nombre);
      // -->
      </script>

      10 lignes, en écrivant très large, le tout pourrait être en une ligne.

      Un générateur de nombre aléatoire qui est classé secret défense... qu'est-ce qu'il ne faut pas entendre...

      ++

      --
      In tartiflette we trust !
      • [^]Re: Javascript pour les nuls

        Posté par XHTML/CSS inside (page perso, ) le 17/03/2004 à 17:46. (lien). Évalué à 1.

        Le alert() peut être remplacé par un pitite boucle histoire de générer un certain nombre de nombres à coups de write(), cela va sans dire...

        ++

        --
        In tartiflette we trust !

Revenir en haut de page