Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer un Programme de Calcul

    17 mai 2017 à 14:18:02

    .

    -
    Edité par JulioF 28 mai 2017 à 16:50:36

    • Partager sur Facebook
    • Partager sur Twitter
    Julio!
      17 mai 2017 à 14:45:14

      Et donc, qu'attends-tu de nous ?
      • Partager sur Facebook
      • Partager sur Twitter

      Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.

        17 mai 2017 à 15:32:24

        Que vous m'aidiez à créer ce programme en m’expliquant la démarche. :)
        • Partager sur Facebook
        • Partager sur Twitter
        Julio!
          17 mai 2017 à 15:35:51

          N'est-ce pas un mauvais départ que de ne pas être capable de réaliser un programme d'entrée dans l'école ? Ne serait-il pas plus intéressant de te casser les dents et venir nous poser des questions avec un problème concret, une base solide de travail et des preuves de tes recherches / tentatives ?

          (Spoil : C'est une question rhétorique. )

          • Partager sur Facebook
          • Partager sur Twitter

          Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.

            17 mai 2017 à 15:52:05

            Salut,

            Sans même parler de programmation, vois-tu comment résoudre le problème ? Essaie avec des valeurs fixées et observer comment tu trouve la solution.

            • Partager sur Facebook
            • Partager sur Twitter
            Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
              17 mai 2017 à 16:10:51

              Je sais que je passe peut-être pour un moins que rien, mais le principe de cette école c'est qu'on y rentre directement après le bac en 1ère année et que peu de monde ont des connaissances dans ce domaine (après un bac ES comme moi par exemple).

              Est-ce qu'un novice peut-être capable en quelques jours de réaliser un tel programme, j'en doute, ce programme doit-être prêt avant mon entretien avec l'entreprise qui se tient le 07 juin prochain, autant dire que c'est compliqué...

              En tout cas merci pour vos réponses.

              • Partager sur Facebook
              • Partager sur Twitter
              Julio!
                17 mai 2017 à 16:27:45

                > Est-ce qu'un novice peut-être capable en quelques jours de réaliser un tel programme, j'en doute, ce programme doit-être prêt avant mon entretien avec l'entreprise qui se tient le 07 juin prochain, autant dire que c'est compliqué...

                Cela te laisse trois semaines. Ce programme se fait avec des bases de programmation que tu peux apprendre en trois semaines. La partie la plus dure est la partie logique mais elle ne demande aucune connaissances en programmation, et c’est sur elle que je te demande de réfléchir.

                On va commencer par une situation plus simple où les deux trains partent à la même heure et sont éloignés d’une distance d, le premier a une vitesse v_1, le seconde une vitesse v_2. En combien de temps se croisent-ils ? Comment résoudre ce problème ?

                En fait, c’est une équation à poser. Les deux trains se croiseront quand la distance parcourue par le premier train plus celle parcourue par le second train sera égale à d. En un temps t, le premier train parcourt une distance v_1 * t et le second train une distance v_2 * t. Donc les deux trains se croiseront au bout d’un temps t tel que v_1 * t + v_2 * t = d, c’est-à-dire t * (v_1 + v_2) = d.

                Avec ça, tu as de quoi résoudre le problème.

                • Partager sur Facebook
                • Partager sur Twitter
                Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                  17 mai 2017 à 16:44:21

                  Je te remercie énormément! J'ai également résolu un problème avec des valeurs fixes et je comprends la logique du problème, mais intégrer ça dans un programme c'est une autre histoire...
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Julio!
                    17 mai 2017 à 16:46:14

                    Connais-tu déjà un langage de programmation ? T’es-t’il demandé de faire ce programme dans un langage particulier ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                      17 mai 2017 à 16:52:13

                      Non, le langage est libre, ça peut même être un langage web, mais j'aimerais créer une sorte de "logiciel". Après si c'est vraiment trop compliqué je le ferais en web. J'ai très peu de connaissances, j'ai programmé en HTML5, j'ai lu le cours openclassroom sur le C++ mais pas de quoi réaliser ce type de programme.

                      A la limite, si vous pouviez juste me conseiller un langage de programmation beaucoup utilisé afin que je me lance dans un cours comme ça j'aurais peut-être de quoi réaliser ce programme avant 3 semaines.

                      Merci!

                      -
                      Edité par JulioF 17 mai 2017 à 17:02:51

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Julio!
                        17 mai 2017 à 17:04:48

                        Si tu as des bases en C++ (même si le tutoriel d’OC est déconseillé), tu as de quoi réaliser ce type de programme en console. Pour commencer, on va faire le programme qui donne le temps nécessaire au croisement en supposant que les trains partent en même temps. Voici ce qu’il te faut faire.

                        1. Demander les données à l’utilisateur (vitesses des trains et distance entre les deux villes).
                        2. Trouver t. Avec la formule que j’ai donné plus haut (t * (v_1 + v_2) = d), tu dois être capable de trouver t en fonction de v_1, v_2 et d.

                        EDIT : Pour le langage à apprendre, tu peux regarder Python (le cours de Gérard Swinnen est généralement conseillé) ou Ruby qui sont bien pour débuter.

                        -
                        Edité par yo@n97one 17 mai 2017 à 17:07:15

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                          17 mai 2017 à 17:58:54

                          Je partirais personnellement plus vers du Python pour ce genre d'exercice que vers du C++. C'est une première bonne approche, et oui, trois semaines c'est amplement suffisant pour apprendre à faire ce genre de choses.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.

                            19 mai 2017 à 22:48:04

                            Ok! Merci à tous pour vos réponses! @Sakuto j'ai commencé le cours sur Python et c'est vrai que ce langage m'a l'air plus à ma portée et je t'en remercie quant-à l'équation je me suis défoncé à la trouver en compagnie d'une prof de maths et ça donne ça :

                            t = (d0+va*ta+vb*tb) / (va+vb)

                            "d0" : distance entre les deux villes

                            "ta" et "tb" heure de départ des trains A et B

                            "va" et "vb" la vitesse des trains A et B

                            mais il se trouve que j'ai fait quelques tests et le resultat que je trouve au final c'est à dire l'heure de croisement est différente que celle sur le programme que j'ai donné au début du topic (à savoir : http://md.zefal.com/mbr/train.php ) Je pense que c'est un problème de conversions d'heure ou de vitesse je ne sais pas trop à vrai dire...

                            J'ai fait un test si la ville A et B sont distantes de 300km, si le train A a une vitesse de 150km/h et qu'il part à 8h et si le train B part à 9h avec une vitesse de 130km/h.

                            Avec mon équation je trouve : 9,535714286 (sur une calculatrice) tandis que le site trouve l'heure de croisement suivante : 09:32:09 !

                            Comment puis-je être aussi précis que le programme?

                            Merci d'avance!

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Julio!
                              19 mai 2017 à 23:22:38

                              Ce n'est qu'une question de formatage. 09:32:09 et 9,535714286 correspondent à la même heure.

                              0.53 heures, c'est 0.53 de 60 minutes, soit approximativement 32 minutes.

                              Avec les bonnes multiplications par 60, tu peux isoler les nombres de minutes et secondes.

                              -
                              Edité par entwanne 19 mai 2017 à 23:23:17

                              • Partager sur Facebook
                              • Partager sur Twitter
                                19 mai 2017 à 23:23:40

                                Re-salut,

                                Ton résultat est bon. En effet, x heures vaut x fois 60 minutes, de même 0,x heures vaut 0,x fois 60 minutes (0,5 heures, c’est une demi-heure soit 30 minutes, 1 heures c’est 60 minutes, etc.).

                                Quand tu auras fait le programme en Python, pourras-tu le poster ici, tu obtiendras sûrement des conseils pour l’améliorer.

                                EDIT : grillé par @entwanne de très très très peu. ^^

                                -
                                Edité par yo@n97one 19 mai 2017 à 23:24:49

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                                  20 mai 2017 à 9:07:16

                                  Mais le problème c'est : les heures et les minutes c'est ok! Mais quels chiffres isoler pour obtenir les secondes...?

                                  Merci pour votre aide!


                                  EDIT : J'ai trouvé! Il suffit de multiplier les nombres après la virgule *60 puis on trouve les minutes à savoir 32,14285716 puis on multiplie une nouvelle fois les chiffres après la virgule *60 puis en arrondissant on trouve les secondes! J'en ai fini avec cette fonction merci à tous pour votre grande aide! A savoir @yo@n97one @entwanne et @Sakuto ! Je vous remercie énormément et je vous tient au courant pour le programme mais là ça devrait être un peu plus long vu que je n'ai aucune bases en Python!


                                  EDIT 2 :

                                  Bon je reviens vers vous!

                                  Mon programme avance pas mal et on peut même dire qu'il marche plutôt bien! Le voici :

                                  import os
                                  import math

                                  # Sélection des variables
                                  d0=input("Les Villes A et B sont à une distance de ")
                                  ta=input("Le train A part à ")
                                  va=input("Le train A va à ")
                                  tb=input("Le train B part à ")
                                  vb=input("Le train B va à ")

                                  # Définition de chaque variable
                                  d0=int(d0)
                                  ta=int(ta)
                                  va=int(va)
                                  tb=int(tb)
                                  vb=int(vb)



                                  # Fonction permettant de trouver l'heure de croisement
                                  t=(d0+va*ta+vb*tb)/(va+vb)

                                  # Affichage du résultat
                                  print("Les deux trains se croiseront à",t,"H")

                                  Seul problème, comment arrondir le résultat de la fonction? Parce que j'obtiens des résultats de ce type : "12.206896551724139 H"

                                  Je sais les arrondir à la calculatrice mais comment le faire avec Python? Le top ce serait que le résultat exprimé à la fin soit sous la forme "Heures:Minutes:Secondes"

                                  -
                                  Edité par JulioF 20 mai 2017 à 16:52:28

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Julio!
                                    22 mai 2017 à 16:31:37

                                    Tu obtient t en heure, donc 

                                    heure = valeurTronquer(t)

                                    minute = valeurTronquer((t-heure)*60)

                                    seconde = valeurTronquer(((t-heure)*60-(60*minute))*60)

                                    Il ne te reste plus qu'a trouver un moyen d'obtenir la valeur tronquer d'un nombre en python (genre convertir le nombre en int)

                                    -
                                    Edité par florent m 22 mai 2017 à 16:32:37

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      22 mai 2017 à 18:30:49

                                      Bordel, l'OP était inquiet de rien avoir à présenter le 7 juin, et en 3 jours il produit une solution basique en Python alors qu'il en a jamais fait.

                                      On est le 22 Mai, il reste juste 15 jours pour fignoler un peu le truc, ça devrait aller je pense :D

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Blond, bouclé, toujours le sourire aux lèvres...

                                        22 mai 2017 à 20:27:11

                                        > Bordel, l'OP était inquiet de rien avoir à présenter le 7 juin, et en 3 jours il produit une solution basique en Python alors qu'il en a jamais fait.

                                        C'est quand même dingue que quand on prend le temps de faire des recherches et de réellement bosser sur quelque chose, on arrive à faire quelque chose et à apprendre. Qui l'eut cru ?

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.

                                          22 mai 2017 à 20:31:42

                                          > Qui l'eut cru ?

                                          Moi, moi. ^^

                                          PS : au fait des nouvelles pour le Markdown ? C’est assez embêtant de ne pas pouvoir citer convenablement(et d’autres petits soucis).

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs

                                          Créer un Programme de Calcul

                                          × 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