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

Langages de programmation Discussion :

Programming challenge n#1


Sujet :

Langages de programmation

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Programming challenge n#1
    voici un premier defis et j'espere que mon idée trouve assez de popularité :
    (vous pouvez utilisez n'importe quel language de programmation)
    l'ennoncé du défis:
    ecrivez un programme qui lit une phrase en francais et l'encode en 'alphabet de morse' et vis-vers-ca lire un code de morse et le changer en texte.il est preferable de laisser de l espace entre le charactere du 'morse code' pour que ca soit lisible.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Morse: .... . .-.. .-.. ---   .-- --- .-. .-.. -..
    
    texte: HELLO WORLD
    pour plus d'information a propos de l alphabet de morse :
    http://fr.wikipedia.org/wiki/Alphabet_morse
    BONNE CHANCE.

  2. #2
    Expert éminent
    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
    Points : 8 586
    Points
    8 586
    Par défaut
    Hmm, ça ressemble assez à des défis que j'ai déjà vu dans d'autres endroits.
    J'espère que tu n'es pas en train de nous utiliser pour répondre à la prochaine question de ton DS.
    vis-vers-ca
    Ca s'écrit vice-versa.

    Par ailleurs le défi est trivial quel que soit le langage (on peut à peine parler de défi même...).

    --
    Jedaï

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Jedai Voir le message
    J'espère que tu n'es pas en train de nous utiliser pour répondre à la prochaine question de ton DS.
    non,pas du tout !!
    je vais poser toute une série de challenges et j'ai commencé par celui la qui est plus ou moins facile, et prepares toi pour les prochains qui seront relativement difficile.

    Citation Envoyé par Jedai Voir le message
    Ca s'écrit vice-versa.
    désole pour mon francais :tirée par les cheveux

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Points : 2 004
    Points
    2 004
    Par défaut
    C'est réellement facile

    A la limite en code marin (section sémaphore à deux bras), ça devient un peu plus dur, mais là... Pour info, voilà un prog C qui fait la translation avec la sémaphore à deux bras :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    #include <stdio.h>
    #include <string.h>
     
    void saisie();
    void decoup (char* chaine);
    void traduc (int longueur, char* chaine);
     
    int main(int argc, char** argv)
    {
        saisie();
     
        fflush(stdin); /*sert a vider le buffer d'entrée sortie*/
        getchar();  /*sert a attendre la saisie au clavier*/
    	return 0;
    }
     
    void saisie()
    {
        char chaine[256];
        printf("Entrez votre phrase a traduire : ");
        fgets(chaine,256,stdin);
        decoup(chaine);
    }
     
    void decoup (char* chaine)
    {
      char * pch; /*tableau pch*/
      pch = strtok (chaine," ");/*on découpe chaine du début jusqu'au premier espace*/
      while (pch != NULL)/*tant que le tableau pch n'est pas vide*/
      {
        traduc(strlen(pch), pch);/*on appelle traduc sur le bout de chaine*/
        pch = strtok (NULL, " ,.");/*on redécoupe la chaine jusqu'ai prochain espace, virguke ou point*/
      }
    }
     
    void traduc (int longueur, char* chaine)
    {
        int i,j,k,l;
        l=0;
        char fin[5][8] = {"       ","       ","  ()   "," |^^|  "," [][]  "};
        char tab[26][5][8]= 
          {{"       ","       ","   ()  ","  /^^| "," <>][] "},/*a*/
          {"       ","       ","  _()  ","[] ^^| ","   ][] "},/*b*/
          {"       ","       ","<> ()  ","   ^^| ","   ][] "},/*c*/
          {"   []  ","  |    ","   ()  ","   ^^| ","   ][] "},/*d*/
          {"       ","       ","  () <>"," |^^/  "," [][   "},/*e*/
          {"       ","       ","  ()_  "," |^^ []"," [][   "},/*f*/
          {"       ","       ","  ()   "," |^^   "," [][ <>"},/*g*/
          {"       ","       ","[]_()  ","  /^^  ","<> ][  "},/*h*/
          {"       ","<>     ","   ()  ","  /^^  ","<> ][  "},/*i*/
          {" []    "," |     "," ()_[] "," ^^    ","[][    "},/*j*/
          {"     []","    |  ","  ()   "," /^^   ","<>][   "},/*k*/
          {"     <>","    /  ","  ()   "," /^^   ","<>][   "},/*l*/
          {"       ","       ","  ()_[]"," /^^   ","<>][   "},/*m*/
          {"       ","       ","  ()   "," /^^   ","<>][<> "},/*n*/ 
          {"       ","<>     ","  _()  ","[] ^^  ","   ][  "},/*o*/
          {"     []","    |  ","[]_()  ","   ^^  ","   ][  "},/*p*/
          {"     <>","     / ","[]_()  ","   ^^  ","   ][  "},/*q*/
          {"       ","       ","  _()_ ","[] ^^[]","   ][  "},/*r*/
          {"       ","       ","[]_()  ","   ^^  ","   ][<>"},/*s*/
          {"    [] ","<>  |  ","   ()  ","   ^^  ","   ][  "},/*t*/
          {"     <>","<>   / ","   ()  ","   ^^  ","   ][  "},/*u*/
          {" []    ","  |    ","   ()  ","   ^^  ","   ][<>"},/*v*/
          {"     <>","     / ","  ()_  ","  ^^ []","   ][  "},/*w*/
          {"     <>","     / ","  ()   ","  ^^   ","   ][<>"},/*x*/
          {"       ","<>     ","  ()_[]","  ^^   ","   ][  "},/*y*/
          {"       ","       ","  ()_[]","  ^^   ","  ][<> "}};/*z*/
     
        char* lettre = "abcdefghijklmnopqrstuvwxyz";                                      
        for (i = 0; i<5; i++)   //boucle des colonnes
        {
            for (j=0; j<longueur; j++)   //chaque lettre de chaine
            {
                for (k = 0; k<27; k++)  //chaque lettre de lettre
                {
                    if (chaine[j] ==  lettre[k])  //k contient l'indice de la lettre a traduire  
                    {
                            printf("%s ",tab[k][i]); //on affiche la ligne correspondante                      
                            break;         //on sort de la boucle
                    }
                }
            }
            printf("%s",fin[l]);/*affiche le flag de fin ligne à ligne*/
            l++;
            printf("\n");         
        }    
    }

    Rien que ça, ce n'est pas difficile. Alors en morse ou l'affichage e fait sur une ligne...
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    oui t'as raison ,le code marin est quand meme assez interessant .
    alors,maintenant on a deux defis

    pour les debutant il est preferable d'attaquer le 1er defi de l'alphabet de morse .quant aux professionels ,vous pouvez attaquer l'idée de 'Woufeil' et essayer d optimiser son code voir l ecrire en d autre langages ...

    @+

  6. #6
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Citation Envoyé par digital_mind Voir le message
    (vous pouvez utilisez n'importe quel language de programmation)
    En Sed :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    s/\(.\)/\1 /g
    s/A/·-/g
    s/B/-···/g
    s/C/-·-·/g
    s/D/-··/g
    etc.

    Dans l'autre sens, ce n'est pas plus dur.

    L'idée des défis me plait (enfin, il y en a déjà dans d'autres sections), mais ce "problème" n'est pas intéressant.

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par LLB Voir le message
    En Sed :[CODE]

    L'idée des défis me plait (enfin, il y en a déjà dans d'autres sections), mais ce "problème" n'est pas intéressant.
    oui moi aussi je trouve que cette idée va aporter du nouveau au forum.
    je vais essayer de chercher des defis d'un niveau plus poussé

  8. #8
    Expert éminent
    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
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par digital_mind Voir le message
    oui moi aussi je trouve que cette idée va aporter du nouveau au forum.
    je vais essayer de chercher des defis d'un niveau plus poussé
    Tu peux aller voir ce qui a été fait du côté des langages fonctionnels, ce n'est pas parfait, mais c'était un peu plus intéressant.

    --
    Jedaï

  9. #9
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Tu peux aller voir ce qui a été fait du côté des langages fonctionnels, ce n'est pas parfait, mais c'était un peu plus intéressant.

    --
    Jedaï
    mais leurs defis doivent etre resolu en utilisant un langage fonctionnel mais la tous les langages sont possibles

  10. #10
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Non : tous les langages sont utilisables. Regarde, il y a du C, du C++, etc.

    L'intérêt à la base est de pouvoir comparer les langages fonctionnels entre eux, et avec les autres langages. Mais il n'y a pas de restriction.

    Quand on y réfléchit, c'est pas évident de faire une séparation stricte et de limiter au fonctionnel. Un code Caml utilisant de l'impératif, serait-il accepté ? Et un code C++ implémenté avec un style fonctionnel ? Ce n'est pas pour rien si même l'ICFP autorise tous les langages.

    Tu es donc le bienvenu là-bas. Et avec un peu de chances, tu seras convaincu par les langages fonctionnels. Dans tous les cas, c'est intéressant de comparer son langage favori avec les autres : des différences énormes, en terme de clarté et de concision, apparaissent parfois.

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    ok
    je vais y participer la-bas
    merci pour votre comprehension

Discussions similaires

  1. Supprimer 'C:\Program Files\PostgreSQL\8.0\data' ?
    Par TheLeadingEdge dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 18/07/2005, 11h47
  2. [HTTP] Comment utiliser les POST par programation
    Par Popof dans le forum Général Conception Web
    Réponses: 9
    Dernier message: 31/01/2005, 09h14
  3. Fragment & vertex program
    Par charly dans le forum OpenGL
    Réponses: 5
    Dernier message: 19/03/2004, 19h47
  4. [TP]Pascal dvd records program
    Par int21h dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 16/12/2003, 02h47
  5. fragment program sur geForce4 Ti4200
    Par sebh dans le forum OpenGL
    Réponses: 6
    Dernier message: 03/12/2003, 22h31

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