Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#2101 Le 10/12/2010, à 20:45

Elzen

Re : /* Topic des codeurs couche-tard [2] */

Rolinh a écrit :

La réponse est juste un peu plus haut mais comme il s'agit d'alias, ce n'est évidemment pas un comportement par défaut wink

Hmm, je vois.

Pareil, c'est le genre de truc qui est sûrement très pratique, mais que je trouve quand même hyper moche.

En ce qui me concerne, je m'en servirais sûrement pas.

(Ou alors pas dans un shell, quoi. Ce genre de comportement (cd ou lecture par une autre appli juste avec le nom, sans rien devant) serait super cool pour un genre de navigateur de fichiers en ligne de commande, mais là, perso, j'trouve que ça va pas)

grim7reaper a écrit :

Ce que tu as définis pour lui dans le fichier de conf (bon ça se base sur l'extension et pas sur le type mime, mais c'est mieux que rien).
Chez moi ça lance mplayer sur les avi, xpdf sur les pdf, feh sur les images, etc.

Ouais bah comme je disais, pour moi, c'est le comportement d'un navigateur de fichiers, mais pas celui d'un interpréteur de commande. Or à moins que j'ai mal compris un truc, vous parlez d'un interpréteur de commandes, là.

grim7reaper a écrit :

Zut, je suis découvert /o\

tongue

Dernière modification par ArkSeth (Le 10/12/2010, à 20:48)

Hors ligne

#2102 Le 10/12/2010, à 20:47

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

ArkSeth a écrit :

Ce genre de comportement (cd ou lecture par une autre appli juste avec le nom, sans rien devant) serait super cool pour un genre de navigateur de fichiers en ligne de commande, mais là, perso, j'trouve que ça va pas)

Ouais genre ranger, mais moi ça m'emmerde d'installer un navigateur de fichier rien que pour ça, donc si le shell le fait je prend smile.

Dernière modification par grim7reaper (Le 10/12/2010, à 20:56)

Hors ligne

#2103 Le 10/12/2010, à 20:55

Elzen

Re : /* Topic des codeurs couche-tard [2] */

Ranger ? Connaît pas ce mot-là tongue (Ça se voit dans ma chambre, d'ailleurs ^^")

'fin voilà, quoi. Je sais qu'entre le reste du monde et moi, c'est sûrement les plus nombreux qui ont raison, mais je trouve que c'est pas parce que c'est "pratique" que ça se justifie nécessairement (genre j'suis sûr que je peux trouver plein de gens prêts à affirmer que faire de l'héritage est pratique dans des cas où vous conviendriez avec moi que c'est conceptuellement aberrant. Pour moi c'est pareil.)

S'tu veux ouvrir un fichier/aller dans un répertoire avec un interpréteur de commandes, tu utilises une commande, si tu veux les ouvrir sans commande, tu n'utilises pas un interpréteur de commandes mais un navigateur de fichier.

Désolé tongue

Hors ligne

#2104 Le 10/12/2010, à 20:56

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

Ranger :)

Sinon, on peut faire le même reproche à Emacs (en bien pire).

ArkSeth a écrit :

S'tu veux ouvrir un fichier/aller dans un répertoire avec un interpréteur de commandes, tu utilises une commande, si tu veux les ouvrir sans commande, tu n'utilises pas un interpréteur de commandes mais un navigateur de fichier.

En règle général, je suis tout a fait d'accord avec ça. Là c'est différent car j'ai pas trop le choix : pas envie d'installer un navigateur de fichier graphique, et aucun de ceux en console ne me satisfait.
Je trouve lourd de lancer un autre programme pour faire ces choses là, et dans ce cas je ne trouve pas que c'est en conflit avec le rôle du shell (du moins, à défaut de me paraître normal ça ne me paraît pas aberrant).

Dernière modification par grim7reaper (Le 10/12/2010, à 21:02)

Hors ligne

#2105 Le 10/12/2010, à 21:00

Pylades

Re : /* Topic des codeurs couche-tard [2] */

ArkSeth a écrit :

[…]
Ouais bah comme je disais, pour moi, c'est le comportement d'un navigateur de fichiers, mais pas celui d'un interpréteur de commande. Or à moins que j'ai mal compris un truc, vous parlez d'un interpréteur de commandes, là.
[…]

Mieux. Nous parlons d'un shell. tongue

(Un interpréteur de commandes, c'est dash, par exemple.)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2106 Le 10/12/2010, à 21:07

helly

Re : /* Topic des codeurs couche-tard [2] */

Merde quoi mad.
Je butte toujours sur l'exo 12 de euler, temps d'éxecution trop long, pourtant la fonction nombre de diviseurs est bien codée et marche sans problèmes…
Si tu trouves la faille :

--liste triangulaire
 
 listeTriang ::  (Integral a) => [a]
 listeTriang = [(x*(x+1) `div` 2) | x <- [1..]]
 
 -- Renvoie la liste des nombres premiers de 1 à n
 primes :: (Integral a) => [a]
 primes  = sieve [2..]
    where
        sieve (p:xs) = p : sieve [x | x <- xs, rem x p /= 0]
 
 -- Renvoie la liste des des facteurs premiers de nb
 fp :: (Integral a) => a -> [a]
 fp 1 = [1]
 fp nb = fpFct nb [] 2
 
 fpFct :: (Integral a) => a -> [a] -> a -> [a]
 fpFct 1 liste p = liste
 fpFct nb liste p
     | (nb `rem` p == 0) = fpFct (nb `div` p) (liste++[p]) p
     | otherwise = fpFct nb liste (head[x| x<- primes, x > p])
 
 
 -- renvoie le nombre de diviseurs d'un nombre
 nbDiviseurs :: (Integral a) => a -> a
 nbDiviseurs nb = fctDiv (tail (fp nb)) 1 (head (fp nb)) 1
 
 fctDiv :: (Integral a) => [a] -> a -> a -> a -> a
 fctDiv [] total ptr cpt = (total*(cpt+1))
 fctDiv (x:xs) total ptr cpt
     | (x == ptr) = fctDiv xs total ptr (cpt+1)
     | otherwise  = fctDiv xs (total*(cpt+1)) x 1
 
 -- Renvoie les nombres de diviseurs des nombres triangulaires
 divTriang :: (Integral a) => [a]
 divTriang = [y | (x,y) <- (zip (map (nbDiviseurs) listeTriang) listeTriang), x > 500 ]

Dernière modification par helly (Le 10/12/2010, à 21:09)


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#2107 Le 10/12/2010, à 21:07

Elzen

Re : /* Topic des codeurs couche-tard [2] */

grim7reaper a écrit :

Sinon, on peut faire le même reproche à Emacs (en bien pire).

C'est aussi pour ça que je n'utilise pas Emacs ^^

Pylade a écrit :

Mieux. Nous parlons d'un shell. tongue

Ouais, c'est vrai que le mot peut être prit autrement, Enlightenment et Windows Explorer sont aussi désignés comme ça hmm

Hors ligne

#2108 Le 10/12/2010, à 21:11

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

@helly : je pense que c'est ta décomposition en facteur premier qui est trop lente (ou alors ton crible dans la génération de primes).
Tu avais fait comment pour le problème 3 ?

Édit 1 : J'ai vérifié, c'est bien ça qui est lent. Après, est-ce que ça vient de l'algo de factorisation ou de la génération des nombres premiers il faut voir…)
Édit 2 : Bon après tests, il semblerait que ça soit ton algo de factorisation le plus gros goulot d'étranglement.

ArkSeth a écrit :
grim7reaper a écrit :

Sinon, on peut faire le même reproche à Emacs (en bien pire).

C'est aussi pour ça que je n'utilise pas Emacs ^^

Moi c'est, entre autre, parce qu'il se configure en Lisp (j'ai du mal avec les langages de cette famille).

Dernière modification par grim7reaper (Le 10/12/2010, à 21:23)

Hors ligne

#2109 Le 10/12/2010, à 21:16

Pylades

Re : /* Topic des codeurs couche-tard [2] */

ArkSeth a écrit :

[…]

Pylade a écrit :

Mieux. Nous parlons d'un shell. tongue

Ouais, c'est vrai que le mot peut être prit autrement, Enlightenment et Windows Explorer sont aussi désignés comme ça hmm

Je voulais dire que ce n'est pas qu'un truc qui exécute bêtement des commandes. C'est un programme interactif, derrière lequel il y a un utilisateur. C'est cela un shell pour moi…
Mais bon, ça n'empêche pas dash de porter fièrement son sh à la fin…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2110 Le 10/12/2010, à 21:25

helly

Re : /* Topic des codeurs couche-tard [2] */

@grim : Pour le 3, j'ai fait comme ça :

import Data.Int
   
   -- Renvoie la liste des nombres premiers de 1 à n
   primes :: (Integral a) => [a]
   primes  = sieve [2..]
      where
          sieve (p:xs) = p : sieve [x | x <- xs, rem x p /= 0]
   
  -- Renvoie la liste des facteurs premiers·
  
  -- Renvoie la liste des des facteurs premiers de nb
  fp :: (Integral a) => a -> [a]
  fp 1 = [1]
  fp nb = fpFct nb [] 2
  fpFct :: (Integral a) => a -> [a] -> a -> [a]
  fpFct 1 liste p = liste
  fpFct nb liste p
       | (nb `rem` p == 0) = fpFct (nb `div` p) (liste++[p]) p
       | otherwise = fpFct nb liste (head[x| x<- primes, x > p])

Ça donne le bon résultat en à peine 2 secondes.

Dernière modification par helly (Le 10/12/2010, à 21:27)


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#2111 Le 10/12/2010, à 21:31

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

C'est quoi comme algo ?
Moi j'ai utilisé ça (le plus merdique apparement, mais aussi le plus simple) et ça a suffit (bon pour le 12 ça moulinais un peu mais j'était sous la minute pépère (en mode interpréteur).

Dernière modification par grim7reaper (Le 10/12/2010, à 21:43)

Hors ligne

#2112 Le 10/12/2010, à 21:38

helly

Re : /* Topic des codeurs couche-tard [2] */

Tu veux dire comment je factorise en facteurs premiers ?
L'algo de helly :
Je prend le nombre et un compteur initialisé à 2.
Si le nombre est divisible par le compteur, je divise le nombre par le compteur, et j'ajoute le compteur à la liste des facteurs premiers.
Si le nombre n'est pas divisible, je passe le compteur au nombre premier suivant.
Et j'arrêtre quand le nombre == 1.
Jvais me pencher sur ton algo.


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#2113 Le 10/12/2010, à 21:44

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

Bon profiling remis à jour (compilation en O2, ça change pas grand-chose ici)

    total time  =       76.88 secs   (3844 ticks @ 20 ms)
    total alloc = 444,777,880 bytes  (excludes profiling overheads)

COST CENTRE                    MODULE               %time %alloc

fpFct                          Main                  99.7   89.8
primes                         Main                   0.2    9.1

À titre de comparaison, moi j'obtient.

    total time  =        0.66 secs   (33 ticks @ 20 ms)
    total alloc = 107,080,144 bytes  (excludes profiling overheads)

COST CENTRE                    MODULE               %time %alloc

divisor                        Main                  90.9   87.8
triangle                       Main                   3.0    1.2
solution                       Main                   3.0    8.5
primes                         Main                   3.0    1.9

Sinon grosso modo ton principe est bon (c'est le même que moi), c'est la mise en œuvre qui est mauvaise.

Dernière modification par grim7reaper (Le 10/12/2010, à 21:47)

Hors ligne

#2114 Le 10/12/2010, à 21:53

helly

Re : /* Topic des codeurs couche-tard [2] */

Tu peux pas me montrer ton code pour que je vois ça ?
Et c'est quoi le logiciel que tu utilises là ?


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#2115 Le 10/12/2010, à 21:58

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

helly a écrit :

Tu peux pas me montrer ton code pour que je vois ça ?

La solution au 12 ou mon implémentation de l'algo de factorisation ?

Et c'est quoi le logiciel que tu utilises là ?

Je compile avec ghc en lui donnant les bonnes options puis je lance mon programme (là encore avec les bonnes options).
Plus d'info ici, je peux guère en dire plus car j'ai pas vraiment lu (j'avais déjà fait un peu de profiling en C donc là j'ai juste choppé la syntaxe pour gch mais faudra que je revienne lire plus en détail).

En résumé

ghc --make -prof -auto-all -O2 helly.hs
./helly +RTS -p -RTS
vim helly.prof

Le fichier helly.prof contient ce que j'ai posté + d'autres trucs plus détaillé.

Dernière modification par grim7reaper (Le 10/12/2010, à 22:03)

Hors ligne

#2116 Le 10/12/2010, à 21:59

helly

Re : /* Topic des codeurs couche-tard [2] */

La solution au 12 ou mon implémentation de l'algo de factorisation ?

La totale, en effet ta solution au 12 hmm.
C'est pas extra, mais je vois pas comment faire mieux.


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#2117 Le 10/12/2010, à 22:02

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

Bah ton algo est bon, il donne la bonne solution smile.
Il ne te reste qu'a améliorer ton algo de décomposition.

Tu es sûr de vouloir voir ma solution ?

Dernière modification par grim7reaper (Le 10/12/2010, à 22:03)

Hors ligne

#2118 Le 10/12/2010, à 22:04

helly

Re : /* Topic des codeurs couche-tard [2] */

Oui jsuis sûr, je le referai pas, mais pour le coup, je sèche.
Jvais bn, donc je me laisse quand même la nuit pour y refléchir smile.


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#2119 Le 10/12/2010, à 22:05

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

Oki, donc j'attendrais demain pour le poster smile.

Hors ligne

#2120 Le 10/12/2010, à 22:15

compte supprimé

Re : /* Topic des codeurs couche-tard [2] */

* Lagierl mange le BN

#2121 Le 10/12/2010, à 22:36

Elzen

Re : /* Topic des codeurs couche-tard [2] */

grim7reaper a écrit :

Moi c'est, entre autre, parce qu'il se configure en Lisp (j'ai du mal avec les langages de cette famille).

Oh, ç't'assez marrant, le Lisp tongue Il faudrait que je réessaye un peu, un de ces jours.
Et puis tongue d'abord big_smile ('plus le lien de la VO, celle-ci fera l'affaire)

Pylade a écrit :

Je voulais dire que ce n'est pas qu'un truc qui exécute bêtement des commandes. C'est un programme interactif, derrière lequel il y a un utilisateur. C'est cela un shell pour moi…
Mais bon, ça n'empêche pas dash de porter fièrement son sh à la fin…

J'suis d'accord, mais c'est à ça que sert le qualificatif « de commandes » pour moi.
Un truc pas interactif, qui ne fait que lire un truc et le renvoyer, c'est juste un « interpréteur ». Un « interpréteur de commandes », c'est un truc qui réagit aux entrées de l'utilisateur. Enfin, j'crois. Maintenant que j'y pense, c'est quand même plutôt naze, comme appellation ^^

Dernière modification par ArkSeth (Le 10/12/2010, à 22:37)

Hors ligne

#2122 Le 10/12/2010, à 22:43

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

@ArkSeth : tshirtman me l'avais déjà posté en VO dans ce topic (mais on parlait de Perl je crois). Ouais, nan le Lisp j'accroche pas. Autant j'aime bien le fonctionnel que le Lisp non (cela dit, j'ai peut-être été traumatisé par le Scheme).
En fait, quand j'y réfléchis je crois que je suis réfractaire au langage avec typage dynamique (Perl étant le seul de cet catégorie que j'utilise).

Hors ligne

#2123 Le 10/12/2010, à 23:17

Rolinh

Re : /* Topic des codeurs couche-tard [2] */

grim7reaper a écrit :

(cela dit, j'ai peut-être été traumatisé par le Scheme)

On dit Racket maintenant mad

Hors ligne

#2124 Le 10/12/2010, à 23:19

samυncle

Re : /* Topic des codeurs couche-tard [2] */

smile


Hello world

Hors ligne

#2125 Le 10/12/2010, à 23:19

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

Rolinh a écrit :
grim7reaper a écrit :

(cela dit, j'ai peut-être été traumatisé par le Scheme)

On dit Racket maintenant mad

Nan, le Scheme n'est pas mort.
J'en ai fait l'an dernier sad

Hors ligne