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 ?
nomModule (param)
alors que for(i=0;.. ou while(...)

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,
choisr une itération
utiliser des constantes prédefinies pour parametrer
passer des paramètres par valeur ou par adresse

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
donc déclaration avec un pointeur (sauf si c'est un tableau)
utilisation avec l'adresse de la variable : &variable

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