Outils pour utilisateurs

Outils du site


profgra:peda:factorisation_tortue

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
profgra:peda:factorisation_tortue [2017/10/10 10:21]
profgra TP tortue: RAZ pour la tortue
profgra:peda:factorisation_tortue [2017/12/13 11:27] (Version actuelle)
profgra
Ligne 226: Ligne 226:
  
 ## Conclusion ## Conclusion
 +
 +Factoriser son code revient à le simplifier, le réduire, rassembler et centraliser des valeurs ou opérations qui se répètent
  
 Nous avons vu trois façons de factoriser du code : Nous avons vu trois façons de factoriser du code :
  
-* avec une variable ; +* avec une variable ​(utilisation de `Declarer`, `Affecter_a`) ​
-* avec une boucle `Repeter`, mais ça aurait pu être aussi avec `Tant_que...Faire` ou `Faire...Tant_que` ;​ +* avec une boucle ​(ici avec `Repeter`, mais ça aurait pu être aussi avec `Tant_que...Faire` ou `Faire...Tant_que`
-* avec la définition d’une commande, donc grâce à la commande `Definir`.+* avec la définition d’une commande ​(parfois appelées *procédures* ou *fonctions*, donc grâce à la commande `Definir`. 
 + 
 +Pour bien comprendre ce qu’il se passe lors de l’évaluation du code défini dans une commande, il faut comprendre les « environnements d’évaluation ». 
 + 
 +Traces d’une session :​ 
 + 
 +    (Declarer n De_type "​nombre"​) 
 +    (Afficher n) 
 + 
 +    (Declarer n De_type "​nombre"​) 
 +    (Affecter_a n 0) 
 +    (Afficher n) 
 + 
 +    (Declarer n De_type "​nombre"​) 
 +    (Affecter_a n 0) 
 +    (Afficher n) 
 +    (Affecter_a n 1) 
 +    (Afficher n) 
 + 
 +    (Declarer n De_type "​nombre"​) 
 +    (Affecter_a n 0) 
 +    (Afficher n) 
 +    (Affecter_a n 1) 
 +    (Afficher n) 
 +    (Definir (Affiche-STP!) 
 +       ​(Afficher n) 
 +    ) 
 +    (Affiche-STP!) 
 +    (Affecter_a n 2) 
 +    (Affiche-STP!) 
 + 
 +    (Declarer n De_type "​nombre"​) 
 +    (Affecter_a n 0) 
 +    (Afficher n) 
 +    (Affecter_a n 1) 
 +    (Afficher n) 
 +    (Definir (Affiche-le-double-STP!) 
 +       (!!! "​Attention,​ utilisation de variable globale"​) 
 +       ​(Afficher (* 2 n)) 
 +    ) 
 +    (Affiche-le-double-STP!) 
 +    (Affecter_a n 2) 
 +    (Affiche-le-double-STP!) 
 + 
 + 
 +    (Definir (Affiche-le-double-STP! n) 
 +       (!!! "​Attention,​ utilisation de variable globale"​) 
 +       ​(Afficher (* 2 n)) 
 +    ) 
 +    (Affiche-le-double-STP! 10) 
 +    (Affiche-le-double-STP! 100) 
 + 
 +Diagrammes :​ 
 + 
 +    +-----+--------+ 
 +    | nom | valeur | <-- environnement global 
 +    +-----+--------+ 
 +    |  a  |    1   | 
 +    |  b  |   ​17 ​  | 
 +    | ... |  ...   | 
 +    |     ​| ​       | 
 +    +-----+--------+ 
 + 
 +Cet environnement est remplacé par un autre quand on est « dans » une commande. 
 + 
 +    +-----+--------+ 
 +    | nom | valeur | <-- environnement d’exécution d’une commande 
 +    +-----+--------+ 
 +    |  a  |    1   | 
 +    |  b  |   ​10 ​  | <-- si b est passé en paramètre c’est cette valeur qui est utilisée, la valeur globale n’est pas vue 
 +    |  x  |   ​-5 ​  | 
 +    |  y  |   ​42 ​  | 
 +    | ... |  ...   | 
 +    |     ​| ​       | 
 +    +-----+--------+ 
 + 
 +Vocabulaire :​ 
 + 
 +* paramètre formel (ou simplement *paramètre*,​ ou *variable*) 
 +* paramètre effectif (ou *argument*) 
 + 
 +Sans paramètres:​ 
 + 
 +    (Definir (Carré) 
 +        (AV 40) 
 +        (TD 90) 
 +        ... 
 +    ) 
 +    (Carré) 
 +    (Carré) 
 + 
 +Avec paramètres :​ 
 + 
 +    (Definir (Carré longueur) <-- paramètre formel 
 +        (AV longueur) 
 +        (TD 90) 
 +        ... 
 +    ) 
 +    (Carré 100) <-- paramètres effectifs 
 +    (Carré 50)
profgra/peda/factorisation_tortue.txt · Dernière modification: 2017/12/13 11:27 par profgra