Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exos de zeros

Apprenez à programmer en suivant des règles

Anonyme
    7 août 2009 à 14:16:16

    Citation : Dalshim

    Je suis d'accord avec Ver2terre, si la personne apprend mal en ne regardant que la correction, c'est son problème, pas le notre. Montrer une solution ou donner les pistes qu'il fallait suivre permet de comparer son résultat, voir si l'on a pris un mauvais chemin, comprendre la reflexion mener par d'autre plus compétent.



    +1 !

    Ce serait utile vraiment pour tous.
    • Ceux qui ne seront arrivés à aucun résultat pourront essayer de comprendre le fonctionnement en pouvant se baser sur le code source
    • Ceux qui auront réussi à faire un peu quelque chose pourront mieux comprendre là où ils ont bloqué
    • Ceux qui ont réussi complètement l'exercice pourront comparer avec un autre code source pour étudier éventuellement une autre manière de programmer
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      7 août 2009 à 15:05:28

      Je pense que tout est dit:

      Citation :

      La correction n'est valable que pour ceux qui on envoyés des propositions , sinon pas d'intéret


      Personnellement, je préfère ne pas voir les solutions, mais je ne suis pas contre Ver2terre.
      • Partager sur Facebook
      • Partager sur Twitter
        7 août 2009 à 17:32:13

        Ok, je note les requetes de chacun, mais toujours est-il que avec l'effectif des participants je rends dubitatif.
        • Partager sur Facebook
        • Partager sur Twitter
          7 août 2009 à 22:33:55

          Citation : Dalshim

          Je suis d'accord avec Ver2terre, si la personne apprend mal en ne regardant que la correction, c'est son problème, pas le notre. Montrer une solution ou donner les pistes qu'il fallait suivre permet de comparer son résultat, voir si l'on a pris un mauvais chemin, comprendre la reflexion mener par d'autre plus compétent.


          +2
          Le forum Java est le seul à ne pas proposer des solutions aux exercices, ce qui est dommage :(
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            8 août 2009 à 12:30:33

            D'ailleurs, le fait de poster nos codes ici permet à n'importe qui d'apporter conseils, améliorations......
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              10 août 2009 à 20:14:06

              le topic est mort ou quoi?
              • Partager sur Facebook
              • Partager sur Twitter
                10 août 2009 à 20:28:20

                Citation : Ver2terre

                D'ailleurs, le fait de poster nos codes ici permet à n'importe qui d'apporter conseils, améliorations......


                +1
                • Partager sur Facebook
                • Partager sur Twitter
                J'ai tous les badges d'OpenClassrooms.
                Anonyme
                  10 novembre 2009 à 14:43:47

                  Exos tres interressants!
                  J'aimerais me lancer mais étant débutant, et comme aucune solution ne peut être visible j'ai peur d'y mettre deux ans avant de finir.
                  J'essaierais des que j'ai fini mon propre projet.
                  Sinon il est regretable que de tres bonne initiative soit tombés dans l'oublis.
                  A+
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 novembre 2009 à 8:44:24

                    Up pour savoir si c'est mort ou non car pas de nouveau travail et aucune correction :euh:
                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 mars 2010 à 15:19:35

                      Ça intéresse quelqu'un que je reprenne ce topic ?

                      Si oui, quelle difficulté / genre d'exercices vous intéresserait ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        30 mars 2010 à 15:30:38

                        pourquoi pas un exercice sur les flux et les sockets?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          31 mars 2010 à 2:55:40

                          Pourquoi pas programmer un mini jeux de votre choix et on le ferra tous ensemble pour apprendre et pas chacun de son coté
                          • Partager sur Facebook
                          • Partager sur Twitter
                            31 mars 2010 à 10:34:11

                            j approuve les 2 idees ^^

                            les sockets car c ' est juste super important en entreprise( je travaille dessus en ce moment et je suis un peu a la ramasse) et un exo collectif pour apprendre plein de point de vue different sans pour autant bloquer indefiniment sur un endroit xd
                            • Partager sur Facebook
                            • Partager sur Twitter
                              31 mars 2010 à 15:09:17

                              ça sera intéressant de faire plusieurs niveaux de difficulté (un peu comme sur les sujets d'exos C ou C++)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                31 mars 2010 à 15:37:24

                                Ok, je vous en propose un pour demain.

                                Je vais fonctionner sur le principe suivant :
                                - Un topic par exo.
                                - Vous postez vos solutions, comme ça chacun peut s'entraider.
                                - Ceux qui préfèrent pourront poster leur soluce en MP à "ExoJava"
                                - Difficulté croissante des questions.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  31 mars 2010 à 15:38:45

                                  Vas-tu proposer des corrections ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    31 mars 2010 à 15:46:37

                                    Ben oui, c'est le but des exercices.

                                    Par contre je pense pas donner une solution complète qui marche mais les indications de comment faire (mais on verra ça en fonction des réponses).
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      31 mars 2010 à 15:59:26

                                      Vraiment une bonne idée, pour apprendre Java.
                                      Bon Courage et on attend avec impatience tes exos .
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        31 mars 2010 à 19:16:43

                                        Exercice d'avril 2010




                                        Merci de participer sur le topic lié, et pas ici !
                                        (C'est bien moi qui ait repris le compte ExoJava).
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          12 juillet 2010 à 12:33:56

                                          je suis GK à peine inscrit sur le forum. juste faire coucou
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            15 novembre 2010 à 0:14:37

                                            Malgré la remarque de beaucoup , les exercices sont d'un niveau assez important pour un zéro il serait bien de commencer par des exercices utiles parce que faire un jeu de billiard ... , faut prendre en compte ceux qui commence à programmer en java.

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              15 novembre 2010 à 0:56:36

                                              Il serait peut-etre temps de relancer cette section, mais ce n'est pas marrant si les zeros ne jouent pas le jeu.

                                              Je vais essayer un exo pour le mois prochain, pour "vrai zero" cette fois, en espérant que certains ne diront pas cette fois "c'est tellement facile que je ne le ferais pas" ^^ .

                                              Peut-etre que s'il y'a des "corrections" en plus ça aiderai certain ? quoique je continue à croire que faire des corrections pour un exercice de programmation aussi simple soit-il peut toujours être délicat.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              J'ai tous les badges d'OpenClassrooms.
                                                16 novembre 2010 à 8:37:14

                                                Personnellement
                                                quand je veux apprendre un langage
                                                je fais un jeu de +/-
                                                c'est parfait pour débuter je trouve et comprendre la syntaxe
                                                en effet le jeu est :
                                                facile à comprendre
                                                pas d'interface graphique
                                                ne pas fait appel à des fonctions
                                                permet plein de bonus (nombres de joueur, niveau de difficulté, nombres de coup, développement d'interface graphique)
                                                ensuite quand je maîtrise cela je m'attaque à un jeu de pong
                                                beaucoup plus chaud celui la (d'ailleurs ma boule ne bouge toujours pas ^^)
                                                mais permet de développer une interface graphique et d'appliquer la POO
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  20 novembre 2010 à 17:44:27

                                                  merci pour cette jugestion
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    19 mars 2011 à 14:43:21

                                                    C'est un peu plate qu'il est arrêté d'en sortir...
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      20 mars 2011 à 20:30:18

                                                      C'est juste une mauvaise période. Ils ne vont pas.tarder a sortir.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      J'ai tous les badges d'OpenClassrooms.
                                                        31 mars 2011 à 22:45:27

                                                        Exercice du mois d'avril 2011 : La blague de l'année.



                                                        Thèmes:

                                                        Algorithme, Collections, Flux d'entrée/sortie

                                                        Objectif :

                                                        Le but de notre exercice du mois est tout simplement de concevoir un bot pour un chat en langage Java. Vous verrez qu'il s'agit d'un exercice très simple. Je vous guiderai de toute façon pour sa réalisation, alors retroussez vos manches, et commençons à coder.

                                                        Cahier de charge:

                                                        Le 1er avril encore appelé jour des farces, est le jour parfait pour vous apprendre quelques tours de passe passe. Ici nous n'allons pas faire des choses extraordinaires rassurez vous on va tout simplement tenter de créer un programme qui s'occupe de discuter avec nos contacts gmail pendant que nous on fait autre chose. C'est le moment ou jamais de faire croire à vos copains que vous êtes encore chez vous devant votre ordinateur alors que ce n'est pas le cas. Vous pouvez aussi l'utiliser comme alibi pour ce que vous voulez, mais bon je ne souhaite pas non plus vous donner de mauvaises idées, préparez vous pour la belle aventure qui durera environ 1 heure pour un débutant qui as bien lu son cours de Java.
                                                        A la fin du mois, je mettrai sur ce topic une proposition correction de l'exercice pour ceux qui ne sont pas arrivés au bout.

                                                        Question 1: L'écho

                                                        Premièrement je vais vous demander de créer une classe Java appelée « Echo » dans laquelle vous allez modifier la classe Main pour en faire un programme qui renvoi à l'utilisateur tout ce qu'il tape au clavier (d'ou le terme écho). Le programme s’arrête lorsque l'utilisateur saisi la chaîne de caractère « exit ».

                                                        Vous devez pouvoir obtenir un résultat comme ci-dessous :
                                                        willard@willard-laptop~$:java echo
                                                        willard@willard-laptop~$:Bienvenue, veuillez saisir un texte
                                                        willard@willard-laptop~$:Bonjour a vous
                                                        willard@willard-laptop~$:Vous avez écrit : Bonjour à vous
                                                        willard@willard-laptop~$:Qui est-tu ?
                                                        willard@willard-laptop~$:Vous avez écrit : Qui est-tu ?
                                                        willard@willard-laptop~$:exit


                                                        Indications : Pour gérer les flux clavier, vous avez deux méthodes à votre disposition, la classe Scanner et la classe BufferedReader, c'est à vous de faire le bon choix.

                                                        Question 2: Comprendre autrui

                                                        Dans cette question je vais vous demander un peu plus de réflexion. Je vous explique le principe. Il faut une sorte de dictionnaire des réponses éventuelles à toutes les questions que l'on pourrait nous poser. Comme je vous l'ai promis, on va faire au plus simple, c'est à dire que l'on va stocker le dictionnaire dans la mémoire (et donc en dur dans le code source) pour ne pas se prendre la tête avec la gestion des fichiers.
                                                        Vous allez donc creer une classe appelée « DicoReponse », elle contiendra au moins 2 attributs :
                                                        • String texte : qui correspond au texte de la réponse que nous souhaitons donner
                                                        • Arraylist<Arraylist<String>> store: qui correspond aux combinaisons de mots clés qui pourrais conduire à cette réponse.
                                                          Par exemple si l'on souhaite représenter : " Si une question contient les termes « comment », « tu » et « va » ou les termes « la », « forme » et « ? » on réponds automatiquement en disant « Salut, tout va bien aujourd'hui » ".
                                                          On aura donc l'instance de la classe DicoReponse correspondant à:
                                                          - texte -> Salut, tout va bien aujourd'hui
                                                          - store ->
                                                          ou\et 1 2 3
                                                          1 comment tu va
                                                          2 la forme ?




                                                        Ensuite il faut créer les méthodes :
                                                        • Arraylist getMotsCles(String question): Qui vous renvoie la liste des mots clés uniques d'une question.
                                                          Exemple, si la question est : "yo willard, la forme ou pas la forme ?", votre méthode doit renvoyer une liste contenant les chaines [yo, willard, la, forme, ou, pas]
                                                        • DicoReponse getReponse(Arraylist mots): Qui cherche la réponse la mieux adaptée aux mots clés de votre question. Je vous laisse le choix de l'algorithme que vous voulez. Pensez a faire la distinction entre les clauses "ou" et les clauses "et"
                                                        • void affiche(DicoReponse rep) : Méthode qui affiche la réponse correspondante à l'instance de DicoReponse en paramètre


                                                        Si vous êtes arrivés là, vous avez déjà fait la plus grande partie du boulot, il ne vous reste plus qu'un dernier effort.

                                                        Question 3: Discutons avec gTalk

                                                        Je tiens tout d'abord à vous montrer comment se connecter et échanger sous gTalk grâce au langage Java. Pour cela commencez par télécharger l'API Smack (drôle de nom, n'est-ce pas ?) et intégrer la dans votre projet (rajoutez les 4 jars). Ensuite vous pouvez lire le bout de code suivant avec les commentaires.
                                                        import java.io.IOException;
                                                        
                                                        import org.jivesoftware.smack.ConnectionConfiguration;
                                                        import org.jivesoftware.smack.PacketListener;
                                                        import org.jivesoftware.smack.XMPPConnection;
                                                        import org.jivesoftware.smack.XMPPException;
                                                        import org.jivesoftware.smack.packet.Message;
                                                        import org.jivesoftware.smack.packet.Packet;
                                                        import org.jivesoftware.smack.packet.Presence;
                                                        
                                                        
                                                        public class TestGtalk {
                                                        	
                                                        	public static void main(String[] args) throws XMPPException, IOException
                                                        	{
                                                        		// on se connecte au server gtalk
                                                        		ConnectionConfiguration connConfig = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
                                                        		XMPPConnection connection = new XMPPConnection(connConfig);
                                                        		connection.connect();
                                                        		
                                                        		// on se connecte avec notre login et mot de passe
                                                        		connection.login("willard@gmail.com", "password"); // mon adresse et mon mot de passe
                                                        		 
                                                        		// modification de l'info de statut
                                                        		Presence presence = new Presence(Presence.Type.available);
                                                        		connection.sendPacket(presence);
                                                        		 
                                                        		// envoyer un message a quelqu'un d'autre
                                                        		Message msg = new Message("calizero@gmail.com", Message.Type.chat); // adresse mail de notre correspondant
                                                        		msg.setBody("hello mec tu es là ?");
                                                        		connection.sendPacket(msg);
                                                        		 
                                                        		// reception des messages
                                                        		PacketListener pl = new PacketListener() {
                                                        		@Override
                                                        			public void processPacket(Packet p) {
                                                        				System.out.println(p.getFrom() + ": " + p.toString()); // on affiche ce que l'on reçoit
                                                        				if (p instanceof Message) {
                                                        						Message msg = (Message) p;
                                                        						System.out.println(msg.getFrom() + ": " + msg.getBody()); // si on a reçu un message, on l'affiche
                                                        					}
                                                        			}
                                                        		};
                                                        		connection.addPacketListener(pl, null);
                                                        		 
                                                        		// on attend la fin du programme
                                                        		System.in.read();
                                                        		 
                                                        		// on modifie le statut en indisponible 
                                                        		presence = new Presence(Presence.Type.unavailable);
                                                        		connection.sendPacket(presence);
                                                        	}
                                                        }
                                                        


                                                        Votre dernière mission, si vous l'acceptez est d'adapter le code que je vous ai donné afin qu'il puisse envoyer des réponses en adéquation avec les questions qui vous sont posées.

                                                        Pistes d'améliorations


                                                        Vous pouvez encore améliorer ce programme en rajoutant les fonctionnalités suivantes :
                                                        • Enregistrer le dictionnaire des réponses dans un fichier plat (Txt, Xml, csv, etc.), il sera plus facilement modifiable
                                                        • Créer des méthodes pour la mise à jour par programme de votre dictionnaire de réponses
                                                        • Créer une interface GUI pour démarrer l'application et effectuer toutes les tâches
                                                        • Conserver l'historique des conversations




                                                        Voila donc l'exercice du mois d'Avril, j'espère que vous allez vous amuser à le réaliser. La correction sera disponible ici dans 1 mois exactement pour ceux qui ne sont pas arrivés jusqu'au bout. Néanmoins Si vous avez des remarques, des questions sur l'exercice, allez les poser dans ce topic dédié.

                                                        Bonne chance à tous
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Exos de zeros

                                                        × 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