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
teaching:progappchim:suite_de_fibonacci-2 [2013/10/17 15:06] villersdteaching:progappchim:suite_de_fibonacci-2 [2017/02/24 08:51] (Version actuelle) 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.py>
 #! /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.py>
 #! /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.py>
 #! /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 +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 = 100 # 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
-    i,c=i+1,a+b +    i, c = i+1, a+b 
-    print i,c +    print(i,c) 
-    a,b=b,c +    a, b = b, c 
-</sxh>+</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 [[https://docs.python.org/3.6/library/turtle.html|turtle]] pour représenter un début de la spirale de Fibonacci. Il suffit d'ajouter quelque lignes au programme :
  
-[[suite_de_fibonacci-3|Des réponses à la page suivante !]]+<code python fibonacci-turtle.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 turtle 
 +""" 
 +from turtle import * 
 +reset() 
 +up() 
 +forward(50) 
 +down() 
 +scale = 2 
 +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 = 12 # 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 
 +    # xturtle moves : 
 +    circle(c*scale,90) 
 +          
 +input('Tapez sur une touche pour arrêter !') 
 +</code> 
 + 
 +[[suite_de_fibonacci-3|Pour l'écriture de fonctions, allez à la page suivante !]]
  
  • teaching/progappchim/suite_de_fibonacci-2.1382015189.txt.gz
  • Dernière modification : 2013/10/17 15:06
  • de villersd