Bonjour à tous,
Je développe actuellement mon premier projet en C++. J'ai étudié ce langage en cours, mais rien de très sérieux, toujours deux ou trois classes maximum pour comprendre les concepts de base... J'ai donc simplement quelques notions de programmation orientée objet.
Et aujourd'hui, je dois avouer que certains points me semblent un peu flous, j'ai du mal à concevoir et à articuler mon programme autour des classes. Je m'explique :
Le projet part de zéro, aucun développement n'a été fait au préalable. Le point de départ est de définir un problème mathématique, un ensemble de fonctions (1), qui seront utilisées par mon programme principal. L'utilisateur donne alors les dimensions du problème, et fait quelques choix. On doit ensuite discrétiser le résultat de ces fonctions sur un intervalle donné (créer des vecteurs (2) contenant la valeur de chaque fonction en un certain nombre de points). Puis ces vecteurs sont exploités par d'autres fonctions (3) pour calculer des intégrales ou des dérivées (au sens "discret"). L'utilisateur peut choisir parmi plusieurs méthodes d'intégration (4)...
Je souhaiterais créer un grand ensemble "Probleme" regroupant :
- les fonctions continues et les dimensions (1)
- les vecteurs (2) de résultats discrétisés, et les fonctions qui discrétisent le problème
- les fonctions (3) utilisant les vecteurs (2)
- les différentes méthodes d'intégration (4)
J'ai pris l'exemple de la discrétisation, mais en réalité, l'utilisateur aura plusieurs choix à faire, pour différentes options.
Pour le moment, j'ai créé une grande classe "problème", qui possède toutes les fonctions, mais celles-ci sont en dur (pas de choix de discrétisation possible) pour une discrétisation simple... Je commence à douter de l'utilité des classes pour ce projet, je ne vois pas où les bénéfices qu'elles apportent pourraient m'être utiles.
Je souhaiterais que la méthode de discrétisation apparaisse sous la forme d'une fonction "discretisation" dont le contenu (et le nombre de variables d'entrée) varierait selon le choix de méthode fait par l'utiilisateur...
En gros le choix de la discrétisation va également intervenir dans les fonctions (3), qui appellent la fonction de discrétisation. On pourrait imaginer un simple switch, à chaque fois que la fonction de discrétisation est appelée, selon le choix fait par l'utilisateur, on appelle l'une ou l'autre fonction... Cependant, ce switch serait évalué très fréquemment, ce qui ne me parait pas optimal. Je ne vois donc pas comment organiser mon programme.
Mes deux questions donc :
- Les classes peuvent-elles m'aider?
- Comment faire pour gérer les choix de l'utilisateur?
J'espère que je suis à peu près clair, c'est pas facile à expliquer...
Merci d'avance à tous pour vos réponses![]()
Partager