Semaine 4 : fonctions#
Le but de cette semaine est de vous familiariser avec la programmation
de fonctions, avec tests et documentation, et d’acquérir
de l’aisance avec les boucles for
avec accumulateur. En cours et en
TD, nous étudierons en sus la sémantique de l’appel de fonction, en
raffinant le modèle de mémoire vu la semaine précédente (introduction
de la pile).
Cours#
TD : des fonctions, des tests et de la documentation#
TP#
Notes aux enseignants
Le coeur de ce TP est le calcul de l’exponentielle. Veillez à ce que les élèves ne passent pas trop de temps sur la feuille 1. Rappelez-leur qu’ils ont intérêt à être efficaces et concentrés, car tout ce qui n’a pas été fait en TP sera à terminer à la maison.
Pensez à insister sur la différence entre renvoyer et afficher, qui n’est pour l’instant pas claire du tout pour de nombreux étudiants. Une idée de métaphore: c’est un peu comme la différence entre une voiture et une photo de voiture: dans le 1er cas on peut l’utiliser, dans le second on peut seulement la voir.
Parmi les erreurs des élèves difficiles à repérer : l’oubli d’une
accolade fermante donne un message d’erreur peu explicite:
Interpreter error
.
Autres erreurs fréquentes :
oubli d’initialisation, par exemple oubli d’initialiser l’accumulateur, ou le compteur d’une boucle, typiquement écrire
for(int i; i <...)
mettre
,
au lieu de;
dans la parenthèse d’une bouclefor
, ou inversement mettre;
au lieu de,
entre les paramètres d’une fonctionmettre un
;
entre la parenthèse et l’accolade ouvrante d’une bouclefor
ou d’une définition de fonctionoublier le
return
dans une fonction nonvoid
.
[ ] Implanter la fonction exponentielle :
[ ] Point de chute ♣