#1876 Le 04/12/2010, à 12:27
- grim7reaper
Re : /* Topic des codeurs couche-tard [2] */
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
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 .
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
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 )
Édit : bon bah maintenant c'est bon, c'est générique
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] */
!
Vivement le code qui comprend le langage humain ! .
Ç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] */
@Pylade: \o/
[…]
Ben, c'est justement parce que j'ai commencé l'apprentissage que je commence à rayer.
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…
“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 .
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 ).
Quand tu seras sur les palindromes, il y a une astuce qui permet d'éliminer un max de possibilité .
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] */
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
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 ).
Hors ligne
#1892 Le 04/12/2010, à 18:09
- tshirtman
Re : /* Topic des codeurs couche-tard [2] */
Tshirtman, tu devrais passer à Python 3 : c'est comme passer de LaTeX à XeLaTeX…
quand pygame le supporte
Hors ligne
#1893 Le 04/12/2010, à 18:13
- Кຼزດ
Re : /* Topic des codeurs couche-tard [2] */
Pylade a écrit :Tshirtman, tu devrais passer à Python 3 : c'est comme passer de LaTeX à XeLaTeX…
quand pygame le supporte
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.
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 .
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 , à ce compte là autant chercher directement la réponse sur Internet
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] */
C'est pas du jeu
, à ce compte là autant chercher directement la réponse sur Internet
Pour le 6 c'est simple, 2 formules et c'est fini.
Mouais, faut les trouver ces 2 formules .
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