LA TABLE DE SEPT

Une petite note par lerautal

1. SOUVENIRS D'ENFANCE

Inès :

"Avant de partir dans des choses compliquées avec le Python, j'aimerais que tu fasses quelque chose pour moi.
- Tu peux expliquer ?
- Quand j'étais enfant, j'ai eu beaucoup de mal à apprendre les tables de multiplication"


Siril intervient :

"Moi aussi, surtout la table de sept, quand j'arrivais à 7 fois 8 je me trompais souvent."


François :

"Bon, alors démarrons avec la table de sept. Et, puisque l'on commence au tout début, lançons Python de la façon la plus élémentaire."

Il lance l'exécution de Python (cela se fait de façon différente sous Windows et Linux) et se retrouve avec une fenêtre ouverte qui sous Linux ressemble à cela :

demarrer 01

"Repère bien le triple chevron, il est caractéristique de Python." (ou, tout au moins de l'environnement interactif appelé iddle)

2. PREMIÈRE POSSIBILITÉ

"Pour que Python affiche une réponse, on peut (doit ?) utiliser le mot print (sans accents ni majuscules" suivi de ce qu'on veut lui faire afficher.
Par exemple :
print 1*7   (suivi de entrée) donnera 7 comme résultat.
print 2*7  (suivi de entrée) donnera 14 comme résultat.
D'ailleurs regarde sur l'écran : "


démarrer 3

"Oui, mais ce n'est pas très explicite. Tu ne peux pas le rendre 'plus causant' ?
- Si, bien-sûr : je vais ajouter du texte, mais il faudra le mettre entre guillements et le séparer du reste par une virgule. Cela va mieux comme cela ?

>>> print "Six fois huit : ",6*8
Six fois huit :  48
>>>

Que dois-je taper pour 7 fois 8 ? "

Inès tape :

>>> print "Sept fois huit : ",7*8
Sept fois huit :  56
>>>

3. REMISE EN CAUSE

Siril :
"Je suis un bon vendeur. Mais une démarche aussi fastidieuse je ne pourrais pas la vendre.
Tu dois pouvoir nous proposer mieux, quand même.
- Oui, mais il me faut un peu de matériel pour aller plus loin."


Il se lève et rapporte une feuille de papier, un crayon et une gomme et deux Post-it.
Sur l'un il écrit fois et le chiffre 1.
Sur le second il écrit table_de et le chiffre 7.
Et il commence à écrire sur la feuille tout en commentant.


table de

"J'écris fois = 1 parce qu'on commence la table de 7 par 1 fois 7. Cela correspond au premier Post-it.
J'écris table_de = 7 pour rappeler que nous calculons la table de sept. Cela correspond au premier Post-it. Si l'on veut faire la table de 8, il suffit d'effacer le 7 et de mettre un 8 à la place.
J'ai écrit Répéter, parce que quand on récite la table c'est ce que l'on fait, en ajoutant 1 à chaque fois.
Et puis imprime fois * table_de c'est pour obtenir un résultat.


- D'accord, mais alors dans fois tu vas effacer 1 mettre 2, puis effacer 2 et mettre 3, puis...
Mais cela s'arrête quand ?


- Tel que c'est là, cela ne s'arrête jamais. En informatique on appelle cela une boucle infinie.
Si tu veux que cela s'arrête, il faut lui mettre une limite (une condition d'arrêt). Dans les tables de notre enfance, on s'arrêtait à 10."


Thomas reprend le crayon et modifie le texte sur la feuille :

fois = 1
table_de = 7
répéter tant que fois est plus petit que 11 :
    imprime fois * table_de
    fois = fois +1


"Vous remarquerez les deux-points qui ne sont pas nécessaires ici, mais dont on a besoin avec Python (autant en prendre l'habitude). Et puis aussi le décalage vers la droite des deux dernières lignes. Dans Python on procède ainsi après le deux-points.
En langage technique on appelle cela une indentation.
Cela s'obtient en pressant la touche "tabulation" (à gauche du clavier les deux flêches qui se rentrent dedans)."


Remarques :

En Python "répéter tant que" s'écrit "while" suivi d'une condition d'arrêt.
fois et table_de s'appellent des variables (comme les Post-it que l'on peut modifier).
Si l'on ne pense pas à ajouter 1 à fois, la boucle sera infinie : la condition d'arrêt ne sera jamais remplie.

Et maintenant le code et l'exécution dans Python.
Pour lancer l'exécution on tape "Entrée" une fois de plus à la fin.

table de sept

4. RÉCAPITULATION ET EXERCICES

Mine de rien, nous venons d'aborder trois mécanismes (et il y en peu) fondamentaux de l'informatique.
Le principe de la table de multiplication est repris du livre de Gérard Swinnen "Apprendre à programmer avec Python...".

Un petit truc qui aide bien :

Dans "Iddle" quand on appuie sur la touche "flêche haute" on reproduit la ligne introduite précédemment (et on peut la modifier sans tout retaper).

Exercices :

A. Modifier le programme de façon à obtenir
1 fois 7 égale 7
2 fois 7 égale 14 ...
(aide : texte entre guillemets et séparation des variables par des virgules).

B. Modifier le programme de façon à obtenir la table de 8
(inspirez-vous de la solution pour A).

C. Modifier le programme de la table de 7 pour "fois" allant jusqu'à 15.
( Le listage se terminera par : 15  fois  7  égale  105).

Solutions :


Code possible du programme A
fois =1
table_de = 7
while fois < 11 :
   print fois," fois ",table_de," égale ", fois*table_de
   fois = fois +1


Code possible du programme B
fois =1
table_de = 8
while fois < 11 :
   print fois," fois ",table_de," égale ", fois*table_de
   fois = fois +1


Code possible du programme C
fois =1
table_de = 7
while fois < 16 :
   print fois," fois ",table_de," égale ", fois*table_de
   fois = fois +1