teaching:progappchim:suite_de_fibonacci-2

Ceci est une ancienne révision du document !


Suite de Fibonacci : un premier programme

Voici un embryon non fonctionnel de programme. Il y manque alors des éléments (à la place des “???”) <sxh python; title : fibonacci02-sur_la_piste.py> #! /usr/bin/env python # -*- coding: utf-8 -*- “”“ Calculs des premiers éléments de la suite de Fibonacci. Référence : http://fr.wikipedia.org/wiki/Suite_de_Fibonacci ”“” # élément d'indice 0 i=0 a=1 print i,a # élément d'indice 1 1=1 b=1 print i,a

# structure de répétition pour appliquer la règle de récurrence max=100 # indice du dernier terme (ou presque) while ??? < max:

  # il faut calculer les indices et éléments suivants de la suite
  # et poursuivre avec les mêmes instructions
  ???
  print i,c  #quelque chose de ce genre

</sxh>

Un peu de réflexion pour se rendre compte qu'il faut comparer i à max, mais surtout qu'il faudra actualiser i, calculer le nouvel élément de la suite par la relation de récurrence et surtout remettre dans les variables a et b des éléments actualisés (nouveaux, ou décalés dans la file d'une position).

On propose alors ceci :

<sxh python; title : fibonacci03-fonctionnel.py> #! /usr/bin/env python # -*- coding: utf-8 -*- “”“ Calculs des premiers éléments de la suite de Fibonacci. Référence : http://fr.wikipedia.org/wiki/Suite_de_Fibonacci ”“” # élément d'indice 0 i=0 a=0 print i,a # élément d'indice 1 i=1 b=1 print i,a

# structure de répétition pour appliquer la règle de récurrence max=100 # indice du dernier terme (ou presque) while i < max:

  # il faut calculer les indices et éléments suivants de la suite
  # et poursuivre avec les mêmes instructions
  c=a+b
  i=i+1
  print i,c  #quelque chose de ce genre
  a=b
  b=c

</sxh>

Mais avons-nous terminé ? Ce programme a-t-il toutes les caractéristiques d'un code Python utile ?

Non, car il ne fait que la sortie d'une série d'élément !

Il faudrait créer des fonctions utiles, dans la perspective de pouvoir les insérer dans des programmes plus vastes. Par exemple :

  • une fonction fibonacci-element(i) qui donne l'élément i de la suite
  • une fonction fibonacci-liste(n) qui donne tous les éléments de la suite jusqu'à l'élément n
  • une fonction fibonacci-indice(nombre) qui donne l'indice de l'élément de valeur nombre, ou les deux indices dont les éléments sont les plus proches qui encadrent ce nombre.

Des réponses à la page suivante !

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
  • teaching/progappchim/suite_de_fibonacci-2.1382014380.txt.gz
  • Dernière modification : 2013/10/17 14:53
  • de villersd