Partage
  • Partager sur Facebook
  • Partager sur Twitter

[meta][exercices] de l'organisation

    28 juin 2011 à 9:33:43

    Je pense que je peux m'en occuper. Mais je ne veux pas me retrouver tout seul pour l'organiser, sinon c'est pas la peine de créer un compte ou je suis seul à accéder.
    Le topic actuel a eu un nouvel exercice, mais il n'est pas marqué dans le sommaire, il nous occupe maintenant parce qu'on a suivi la conversation, mais un nouveau venu n'ira pas chercher l'énoncé...

    Edit : j'aimerais savoir qui me soutiendra dans cette tâche !
    • Partager sur Facebook
    • Partager sur Twitter
      28 juin 2011 à 19:24:41

      Au besoin, j'accepte d'aider.
      Mais je ne garantis rien quant à ma disponibilité, donc si jamais je ne réponds plus, il te faudra chercher un nouvel équipier. Enfin, je pense quand même rester un moment. :)

      Du coup, je vais dès maintenant créer le compte, je t'envoie les identifiants (Sûrement Exercices C++ ; ou le nom le plus proche que j'aurai pû trouver), après il n'y aura plus qu'à créer le topic (ce dont je vais essayer me charger juste après le MP).

      Ensuite, il n'y aura plus qu'à authentifier le topic. :)
      • Partager sur Facebook
      • Partager sur Twitter
        28 juin 2011 à 19:37:17

        Voilà, le compte est créé. Si quelqu'un a une objection, surtout n'hésitez pas à le dire (mais de préférence avant que le topic n'aie vraiment démarré).

        J'envoie le lien vers le nouveau topic très bientôt.

        Edit : Voici le topic créé !

        http://www.siteduzero.com/forum-83-664 [...] ntrainer.html

        (Je n'ai pas encore eu le temps de noter la difficulté des exercices, et je dois me déconnecter d'internet pour le moment, mais n'hésitez surtout pas à proposer vos notes de difficulté. Pour le moment, j'ai uniquement repris les exercices de Nanoc, mais il y aurait aussi l'interpréteur Befunge à reprendre, par exemple.)

        A bientôt,
        Equinoxe
        • Partager sur Facebook
        • Partager sur Twitter
          28 juin 2011 à 21:18:08

          ok, je vois ça tout de suite :)
          Edit : Pas mal, pas mal :)
          • Partager sur Facebook
          • Partager sur Twitter
            28 juin 2011 à 23:38:13

            je t'aiderais avec plaisir :) (surtout pour trouver des exercices sur la SFML par exemple) mais pour le moment, je suis occupé avec nours. si t'a besoin de moi, tu sais où me trouver ;)
            • Partager sur Facebook
            • Partager sur Twitter
              29 juin 2011 à 0:46:47

              Petite typo: s/poli/poly/
              • Partager sur Facebook
              • Partager sur Twitter
              C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                29 juin 2011 à 0:50:30

                Je me suis dis "OK pour proposer des exercices, gérer le sujet etc..." mais qui vas les corrigés ? Faudrait peut être que certains vienne vous aider ^^ à les coder... Voila j'espère que certains voudrais bien se proposer (je pourrais mais suis encore débutant mais j'essayerais quand même de mon coté ^^ )
                • Partager sur Facebook
                • Partager sur Twitter
                  29 juin 2011 à 7:54:42

                  Je peux me proposer pour les corrections (soit à partir de mon propre code, soit à partir d'un code simple, fonctionnel et clair comme base pour comparer)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 juin 2011 à 9:50:02

                    Autre truc (à propos du nouveau topic), il faudrait rajouter des liens vers la (/les) correction(s)
                    • Partager sur Facebook
                    • Partager sur Twitter
                    C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                      29 juin 2011 à 11:04:32

                      Citation : lmghs

                      Autre truc (à propos du nouveau topic), il faudrait rajouter des liens vers la (/les) correction(s)


                      Oui, ce sera fait :)

                      Au fait, je pense qu'il faut changer la façon de donner la difficulté : sur 20, la moitié des personnes qui l'ont lu ont crû que c'était une note de qualité...
                      Je propose de supprimer le "/20" qui est trompeur...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 juin 2011 à 11:09:58

                        Mets des petites flammes de 1 à 5 ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                        C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                          29 juin 2011 à 11:20:12

                          Citation : lmghs

                          Mets des petites flammes de 1 à 5 ?


                          Ou le même système de notation de difficulté que sur les tutoriels (avec plus de graduations si nécessaire).
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                            29 juin 2011 à 11:24:01

                            C'est pas du 1 à 20 ? Alors oui en effet. Restez à l'identique.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                              29 juin 2011 à 11:29:33

                              Citation : lmghs

                              Mets des petites flammes de 1 à 5 ?


                              Oui je pense qu'une échelle sur 5 me semble raisonnable.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                29 juin 2011 à 13:24:45

                                J'ai envoyé l'image de difficulté (cf. topic d'exercices). Vous en pensez quoi ?

                                L'échelle de 1 à 5 me semble très bien, à moi aussi. :)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  29 juin 2011 à 13:38:54

                                  J'aime bien et c'est assez représentatif :)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    29 juin 2011 à 13:46:52

                                    Bon ben que l'on commence ces exércices :p
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      29 juin 2011 à 14:18:25

                                      Il est à présent en post-it :) !
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        29 juin 2011 à 14:55:25

                                        Citation : lmghs

                                        Autre truc (à propos du nouveau topic), il faudrait rajouter des liens vers la (/les) correction(s)



                                        J'ai ajouté une colonne et commencé à le faire :)

                                        Edit :
                                        Je propose d'ajouter sur le premier post que les solutions apportées devraient utiliser la POO un maximum (eg: pas la moitié du programme dans le main ou fonctions libres !).
                                        voir mon post sur le sujet : http://www.siteduzero.com/forum-83-664 [...] html#r6396510
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          30 juin 2011 à 15:05:08

                                          Bon encore pour le main, je comprend. Je connais des gens qui détestent qu'il y ai une structure de contrôle dans le main.
                                          Mais faire de la POO à toutes les sauces :/ , je pense qu'il faut pas en exagéré.

                                          Je suis pour la POO, seulement quand cela apporte un avantage valable. Ici ::Grill, serait pratique pour une IA. ::Joueur, je vois pas l'utilité. Dans tous les cas, il n'y auras que 2 joueurs.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles  - ♡ Copying is an act of love.
                                            30 juin 2011 à 15:17:16

                                            Citation : @che

                                            Bon encore pour le main, je comprend. Je connais des gens qui détestent qu'il y ai une structure de contrôle dans le main.
                                            Mais faire de la POO à toutes les sauces :/ , je pense qu'il faut pas en exagéré.

                                            Je suis pour la POO, seulement quand cela apporte un avantage valable. Ici ::Grill, serait pratique pour une IA. ::Joueur, je vois pas l'utilité. Dans tous les cas, il n'y auras que 2 joueurs.



                                            +1 (cf mon commentaire dans le sujet des exercices).
                                            Je trouve ça bien que des personnes investissent de leurs temps pour corriger les exos, mais il faut aussi avoir un niveau correcte en C++ pour proposer une correction, et la ce n'est pas le cas( vouloir mettre de la POO à tout prix...)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              30 juin 2011 à 15:34:17

                                              Je ne suis pas pour obliger à sortir des classes. Il faut quelles viennent naturellement.
                                              Maintenant, pour le jeu, ce n'est pas déconnant : "for each p: player { p.play() };"
                                              Et suivant qui est le joueur, on passera par le clavier, ou un min-max.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                                                30 juin 2011 à 15:39:38

                                                Ben justement ! Tu parles d'IA (on peut aussi parler d'un joueur réseau) : quelle solution propre (en C++ j'entends) as-tu pour contourner la fonction virtuelle pure play() de ::Player ? (à par un pointeur de fonction, mais c'est bien plus moche !)
                                                De plus qui te dis que le joueur 1 n'a pas envie de voir apparaître "c'est maintenant au tour de @che !" ? Pourquoi devrait-on se cantonner à 'O' et 'X' ? Pourquoi ne pas enregistrer les données du joueur avec protection par mot de passe ? (ie: se connecter à son compte, pourquoi pas en ligne si le réseau est implémenté)
                                                Après, pourquoi le débutant ne voudrait pas créer une variante du morpion à 3 joueurs ?
                                                C'est là que j'aime la POO : tu peux améliorer autant que tu veux, ça reste propre !

                                                @neo : je t'invite à relire ceci avant de commencer à me traiter d’incompétent :

                                                Citation : germino

                                                j'ajouterai que le but de ce topic est d'abord d'aider les débutants à pratiquer la POO même si sur de si petits projets on peut facilement s'en passer : comment vont-ils pouvoir aborder de plus gros projets en POO s'ils ne l'ont pas pratiqué et habitué sur de petits exercices ?


                                                J'ajoute ceci : comment peut-on dire ce qu'on lit souvent sur les forums de programmation comme ici (je suis parfaitement de cet avis et j'imagine que vous aussi) :

                                                Citation : les bons pédagogues à l'attention des débutants

                                                Il faut commencer par de petits projets avant de vous lancer dans des gros. Sinon, vous n'arriverez à rien !



                                                et en même temps dire que durant les petits projets d'entrainement il ne faut pas employer les grands moyens des grands projets parce que ça n'est pas approprié pour un si petit projet ?

                                                C'est extrêmement contradictoire ! Comment voulez-vous que les débutants puissent espérer se lancer un jour dans ces "grands" projets si on ne leur apprend jamais comment faire ?

                                                Il faut développer chez eux le réflexe et la façon de penser de la programmation orientée objet ! Ces exercices sont là pour les préparer, la théorie n'est pas suffisante pour savoir programmer correctement en POO !

                                                edit : merci lmghs pour cet avis qui corrobore la première partie de ma réponse :)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  30 juin 2011 à 15:49:15

                                                  Disons qu'il ne faut pas être extrémiste. Si la bonne pratique est de définir des fonctions libres, alors non il ne faut pas sortir des classes (cf la question d'il y a un jour où deux où l'on assistait à une dérivation de vector pour lui rajouter ... operator<<).
                                                  Pour ça, faire des classes non!

                                                  Si le prochain exo tourne autour des développements limités, on ne va pas mettre cos, tan, exp & cie dans une classe pour "faire OO" -- d'autant cela ne le serait pas non plus.

                                                  En revanche, je te rejoins pour montrer les bonnes pratiques. C'est juste que l'OO n'est LA bonne pratique passe-partout.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                                                    30 juin 2011 à 15:59:24

                                                    Oui, mais tu avoueras que pour le sujet qui nous occupe, l'OO est plus adapté !
                                                    Je ne trouve les fonctions libres intéressantes que pour la redéfinition d'opérateurs externes agissant sur deux classes qui est justifiée par le fait qu'il n'y a pas de raison de la mettre plus dans l'une que dans l'autre (edit : ou qui surtout demande à modifier une classe ne nous appartenant pas !).

                                                    Par contre, je vais me permettre de te contredire au sujet des cos tan et cie : il suffit d'imaginer que int/float/double sont des classes pour intégrer ces fonctions en tant que méthodes (idem à std::string !)

                                                    (eg: imagine que tu aies à définir la classe BigInt qui permette de calculer avec une très grande précision : y'a pas de raison d'en faire des fonctions externes !)
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      30 juin 2011 à 16:10:35

                                                      il ne faut pas obliger à utiliser les classe, seulement encourager, car c'est quelque chose qui viens en pratiquant.
                                                      Si c'est pour faire une classe Helloworld qui écrit "Hello world" quand on appel le constructeur ;) .
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        30 juin 2011 à 16:13:23

                                                        Citation : germino

                                                        Ben justement ! Tu parles d'IA (on peut aussi parler d'un joueur réseau) : quelle solution propre (en C++ j'entends) as-tu pour contourner la fonction virtuelle pure play() de ::Player ? (à par un pointeur de fonction, mais c'est bien plus moche !)
                                                        De plus qui te dis que le joueur 1 n'a pas envie de voir apparaître "c'est maintenant au tour de @che !" ? Pourquoi devrait-on se cantonner à 'O' et 'X' ? Pourquoi ne pas enregistrer les données du joueur avec protection par mot de passe ? (ie: se connecter à son compte, pourquoi pas en ligne si le réseau est implémenté)


                                                        Bon dans un cas aussi extrémiste, il est évident qu'une class s'impose. Ici, nous n'avons besoin que d'un int pour gérer le numéro du joueur.

                                                        Citation : germino

                                                        Après, pourquoi le débutant ne voudrait pas créer une variante du morpion à 3 joueurs ?


                                                        Ben il n'a qu'a modifier le code de gestion du numéro. Evidamment, il faudra utiliser autre chose que j=3-j; mais le principe reste le même.

                                                        Citation : germino

                                                        C'est là que j'aime la POO : tu peux améliorer autant que tu veux, ça reste propre !

                                                        On peut obtenir des code extrêmement sale même avec la POO. D'ailleurs, abusées des class y contribue.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles  - ♡ Copying is an act of love.
                                                          30 juin 2011 à 16:13:31

                                                          Citation : germino

                                                          Oui, mais tu avoueras que pour le sujet qui nous occupe, l'OO est plus adapté !
                                                          Je ne trouve les fonctions libres intéressantes que pour la redéfinition d'opérateurs externes agissant sur deux classes qui est justifiée par le fait qu'il n'y a pas de raison de la mettre plus dans l'une que dans l'autre (edit : ou qui surtout demande à modifier une classe ne nous appartenant pas !).

                                                          Par contre, je vais me permettre de te contredire au sujet des cos tan et cie : il suffit d'imaginer que int/float/double sont des classes pour intégrer ces fonctions en tant que méthodes (idem à std::string !)



                                                          mauvais exemple désolé ... std::basic_string est l'exemple même d'un mauvais design, une bonne grosse classe monolithique. Avoir des functions membres (méthodes à un autre sens) ça introduit un couplage fort, c'est pour ça que quand on peut avoir des fonctions libres (dans un namespace associé à la classe pour profiter de l'ADL même) c'est mieux, ça permet de réutiliser ces dernières.
                                                          (cf par exemple le design de boost.graph)
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            30 juin 2011 à 16:18:15

                                                            Pourquoi définir en membre ce que l'interface de la classe te permet de faire depuis l'extérieur ?
                                                            Voilà une question à la réponse tout sauf triviale.

                                                            string est reconnue comme un échec : trop de fonctions.
                                                            Mets cos en membre de double et ... tu assistes à un foirage de l'ampleur de celui des libs de java : il faut la redéfinir pour float, pour long double, etc. Pourtant l'algo est le même.

                                                            Si tous les algos standards ne sont pas membres, il y a une excellente raison à cela. Stepanov dans son /notes on programming/ sous-entendais assez fortement que si begin() est une fonction membre des divers conteneurs, c'était pour faire plaisir au courant aveuglé par l'OO à l'époque.
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

                                                            [meta][exercices] de l'organisation

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown