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. )
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.
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é...
> 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.
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...
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.
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.
Demander les données à l’utilisateur (vitesses des trains et distance entre les deux villes).
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.
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.
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.
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?
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.
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"
> 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 ?
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.
× 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.
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
Blond, bouclé, toujours le sourire aux lèvres...
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.