Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
teaching:progappchim:suite_de_fibonacci-2 [2013/10/17 14:53] – créée villersd | teaching:progappchim:suite_de_fibonacci-2 [2017/02/23 11:17] – 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> |
#! / | #! / | ||
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
Ligne 10: | Ligne 10: | ||
""" | """ | ||
# élément d' | # élément d' | ||
- | i=0 | + | i = 0 |
- | a=1 | + | a = 0 |
- | print i,a | + | print(i,a) |
# élément d' | # élément d' | ||
- | 1=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 ??? < 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) # |
- | </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> |
#! / | #! / | ||
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
Ligne 39: | Ligne 39: | ||
""" | """ | ||
# élément d' | # élément d' | ||
- | i=0 | + | i = 0 |
- | a=0 | + | a = 0 |
- | print i,a | + | print(i,a) |
# élément d' | # élément d' | ||
- | 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 69: | Ligne 69: | ||
* ... | * ... | ||
- | [[suite_de_fibonacci-3|Des réponses | + | En guise de préambule, on peut aussi regarder comment rendre un code python plus compact en groupant les commentaires avec les instructions, |
+ | |||
+ | |||
+ | <code python fibonacci04-compact.py3> | ||
+ | #! / | ||
+ | # -*- coding: utf-8 -*- | ||
+ | """ | ||
+ | Calculs des premiers éléments de la suite de Fibonacci. | ||
+ | Référence : http:// | ||
+ | """ | ||
+ | i, a = 0, 0 # élément d' | ||
+ | print(i, | ||
+ | i, b = 1, 1 # élément d' | ||
+ | print(i, | ||
+ | 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, | ||
+ | a, b = b, c | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | <code python fibonacci-turtle.py> | ||
+ | #! / | ||
+ | # -*- coding: utf-8 -*- | ||
+ | """ | ||
+ | Calculs des premiers éléments de la suite de Fibonacci. | ||
+ | Référence : http:// | ||
+ | Représentation en spirale utilisant turtle | ||
+ | """ | ||
+ | from turtle import * | ||
+ | reset() | ||
+ | up() | ||
+ | forward(50) | ||
+ | down() | ||
+ | scale = 2 | ||
+ | i, a = 0, 0 # élément d' | ||
+ | print(i, | ||
+ | i, b = 1, 1 # élément d' | ||
+ | print(i, | ||
+ | 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, | ||
+ | a, b = b, c | ||
+ | # xturtle moves : | ||
+ | circle(c*scale, | ||
+ | |||
+ | input(' | ||
+ | </ | ||
+ | |||
+ | [[suite_de_fibonacci-3|Pour l' | ||