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
fibonacci
du 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.sh
Au 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
fibonacci
apparaît dans la case Projects.Cliquer sur Finish.
Créer la classe MonFibonacci
#
Ajouter la classe suivante au projet
fibonacci
:Nom de la classe :
MonFibonacci
Ne pas cocher
public static ...
Ouvrir la classe
MonFibonacci
et ajuster la signature :public class MonFibonacci extends Fibonacci {
En utilisant le raccourci Ctrl+1, effectuer les tâches suivantes :
Importer la classe
Fibonacci
Ajouter 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 :
MonCalculateur
Ne pas cocher
public static ...
Ouvrir la classe
MonCalculateur
et ajuster la signature :public class MonCalculateur extends Calculateur {
En utilisant le raccourci Ctrl+1, effectuer les tâches suivantes :
Importer la classe
Calculateur
Ajouter 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 :
Procedure
Cocher
public static ...
Ouvrir la classe
Procedure
et ajuster la signature :public class Procedure extends FibonacciProcedureApp<MonCalculateur, MonFibonacci> {
En utilisant le raccourci Ctrl+1, effectuer les tâches suivantes :
Importer la classe
FibonacciProcedureApp
Ajouter la méthode obligatoire
classeCalculateur
Ajouter 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
fibonacci
Clic-droit sur la classe
Procedure
:- Run As => Java Application.
Compléter la version récursive #
Compléter la méthode
calculerReponseEtNombreOr
Compléter la méthode
construireGrapheRecursivement
Complé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
moinsUn
de lanouvelleTete
doit pointer vers latete
actuelle(et le
moinsDeux
de lanouvelleTete
doit pointer vers lemoinUn
de latete
actuelle).
La
tete
devient 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.