IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Exemples de Perl 6 (vous êtes invité à contribuer)


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut Exemples de Perl 6 (vous êtes invité à contribuer)
    Bonjour à tous,

    Il y a quelques semaines, j'ai découvert le site Project Euler qui propose une série de problèmes mathématiques. J'ai initialement résolu la plupart des problèmes avec Python, mon langage de prédilection.

    En fin de semaine, j'ai commencé à écrire la solution à ces problèmes avec Perl 6. Vous pouvez voir les solutions dans le dépôt Subversion. Vous êtes invité à contribuer si ça vous intéresse! Certains des programmes fonctionnent, mais sont trop lents et il reste beaucoup de problèmes à résoudre. Et bien sûr, vous pouvez proposer des solutions alternatives, there is more than one way to do it.

    En espérant que ça vous intéresse,

    Vincent.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Heu, y aurait-il des problèmes assez simples comme "$i valant 1, trouver la valeur de $p sachant que le total des deux est 2" ?

    Les 2 premiers sujets m'ont bien calmé

  3. #3
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Citation Envoyé par Arioch Voir le message
    Heu, y aurait-il des problèmes assez simples comme "$i valant 1, trouver la valeur de $p sachant que le total des deux est 2" ?

    Les 2 premiers sujets m'ont bien calmé
    En y réfléchissant, il est facile de trouver une solution non optimisée pour le premier problème :
    Add all the natural numbers below 1000 that are multiples of 3 or 5.
    Il suffit de prendre un hachage vide, d'y stocker tous les multiples de trois inférieurs à mille (3*1, 2*2, 3*3....) à l'aide de la propriété d'autovivification des hachages et de faire pareil avec les multiples de 5. En utilisant un hachage, on évite de stocker deux fois les multiples de 3 et de 5

    Les premiers problèmes ne sont pas si compliqués, il ne faut pas être effrayé au premier abord.

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Woufeil, tu réfléchis trop !! Inutile d'optimiser pour le premier problème !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -MList::Util=sum -e 'print sum grep {not $_ % 3 or not $_ % 5} (1..999)'
    En Perl 6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use v6;
    say [+] grep {not $^a % 3 or not $^a % 5}:1..999;
    --
    Jedaï

  5. #5
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Woufeil, tu réfléchis trop !! Inutile d'optimiser pour le premier problème !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -MList::Util=sum -e 'print sum grep {not $_ % 3 or not $_ % 5} (1..999)'
    En Perl 6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use v6;
    say [+] grep {not $^a % 3 or not $^a % 5}:1..999;
    --
    Jedaï
    On dira que j'ai rien dit avant, OK ?

  6. #6
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Arioch Voir le message
    Heu, y aurait-il des problèmes assez simples comme "$i valant 1, trouver la valeur de $p sachant que le total des deux est 2" ?

    Les 2 premiers sujets m'ont bien calmé
    La valeur de $p dépend de l'anneau dans lequel on se place, précisez la question !

    Non sérieusement les 10 premiers problèmes ne sont pas sorciers, prend ton temps, réfléchis, éventuellement fait quelques recherches sur les termes que tu ne comprends pas et tu y arriveras.

    --
    Jedaï

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Citation Envoyé par Jedai Voir le message
    La valeur de $p dépend de l'anneau dans lequel on se place, précisez la question !

    Non sérieusement les 10 premiers problèmes ne sont pas sorciers, prend ton temps, réfléchis, éventuellement fait quelques recherches sur les termes que tu ne comprends pas et tu y arriveras.

    --
    Jedaï
    Trop matheux pour moi (je hais les maths), hélas

    Les 2 premiers, je ne dis pas, je viens de relire l'énoncé plus posément. Mais après, oulah !

  8. #8
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    Arioch: Je suis pas un manique de mathématiques non plus, loin de là, mais je dois dire que je trouve Project Euler très le fun quand même. Le vrai "challenge", c'est que tous les problèmes peuvent être résolus en moins d'une minute. Tu apprends comment optimiser, ce qui est toujours pratique à savoir.

  9. #9
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par GnuVince Voir le message
    Arioch: Je suis pas un manique de mathématiques non plus, loin de là, mais je dois dire que je trouve Project Euler très le fun quand même. Le vrai "challenge", c'est que tous les problèmes peuvent être résolus en moins d'une minute. Tu apprends comment optimiser, ce qui est toujours pratique à savoir.
    Précisons que le "moins d'une minute" c'est le temps nécessaire à l'exécution du programme que tu auras trouvé après quelques heures....
    (pas pour les 10 premiers problèmes normalement, mais après certains sont plus durs tout de même)

    --
    Jedaï

  10. #10
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Arioch Voir le message
    Trop matheux pour moi (je hais les maths), hélas

    Les 2 premiers, je ne dis pas, je viens de relire l'énoncé plus posément. Mais après, oulah !
    Le 4, le 6, le 8 et le 11 sont tout à fait abordable sans mathématiques du tout.

    --
    Jedaï

Discussions similaires

  1. Evenement : Vous êtes invités au lancement de Visual Studio 2010
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 06/04/2010, 11h01
  2. [langage] Exemple de perl .
    Par letigre dans le forum Langage
    Réponses: 5
    Dernier message: 12/11/2006, 19h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo