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.

#1876 Le 04/12/2010, à 12:27

grim7reaper

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

helly a écrit :

Hey grim, j'ai un truc bizarre :
J'essaye de faire l'exo 4 de Euler ( trouver le plus petit nombre divisble par [1..20]) et j'ai l'impression d'avoir un problème à chaque fois que j'utilise la tabulation !
J'ai donc essayé le code du tuto :

 import System.Environment
import Data.Int
  
bmiTell :: (RealFloat a) => a -> String
bmiTell bmi
    bmi <= 18.5 = "plop"
    bmi <= 25.5 = "plouf"
    otherwise = "bof"

Et à chaque fois, ça me dit :

4.hs:5:0: Parse error in pattern

T'as une idée du problème ?


Déjà tes import sont inutiles ici.
Après pour les tabulations, je ne sais pas car moi j'utilise Vim et je l'ai configuré pour que la touche Tab produise des espaces donc je n'utilise pas le caractère tabulation.
En revanche, l'erreur provient de la syntaxe. En fait c'est

bmiTell :: (RealFloat a) => a -> String
bmiTell bmi
    | bmi <= 18.5 = "plop"
    | bmi <= 25.5 = "plouf"
    | otherwise = "bof"

Sinon, tu as vu ma remarque sur truncate ?

Dernière modification par grim7reaper (Le 04/12/2010, à 12:27)

Hors ligne

#1877 Le 04/12/2010, à 12:30

helly

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

Pour les imports : oui, c'est vrai, c'est juste que je les mais de base pour l'instant.
Pour la tabulation : j'ai la même que toi, mais j'avais compris le tuto de travers, je croyais que « | » représentait la tabulation.
Pour truncate heuu… atta ! edit : ha, ok, je note.
Merci !

Dernière modification par helly (Le 04/12/2010, à 12:32)


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

#1878 Le 04/12/2010, à 13:01

helly

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

Bon, zut, l'exo 4 marche pas en moins de 1 minute hmm
Pour [1..10] ça marche nickel, jusqu'à 13 ça mouline un peu, au delà de 15 c'est le mort, alors 20…

import Data.Int

-- renvoie la liste des nombres divisible par [1..n]


ppdn :: Integer -> [Integer]
ppdn n = [x | x <- [1..], maximum (map (rem x) [1..n]) == 0 ]

Ouais, finalement j'ai pas eu besoin des « | » !
Mais t'as trouvé mieux comme algo ?

Dernière modification par helly (Le 04/12/2010, à 13:04)


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

#1879 Le 04/12/2010, à 13:10

grim7reaper

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

Oui, il y a mieux (en fait celui-là je l'ai fait sur papier avant de le faire en Haskell ^_^).
La factorisation en nombre premier peut t'aider tongue.

Hors ligne

#1880 Le 04/12/2010, à 13:17

helly

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

Ok, je retrouve mon cerveau et je vais chercher.
edit : ha ouais, jpense avoir compris l'idée.

Dernière modification par helly (Le 04/12/2010, à 13:24)


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

#1881 Le 04/12/2010, à 14:22

grim7reaper

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

Alors, ça fonctionne maintenant ?

Hors ligne

#1882 Le 04/12/2010, à 14:40

helly

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

Atta, j'ai compris comment faire, maintenant faut que j'en sorte un 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

#1883 Le 04/12/2010, à 14:42

grim7reaper

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

Ouais, c'est chiant de faire l'algo (ça va 20x plus vite de le faire sur papier), perso j'ai pas fait un truc générique (j'ai fait un truc qui te sort pour 20 et c'est tout. La flemme roll)

Édit : bon bah maintenant c'est bon, c'est générique big_smile

Dernière modification par grim7reaper (Le 04/12/2010, à 14:48)

Hors ligne

#1884 Le 04/12/2010, à 15:43

helly

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

mad !
Vivement le code qui comprend le langage humain ! mad.
Ça c'est encore un problème qui en impératif, y'a pas de problème, mais en fonctionnel…
M'enfin j'en ai quand même fait 4, jprogresse jprogresse !

Dernière modification par helly (Le 04/12/2010, à 16:11)


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

#1885 Le 04/12/2010, à 16:19

Pylades

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

tshirtman a écrit :

@Pylade: \o/
[…]

Ben, c'est justement parce que j'ai commencé l'apprentissage que je commence à rayer. tongue


tshirtman a écrit :

Oui, avant python3 l'état de l'unicode était clairement en dessous de ce qu'on pouvait attendre d'un tel langage, les changements effectués depuis cette version devraient permettre de corriger les problèmes dans les modules de ce type.

Je confirme, parmi les très nombreuses améliorations arrivées avec la version 3.0, il y a une bonne gestion de l'Unicode ; et ça c'est bien. Il n'y a plus de problèmes avec les regex ou  quoi que ce soit d'autre.

Tshirtman, tu devrais passer à Python 3 : c'est comme passer de LaTeX à XeLaTeX… smile


“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

#1886 Le 04/12/2010, à 16:56

grim7reaper

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

@helly]: Alors, ça fonctionne ?
T'as fait quoi comme code ?

C'est pas plus simple en impératif (je l'ai fait en 13 lignes, sans tail-recursion par contre, et je suis loin d'être un pro du fonctionnel).
Au fait, je ne sais pas si tu as vu, mais niveau C++ un nouveau bouquin de Stroustrup est dispo en français (bien plus digeste que l'autre, plus orienté apprentissage) :
      Programmation, Principes et pratique avec C++
      Bjarne STROUSTRUP
      Pearson Education

@Pylade : tu lis quoi comme ressources sur le C++ ?

Dernière modification par grim7reaper (Le 04/12/2010, à 17:31)

Hors ligne

#1887 Le 04/12/2010, à 17:20

helly

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

Heuuu, non, toujours pas réussi…
J'ai mis celui en standby, et jsuis passé aux autres en attendant.

C'est pas plus simple en impératif (je l'ai fait en 13 lignes, sans tail-recursion par contre, et je suis loind d'être un pro du fonctionnel).

Moi au contraire, je m'efforce de le faire le plus possible, c'est un peu le but pour penser en fonctionnel smile.

edit : ha tiens, merci pour l'info pour le bouquin, faut que je le consulte, voir si je peux le conseiller.

Dernière modification par helly (Le 04/12/2010, à 17:24)


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

#1888 Le 04/12/2010, à 17:28

grim7reaper

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

Quand je dis 13 lignes c'est en fonctionnel hein. J'ai pas fait Euler en impératif (vu que le but était de me mettre au fonctionnel aussi smile).

Quand tu seras sur les palindromes, il y a une astuce qui permet d'éliminer un max de possibilité wink.

En C, C++ ou assembleur tu peux bruteforcer comme un porc (du moins plus qu'avec les autres langages) vu que c'est compilé et que les compilo de ces langages optimisent bien. L'avantage de le faire en Haskell non-compilé (ou autres langages interprétés) c'est que ça t'oblige à réfléchir un peu (ce qui est le but).

Pour le bouquin, je l'ai acheté et il passe effectivement beaucoup mieux que le premier (et le Farfadet l'a ajouté à sa liste de bouquin qu'il conseille pour le C++ dans son topic)

Dernière modification par grim7reaper (Le 04/12/2010, à 17:29)

Hors ligne

#1889 Le 04/12/2010, à 17:33

helly

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

Encore un pavé de 1 000 pages >_<, bon, va falloir que je le regarde de plus près.


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

#1890 Le 04/12/2010, à 17:34

Pylades

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

Ben tiens, j'ai essayé de faire le 5 du coup pour voir, et j'ai mis une plombe à me rendre compte que l'opérateur de négation avait une priorité supérieure à l'opérateur de modulo… ><"
Avec la méthode du gros bourrin, je trouve le résultat en trois secondes.

Mais en réfléchissant un peu, il est possible de trouver la réponse avec du papier et un crayon…


En revanche, je ne vois pas du tout comment faire le 4.


Je vais essayer de retrouver le lien vers ma ressource…


“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

#1891 Le 04/12/2010, à 17:40

grim7reaper

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

Pylade a écrit :

Mais en réfléchissant un peu, il est possible de trouver la réponse avec du papier et un crayon…

Oui, celui-là se fait bien plus rapidement à la main qu'au codage.

En revanche, je ne vois pas du tout comment faire le 4.

Ha bah tiens, justement c'est pour lui l'astuce dont je parlais big_smile

Je vais essayer de retrouver le lien vers ma ressource…

Ok.

T'en avais fait combien d'Euler ?
Moi j'en ai fait 27 puis j'ai arrêté par manque de temps (vu que j'ai pas des masses de culture matheuses, fallait que je fasse pas mal de recherche) et pour avancer un peu dans le cours de Haskell (et dans mes cours tout court hmm).

Hors ligne

#1892 Le 04/12/2010, à 18:09

tshirtman

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

Pylade a écrit :

Tshirtman, tu devrais passer à Python 3 : c'est comme passer de LaTeX à XeLaTeX… smile

quand pygame le supporte wink

Hors ligne

#1893 Le 04/12/2010, à 18:13

Кຼزດ

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

tshirtman a écrit :
Pylade a écrit :

Tshirtman, tu devrais passer à Python 3 : c'est comme passer de LaTeX à XeLaTeX… smile

quand pygame le supporte wink

Release 1.9.0 does. Pygame from SVN builds as is with Python 3.0 and later. But Python 3 support is incomplete and still in the development stage. Not all modules have been ported. No scrap, for instance. And Numeric support will never happen, though NumPy support should be available when NumPy is itself ported. The Pygame successor, pgreloaded (Pygame Reloaded) also supports Python 3.

À mon avis ça peut se tenter.


dou

Hors ligne

#1894 Le 04/12/2010, à 18:29

Pylades

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

http://www.cplusplus.com/files/tutorial.pdf
C'est une référence connue. ^^
Et puis ça m'a l'air pas trop mauvais (grosso modo).


Sinon, je n'ai fait que quatre problèmes du Project Euler. Les 1, 2, 3 et 5. big_smile
J'ai aussi vite abandonné, comme tu peux le voir…


“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

#1895 Le 04/12/2010, à 18:39

grim7reaper

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

Hormis le "using namespace std;" et le laïus qui va avec, ça ne semble pas trop mal smile.
Il manque 2-3 mise en garde d'usage, mais ça reste au dessus de la majorité des trucs qui traîne sur Internet.

Hors ligne

#1896 Le 04/12/2010, à 18:43

Pylades

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

Oui, je sais ; je reste toujours critique… mais je l'ai choisi car c'est le meilleur que j'ai pu trouver (enfin, pour ce que je peux en juger).


“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

#1897 Le 04/12/2010, à 19:06

Pylades

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

Bon, j'ai fait les 6 et 7 pour la route, voici ma très élégante solution pour le 7 :

#!/bin/sh
cut ~/Prog/Premiers/primelist -f10001 -d\ 


“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

#1898 Le 04/12/2010, à 19:41

grim7reaper

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

C'est pas du jeu tongue, à ce compte là autant chercher directement la réponse sur Internet roll

Pour le 6 c'est simple, 2 formules et c'est fini.

Dernière modification par grim7reaper (Le 04/12/2010, à 19:42)

Hors ligne

#1899 Le 04/12/2010, à 19:48

helly

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

grim7reaper a écrit :

C'est pas du jeu tongue, à ce compte là autant chercher directement la réponse sur Internet roll

Pour le 6 c'est simple, 2 formules et c'est fini.

Mouais, faut les trouver ces 2 formules mad.


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

#1900 Le 04/12/2010, à 20:16

grim7reaper

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

Elles sont pas compliquées, il paraît qu'elles peuvent être vues en S (bon j'en sais rien moi j'ai pas fait S, mais c'est ce qu'un gars m'a dit).

Hors ligne