Algorithmique et programmation

Publié le 31 janv. 2018

Écrire à l'auteur

Le  mercredi 31 janvier 2018

Les lapins de Fibonacci

Programmer un algorithme pour résoudre un problème historique

  • Les lapins de Fibonacci


     

     

    Présentation de l’activité


           

    On dispose d'un couple de lapins nouveau-nés.

     

    On souhaite savoir, dans un premier temps, de combien de couples de lapins on disposera au bout d'une année sachant que :

     

     

    "A partir de son deuxième mois d'existence, un couple de lapins engendre, chaque mois, un nouveau couple."

     

     

     

     

     

    Public


     

    Ce problème peut être présenté à des classes de cycle 4.

     

     

     

     

    Objectifs


     

    • Identifier, prendre en main puis programmer un algorithme pour résoudre un problème numérique.

     

     

     

     

    Prérequis


     

    • Insérer une formule dans une feuille de calcul.

     

     

     

     

    Déroulement de l’activité


     

    Prise en main

     

    La durée mise en jeu dans la question initiale, ici une année, est une variable sur laquelle l'enseignant pourra jouer pour adapter la difficulté du problème au niveau de la classe.

     

    Une durée, courte, permettra à chacun de prendre en main le problème, d'entrer "papier crayon" dans la démarche algorithmique et d'apporter, en quelques minutes, une réponse à la question posée.

     

    L'enseignant relancera ensuite le problème en proposant une durée plus longue.

     

    Si une réponse s'appuyant (à tort) sur une relation de proportionnalité entre durée et nombre couples est proposée, on invitera l'élève à contrôler sa conjecture.

     

    La répétition fastitdueuse des mêmes procédures de calculs finit par justifier l'utilisation d'un tableur (ou d'un logiciel de programmation).

     

     

     

    Programmation de l'algorithme à l'aide d'un tableur

     

    Si le tableur permet d'atteindre rapidement la solution, il est aussi un bon médiateur vers l'écriture de l'algorithme dans un langage de programmation (cf. prolongement).

     

    La création d'une feuille de calculs nécessite de s'interroger sur les données à mettre en jeu : "mois", "nombre de couples" et éventuellement "nombre de naissances".

     

    Si les résultats des premières lignes peuvent être entrés manuellement, l'automatisation des calculs nécessite de s'interroger :

     

    - Pour un mois donné, comment obtenir le nombre de couples nouveau-nés à partir des données des mois précédents ?

     

    - Pour un mois donné, comment calculer le nombre total de couples ?

     

     

    Fibo01

    Fibo02

     

     

    On prolongera le travail des élèves les plus rapides :

     

    - Combien de mois pour atteindre un nombre d'individus dépassant la population humaine mondiale ?

     

    - Y'a t-il des mois où la population double (ou triple) par rapport à celle du mois précédent ?

     

    Un bilan permettra de revenir sur les différentes feuilles de calculs possibles et d'institutionnaliser qu'à partir du 2e mois, le nombre total de couples est égal à la somme du nombre total de couples des deux mois précédents.

     

     

     

     

    Prolongements possibles


       

    On pourra chercher à programmer l'algorithme à l'aide de Scrach.

     

     

     

    • Exemple avec des listes

     

    Fibo03

     

     

     

    • Exemple sans liste

     

    Fibo04