Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| teaching:progappchim:factorielle-2 [2015/02/17 10:08] – villersd | teaching:progappchim:factorielle-2 [2017/02/24 09:19] (Version actuelle) – villersd | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| Voici un embryon non fonctionnel de programme. Il y manque des éléments (à la place des "???" | Voici un embryon non fonctionnel de programme. Il y manque des éléments (à la place des "???" | ||
| - | <sxh python; title : factorielle02-sur_la_piste.py> | + | <code python factorielle02-sur_la_piste.py> |
| #! / | #! / | ||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
| Ligne 10: | Ligne 10: | ||
| """ | """ | ||
| # on demande le nombre : | # on demande le nombre : | ||
| - | print " | + | print(" |
| - | chainelue=raw_input("Que vaut n ? ") | + | chainelue = input("Que vaut n ? ") |
| - | n= int(chainelue) | + | n = int(chainelue) |
| - | print n | + | print(n) |
| # structure de répétition pour appliquer la définition de la factorielle | # structure de répétition pour appliquer la définition de la factorielle | ||
| reponse=1 | reponse=1 | ||
| - | i=1 # on va commencer par 1 | + | i = 1 # on va commencer par 1 |
| while ??? <= n: # répétition " | while ??? <= n: # répétition " | ||
| reponse = ???? # | reponse = ???? # | ||
| - | i= # | + | i = # |
| # on affiche la réponse | # on affiche la réponse | ||
| - | print "La factorielle vaut ", | + | print("La factorielle vaut ", |
| - | </sxh> | + | </code> |
| Un peu de réflexion pour se rendre compte qu'il faut comparer i à n, qu'il faut multiplier reponse par i pour obtenir une nouvelle valeur de reponse, et augmenter i de 1 par l' | Un peu de réflexion pour se rendre compte qu'il faut comparer i à n, qu'il faut multiplier reponse par i pour obtenir une nouvelle valeur de reponse, et augmenter i de 1 par l' | ||
| - | <sxh python; title : factorielle03-fonctionnel.py> | + | <code python factorielle03-fonctionnel.py> |
| #! / | #! / | ||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
| Ligne 36: | Ligne 36: | ||
| """ | """ | ||
| # on demande le nombre : | # on demande le nombre : | ||
| - | print " | + | print(" |
| - | chainelue=raw_input("Que vaut n ? ") | + | chainelue = input("Que vaut n ? ") |
| n= int(chainelue) | n= int(chainelue) | ||
| - | print n | + | print(n) |
| # structure de répétition pour appliquer la définition de la factorielle | # structure de répétition pour appliquer la définition de la factorielle | ||
| - | reponse=1 | + | reponse = 1 # la réponse sera dans la variable reponse |
| - | i=1 # on va commencer par 1 | + | i = 1 # on va commencer par 1 |
| while i <= n: # répétition " | while i <= n: # répétition " | ||
| - | reponse = reponse*i | + | reponse = reponse * i # |
| - | i=i+1 # | + | i = i + 1 # |
| # on affiche la réponse | # on affiche la réponse | ||
| - | print "La factorielle vaut ", | + | print("La factorielle vaut ", |
| - | </sxh> | + | </code> |
| Le test du programme indique qu'il fonctionne comme attendu pour toutes les valeurs strictement positives de n, et même pour n=0. Avez-vous compris pourquoi ? Pour bien comprendre le fonctionnement du programme, vous pouvez examiner le fonctionnement d'une version simplifiée à l'aide de [[http:// | Le test du programme indique qu'il fonctionne comme attendu pour toutes les valeurs strictement positives de n, et même pour n=0. Avez-vous compris pourquoi ? Pour bien comprendre le fonctionnement du programme, vous pouvez examiner le fonctionnement d'une version simplifiée à l'aide de [[http:// | ||