Re: [ssfr] utilisation de bc

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


Marc Chantreux wrote:
On Wed, Jul 16, 2008 at 11:05:46AM +0200, steve wrote:
ou tel langage pour un problème spécifique. Le shell me permet de
modestement résoudre et automatiser les tâches répétitives, et ça me

il est d'ailleurs tres bon pour cet emploi

suffit. Quant à Perl, pour en avoir fait un peu, c'est un langage
attrayant pour qui ne maitrîse pas la programmation au sens large.

et pour qui la maitrise aussi. Ca n'est pas moi qui ai parlé de perl
mais je pense (contrairement aux idées recues) que c'est un merveilleux
langage pour qui veut apprendre:

- le nombre impressionnant de bibliothèques fait qu'on a pas a se
  soucier des arcannes: on scripte, c'est tout.
- perl mélange différents paradigmes: ca a le defaut de faire dire a
  beaucoup que perl est illisible et l'avantage de te faire apprendre
  dans un seul langage des concepts que tu retrouveras dans de nombreux
  autres (programmation fonctionnelle, regexps, objets, ...)
- sa syntaxe a l'avantage de te faire comprendre ce que tu manipules.

perso j'aurais plutot tenté la chose avec yorick ou haskell.
J'en attendais pas moins de ta part ;-)

quand j'aurais un cerveau, je programmerais en fonctionnel!

Elle porte bien son nom, cette méthode (monte-carlo): c'est vraiment au petit bonheur la chance.
(qui a dit monte-carla ? :)
Je trouve pas ça particulièrement plus simple en perl...   =)
En revanche, bien plus rapide (normal).


tahiti:~# time ( in=0; out=0; while [ $((in+out)) -le 10000 ]; do echo "(($RANDOM/32767) ^2) + (($RANDOM/32767) ^2) - 1" | bc -l | grep -q ^- && in=$((in+1)) || out=$((out+1)); done; echo "4*($in/($in+$out))" | bc -l )
3.14328567143285671432

real    1m20.400s
user    0m22.637s
sys     0m48.659s

tahiti:~# time perl -e 'my($in,$out)=(0,1); foreach (1..10000) {(((rand()**2) + (rand()**2)) le 1) ? ++$in: ++$out;}; printf "in: %s out: %s pi: %s\n", $in, $out, 4*($in/($in+$out));'
in: 7889    out: 2112    pi: 3.15528447155284

real    0m0.016s
user    0m0.016s
sys     0m0.000s


Sinon j'ai connu des intégristes de perl qui n'avaient rien à envier aux intégristes python. =)
A.1.2.C.4.


---


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/