cs_Gualdim
Messages postés2Date d'inscriptionmardi 5 août 2008StatutMembreDernière intervention29 août 2008
-
28 août 2008 à 20:40
cs_Gualdim
Messages postés2Date d'inscriptionmardi 5 août 2008StatutMembreDernière intervention29 août 2008
-
29 août 2008 à 17:26
Bonjour,
je commence bientôt mon premier trimestre en école d'ingé; cette école
se destine non seulement aux étudiants ayant suivi un cursus normal,
mais aussi aux personnes, dont je fais parti, qui font un retour aux
études après quelques années de pratique comme technicien.
Mon souci est que j'ai travaillé dans un environnement où la
technologie a été conçue il y a 30 ans, à base de logique à relais, la
programmation en C est donc toute nouvelle pour moi...
Sauf qu'à la rentrée ça attaque dur dès le départ:
Voici un exemple de premier travail que je pourrait être amené à résoudre:
"Description du problème : Propagation des ondes
Votre tâche consiste à écrire un programme permettant de simuler la propagation d’une onde (ou de
plusieurs ondes) à la surface d’un liquide quelconque. Au départ, le liquide est stagnant. Si l’on
applique une poussée en un point, une onde se crée et se propage de chaque coté de la poussée."
"Stratégie à utiliser
Pour réaliser cette simulation, on commence par fractionner le liquide en N segments (rectangles
verticaux). Pour chacun d’eux, on conserve la hauteur, la vitesse et l’accélération du liquide à cet
endroit. Au départ la hauteur de tous les segments est la même (par exemple, 100) et la vitesse de
chaque segment est nulle. Tant que l’utilisateur ne souhaite pas terminer le programme, on réalise les
étapes suivantes :
1. Si l’utilisateur le souhaite, on ajoute une onde à la position demandée.
2. On met à jour l’accélération de tous les segments.
3. On met à jour la vitesse de tous les segments.
4. On met à jour la hauteur de tous les segments.
5. On affiche la hauteur de tous les segments."
"Introduction de nouvelles notations
Pour simplifier les expressions à venir, nous posons que :
i a = l’accélération du ième segment,
i v = la vitesse du ième segment et
i y = la hauteur du ième segment,
où i est un entier dans l’intervalle [1, N] ."
Ensuite j'ai 3 formules pour la mise à jour de l'accélération, de la vitesse et de la hauteur.
Puis une grosse formule décrivant la formation d'une onde.
"Recommandations et exigences supplémentaires
1) Vous n’avez besoin de créer qu’un seul fichier : Votre tâche consiste à écrire un
programme permettant de gérer la simulation. Pour vous aider, on vous fournit l’interface
graphique que vous devez utiliser sans la modifier.
2) Votre programme doit contenir un maximum de constantes de compilation : À chaque
fois que vous écrivez un nombre dans votre programme, posez-vous la question : « Puis-je
en faire une constante ? ».
3) Toutes les fonctions doivent être très courtes : Pour ce programme, une fonction faisant
plus de 15 lignes est nécessairement mal découpée."
Aucune variable globale acceptée, etc, etc.
Je ne sais vraiment pas par quel bout prendre ce problème. J'ai des
notions de C, je connais les fonctions, variables, pointeur,
différentes librairies de base, les tableaux... j'ai déjà fait quelques
petits programmes, mais jamais de graphique (si ce n'est quelques
rectangles sous SDL), et jamais plus que que deux ou trois fonction en
plus de Main (aucun header...)
Quel librairie me conseillez-vous?
Quelle serait votre démarche?
Toute aide sera grandement appréciée, je dois dire que je panique un peu présentement.
Je peux vous envoyer l'énoncé sous pdf le cas échéant.