teaching:progappchim:suite_de_fibonacci-2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
teaching:progappchim:suite_de_fibonacci-2 [2013/10/17 15:06] villersdteaching:progappchim:suite_de_fibonacci-2 [2017/02/23 10:43] villersd
Ligne 2: Ligne 2:
  
 Voici un embryon non fonctionnel de programme. Il y manque alors des éléments (à la place des "???") 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>+<code python fibonacci02-sur_la_piste.py3>
 #! /usr/bin/env python #! /usr/bin/env python
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
Ligne 10: Ligne 10:
 """ """
 # élément d'indice 0 # élément d'indice 0
-i=0 +i = 0 
-a=1 +a = 0 
-print i,a+print(i,a)
 # élément d'indice 1 # élément d'indice 1
-1=1 += 1 
-b=1 +b = 1 
-print i,a+print(i,b)
  
 # structure de répétition pour appliquer la règle de récurrence # structure de répétition pour appliquer la règle de récurrence
-max=100 # indice du dernier terme (ou presque)+max = 100 # indice du dernier terme (ou presque)
 while ??? < max: while ??? < max:
     # il faut calculer les indices et éléments suivants de la suite     # il faut calculer les indices et éléments suivants de la suite
     # et poursuivre avec les mêmes instructions     # et poursuivre avec les mêmes instructions
     ???     ???
-    print i,c  #quelque chose de ce genre +    print(i,c #quelque chose de ce genre 
-</sxh>+</code>
  
 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). 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).
Ligne 31: Ligne 31:
 On propose alors ceci : On propose alors ceci :
  
-<sxh python; title : fibonacci03-fonctionnel.py>+<code python fibonacci03-fonctionnel.py3>
 #! /usr/bin/env python #! /usr/bin/env python
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
Ligne 39: Ligne 39:
 """ """
 # élément d'indice 0 # élément d'indice 0
-i=0 +i = 0 
-a=0 +a = 0 
-print i,a+print(i,a)
 # élément d'indice 1 # élément d'indice 1
-i=1 +i = 1 
-b=1 +b = 1 
-print i,a+print(i,b)
  
 # structure de répétition pour appliquer la règle de récurrence # structure de répétition pour appliquer la règle de récurrence
-max=100 # indice du dernier terme (ou presque)+max = 100 # indice du dernier terme (ou presque)
 while i < max: while i < max:
     # il faut calculer les indices et éléments suivants de la suite     # il faut calculer les indices et éléments suivants de la suite
     # et poursuivre avec les mêmes instructions     # et poursuivre avec les mêmes instructions
-    c=a+b +    c = a + b 
-    i=i+1 +    i = i + 1 
-    print i,c +    print(i,c) 
-    a=b +    a = b 
-    b=c +    b = c 
-</sxh>+</code>
  
 Mais avons-nous terminé ? Ce programme a-t-il toutes les caractéristiques d'un code Python utile ? Mais avons-nous terminé ? Ce programme a-t-il toutes les caractéristiques d'un code Python utile ?
Ligne 72: Ligne 72:
  
  
-<sxh python; title : fibonacci04-compact.py>+<code python fibonacci04-compact.py3>
 #! /usr/bin/env python #! /usr/bin/env python
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
Ligne 79: Ligne 79:
 Référence : http://fr.wikipedia.org/wiki/Suite_de_Fibonacci Référence : http://fr.wikipedia.org/wiki/Suite_de_Fibonacci
 """ """
 +i, a = 0, 0 # élément d'indice 0
 +print(i,a)
 +i, b = 1, 1 # élément d'indice 1
 +print(i,b)
 +max = 100 # indice du dernier terme (ou presque)
 +while i < max:  # structure de répétition pour appliquer la règle de récurrence
 +    # indices et éléments suivants de la suite
 +    i, c = i+1, a+b
 +    print(i,c)
 +    a, b = b, c
 +</code>
 +
 +[[http://fr.wikipedia.org/wiki/Suite_de_Fibonacci#Applications|{{http://upload.wikimedia.org/wikipedia/commons/thumb/9/93/Fibonacci_spiral_34.svg/200px-Fibonacci_spiral_34.svg.png }}]]On peut utiliser le module [[http://code.google.com/p/xturtle/|xturtle]] pour représenter un début de la spirale de Fibonacci. Il suffit d'ajouter quelque lignes au programme (**python 2**) : <sxh python; title : fibonacci-xturtle.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
 +Représentation en spirale utilisant xturtle
 +cf. http://code.google.com/p/xturtle/
 +"""
 +from xturtle import *
 +reset()
 +up()
 +forward(50)
 +down()
 +scale=2
 i,a=0,0 # élément d'indice 0 i,a=0,0 # élément d'indice 0
 print i,a print i,a
 i,b=1,1 # élément d'indice 1 i,b=1,1 # élément d'indice 1
-print i,a +print i,b 
-max=100 # indice du dernier terme (ou presque)+max=10 # indice du dernier terme (ou presque)
 while i < max:  # structure de répétition pour appliquer la règle de récurrence while i < max:  # structure de répétition pour appliquer la règle de récurrence
     # indices et éléments suivants de la suite     # indices et éléments suivants de la suite
Ligne 89: Ligne 116:
     print i,c     print i,c
     a,b=b,c     a,b=b,c
 +    # xturtle moves :
 +    circle(c*scale,90)
 +        
 +input('Tapez sur une touche pour arrêter !')
 </sxh> </sxh>
  
- +[[suite_de_fibonacci-3|Pour l'écriture de fonctions, allez à la page suivante !]]
-[[suite_de_fibonacci-3|Des réponses à la page suivante !]]+
  
  • teaching/progappchim/suite_de_fibonacci-2.txt
  • Dernière modification : 2017/02/24 08:51
  • de villersd