Modéliser la suite de Fibonacci #
Préalables #
- JDK 11 ou plus récent (testé jusqu’à JDK 18)
- Git
- Eclipse
Créer le projet #
Télécharger fibonacci.zip.
Copier le fichier
fiboacci.zipà la racine d’un répertoire de travail vide.Extraire les fichiers directement à la racine de ce répertoire de travail :
Clic-droit sur le fichier => Extraire tout.
Effacer
fibonaccidu chemin proposé.Cliquer sur Extraire.
Choisir Remplacer les fichiers dans la destination.
Vérifier que les fichiers sont à la racine du répertoire de travail.
Ouvrir Git Bash à la racine de mon répertoire de travail :
- Windows 10 : Clic-droit => Git Bash Here.
- Windows 11 : Clic-droit => Show more options => Git Bash Here.
En Git Bash, exécuter le script
ajouter_atelier.sh:$ sh scripts/ajouter_atelier.shAu besoin, fermer Eclipse avant d’exécuter le script.
Appuyer sur Entrée dans fenêtre Git Bash pour vraiment lancer le script.
Attendre que le script termine.
Ouvrir Eclipse et importer le projet
fibonacci:File => Import => Existing Projects into Workspace.
Cliquer sur Browse et naviguer jusqu’à la racine de mon dépôt Git.
Cliquer sur Sélectionner un dossier.
Cérifier que le projet
fibonacciapparaît dans la case Projects.Cliquer sur Finish.
Créer la classe MonFibonacci
#
Ajouter la classe suivante au projet
fibonacci:Nom de la classe :
MonFibonacciNe pas cocher
public static ...
Ouvrir la classe
MonFibonacciet ajuster la signature :public class MonFibonacci extends Fibonacci {En utilisant le raccourci Ctrl+1, effectuer les tâches suivantes :
Importer la classe
FibonacciAjouter l’annotation
@SuppressWarnings("serial")
Ajouter la méthode
calculerReponseEtNombreOr:@Override public void calculerReponseEtNombreOr() { }Ajouter la méthode
construireGrapheRecursivement:@Override public void construireGrapheRecursivement() { }
Créer la classe MonCalculateur
#
Ajouter la classe suivante au projet
atelier2_3:Nom de la classe :
MonCalculateurNe pas cocher
public static ...
Ouvrir la classe
MonCalculateuret ajuster la signature :public class MonCalculateur extends Calculateur {En utilisant le raccourci Ctrl+1, effectuer les tâches suivantes :
Importer la classe
CalculateurAjouter l’annotation
@SuppressWarnings("serial")
Ajouter la méthode
construireGraphe:@Override public void construireGraphe() { if(siRecursif) { // construire le graphe récursivement }else { // construire le graphe dynamiquement } }
Créer la classe Procedure
#
Ajouter la classe suivante au projet
fibonacci:Nom de la classe :
ProcedureCocher
public static ...
Ouvrir la classe
Procedureet ajuster la signature :public class Procedure extends FibonacciProcedureApp<MonCalculateur, MonFibonacci> {En utilisant le raccourci Ctrl+1, effectuer les tâches suivantes :
Importer la classe
FibonacciProcedureAppAjouter la méthode obligatoire
classeCalculateurAjouter la méthode obligatoire
classeFibonacci
Ajouter le code suivant à la méthode
main:public static void main(String[] args) { NtroClientFx.launch(args); }- Utiliser Ctrl+1 pour corriger les erreurs de compilation
Ajouter le code suivant à la méthode
classeCalculateur:@Override protected Class<MonCalculateur> classeCalculateur() { return MonCalculateur.class; }Ajouter le code suivant à la méthode
classeFibonacci:@Override protected Class<MonFibonacci> classeFibonacci() { return MonFibonacci.class; }
Exécuter l’outil de validation une première fois #
Dans Eclipse, sélectionner le projet
fibonacciClic-droit sur la classe
Procedure:- Run As => Java Application.
Compléter la version récursive #
Compléter la méthode
calculerReponseEtNombreOrCompléter la méthode
construireGrapheRecursivementCompléter la méthode
construireGraphe, version récursive.Exécuter l’outil de validation pour tester mon code.
Compléter la méthode construireGraphe, version dynamique
#
Voici des graphes pour m’aider à implanter la création de la nouvelle tête :
Utiliser une variable
nouvelleTete
Créer un nouvel objet
MonFibonacci
Le
moinsUnde lanouvelleTetedoit pointer vers lateteactuelle(et le
moinsDeuxde lanouvelleTetedoit pointer vers lemoinUnde lateteactuelle).
La
tetedevient maintenant lanouvelleTete
Calculer la réponse avant de continuer la boucle

Exécuter l’outil de validation pour tester mon code.
Question bonus : modélisation plus simple #
Utiliser une modélisation plus simple pour calculer la suite de Fibonacci.
Pour valider, construire le même graphe d’objets à partir de la modélisation plus simple.