Identification | Remède ?? | cf. cours / TP | Type |
mélanger paramètres formels et variables locales | accepter d'utiliser les commentaires pour definir les parametres formels : variables requises pour communiquer les données différentes des variables internes au module, utiles juste pour le calcul | méthode d'analyse | |
mélanger instructions et déclaration dans le programme | éviter les initialisations dans les déclarations exemple int i=0;
suivi de a=c+3; et eviter encore plus les preprocess du genre int i=Tmax-1; on ne sait plus si c'est une declaration ou une instruction |
méthode de programmation | |
placer le module principal n'importe où dans le programme | fiche de rappel de syntaxe C
illisible pour la plus part incappable de discerner les parties a remplir des mots cles fournir un modele de programme |
pas mur pour la compilation separee avant la seance... | langage C |
ne pas comprendre les erreurs (en anglais) de la compil | expliquer la difference entre warning (avertissement) et autres erreurs | ||
ne pas localiser les erreurs | observer le numero de ligne sous emacs dans la zone de retroaction
rechercher aussi avant l'endroit ou s'arrete le compil souvent problème d'equilibre entre /* ( {; |
structuration du programme | |
ne pas faire la différence entre définition du module et l'appel | séparer visuellement par des lignes vides, les modules dans un programme
sépérarer visuellement le programme principal du reste |
absence de recul, difficulté d'abstraction | |
ne pas savoir intégrer des modules écrits en TD dans un programme | numéroter les lignes de programme au tableau
faire la correspondance entre le tableau etl e programme |
méthode d'analyse | |
ne pas respecter la syntaxe
typedef toujours écrit en séparant les deux mots type et def |
proposer une fiche avec les principaux rappels
mais pourqoui les commandes unix sont toujours acollees aux options et ici on separe ??? |
||
ne pas utiliser les fiches données : memo commandes unix, memo syntaxe C | ??? que faire s'ils refusent d'utiliser les outils qui ont fait leur preuve ??? | ||
nommer des fichiers avec des espaces | flinguer windows | ||
etre trop long pour taper un programme | utiliser le copier (copy) coller(paste) ou la souris (select zone, se placer ou insérer, clic milieu)
utiliser un modele de programme contenant ce qui est toujours demandé |
||
perdre ses fichiers | afficher conjointement explorateur de fichier et terminal
utiliser la commande pwd et ls |
||
chercher les textes en couleur sous l'editeur emacs | enregistrer le fichier avec l'extension .c | ||
mettre les commentaires des instructions en dehors de la zone de l'instruction concernee | à quoi cela sert alors si on n'a pas la correspondance commentaire /traduction en langage de programation pour expliquer ce qui est une astuce de programmation ??? | ||
utiliser l'appels de fonctions à gauche d'une affectation | revoir la syntaxe de l'affectation adresse de variable modifiée = valeur d'une expression insister sur la valeur du resultat rendu par les fonctions |
||
à quoi sert un type de donnée ? | éviter de redéfinir ailleurs différemment
référence à java ou C++ : bof bof pourquoi les espaces n'importe ou ? type def ? pas de différence entre mot et appel de module surtout quand il y a des parentheses |
||
ne pas separer les mots if() for() mais mettre un espace entre nom de module et ( | ??? je ne comprend pas ce qu'il y a dans leur tete à ce
moment là ??? s'ils mettent des espaces c'est qu'ils pensent
devoir en mettre pourquoi ? la ou il ne faut pas et pas la ou il faut ?
et apres ils terminent les expressions par un ; if(...); for(...); while(...); pourquoi ???? |
syntaxe | |
mettre des majuscules aux mots réservés, utiliser des indices en TD | cf. fiche memo C
normal ils pensent mathematiques, corriger |
analyse | |
refuser les méthodes de travail
analyse des entrées, sorties des modules, |
un jeu de piste avec les principales questions à se poser pour que ca rentre dans la tete en terme de démarche ? | ||
chercher a passer les tableaux avec des pointeurs comme parametres formels resultats | c'est du C : le nom du tableau représente l'adresse du tableau
inutile de vouloir utiliser une autre variable pour représenter l'adresse du tabelau |
||
gestion du tableau | aucune abstraction pour se representer la structure d'un programme en general
bavardent quand on le dit et apres... |
||
methode de développement incrementielle | recopie les 100 lignes de td avec plein d'erreurs puis attendent qu'on les depanne | méthodologie de travail | |
plus on cause | moins ils ecoutent | ||
plus on donne de documents | moins ils les lisent : combien sortent les fiches vertes ?5 à 10% les utilisent ? 0.1% | ||
méthode de passage de paramètre | on transmet une donnée : on passe la valeur
on attend un résultat : on passe l'adresse |
||
en conclusion | on n'a rien gagné avec ce langage bien au contraire
ils foncent toujours vers la syntaxe du programme, qu'ils finalisent par essai -erreur, sont contents quand le programme "tourne" refus de travailler avec methodologie le contrat a été énoncé algo et prog : ils ne le respectent pas le module "informatique" associe automatique avec un gros projet qui absorbe leur temps et l'info-algo joue assez peu dans la note finale |
redonner les objectifs du cours |