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 boucle for, ou inversement mettre ; au lieu de , entre les paramètres d’une fonction

  • mettre un ; entre la parenthèse et l’accolade ouvrante d’une boucle for ou d’une définition de fonction

  • oublier le return dans une fonction non void.