Forum d'annonces et d'échanges d'INF401

Tableaux de simulation

Tableaux de simulation

par Denis Bouhineau,
Nombre de réponses : 0

> J'ai une question concernant l'examen INF401 de 2023,
> plus précisément sur l'exercice 3, questions (n) et (o).
> Doit-on remplir le tableau donné en annexe sur la copie de l'examen,
> ou doit-on suivre la méthode utilisée dans la correction de ces deux questions ?

pour l'exercice 3, les tableaux de simulation de l'exécution des programmes attendus doivent premettre de suivre l'exécution des programmes
  ces tableaux de simulation constituent des outils qui dépassent le cours d'assembleur, ils sont similaires aux traces de débuger (avec plus de largeur d'observation et la possibilité de revenir en arrière)
  mais, à part la largeur et la possibilité d'une lecture avant-arrière plus facile, ils manquent de la dynamique des traces observées par débuger (avec des points d'arrêts placés aux bons endroits)
  là où le debuger gagne en dynamique, il perd en détail (et inversement pour la tableau vs le debuger)
  [rem. on peut aussi considérer que le premier tableau [asm] est une forme dynamique du second tableau [micro-action], avec une observation au point d'arrêt "Nouvelle Instruction"]
  [d'où l'intérêt des 2 tableaux ==>> cela peut être une piste pour l'utilisation du débugger et la construction de vos prochains tableaux]

  ces tableaux sont assez fastidieux à réaliser  et même en cours, j'ai du mal à les faire en entier ; il faut être patient/e et concentré/e
  (un programme les ferait bien mieux que nous)
  ils ne sont pas particulièrement difficiles à faire, sauf si l'on n'en a jamais fait et que l'on n'a pas bien compris la matière
  mais ils sont très importants pour vérifier qu'un programme fait bien ce qu'il doit faire ou pour comprendre ce qu'il fait effectivement
  et ils peuvent, parfois, être faits symboliquement (ou de manière abstraite) et permettre de répondre à des questions plus difficiles, par ex. sur la complexité ou les propriétés des programmes
  mais c'est une autre histoire

  ils sont assez fastidieux à réaliser (et à relire), car il ne faut pas y écrire ce que l'on imagine/veut que le programme fasse (c'est le risque si l'on veut aller plus vite), mais ce qu'il fait effectivement
  il faut donc pouvoir, à chaque ligne, avoir les éléments nécessaires à l'exécution de la ligne suivante, et produire cette ligne suivante en suivant précisément la sémantique de l'action/l'instruction concernée (sans intention, patiemment, en effectuant les calculs décrits à partir des données de la ligne précédente, à la manière d'une machine)
  l'une des difficultés de ces tableaux est donc de bien choisir (globalement) l'ensemble des éléments nécessaires à la production de la ligne suivante : i.e. les colonnes ; dans l'énoncé, des éléments sont proposés, vous pouvez en enlever, ou en ajouter (l'énoncé ne cherche pas à vous tromper, les éléments mis sont ceux qui semblent importants en général), mais libre à vous d'avoir des tableaux similaires, mais aussi efficaces
  une autre difficulté, c'est d'être assez patient/e et attentif/ve, pour ne pas faire d'erreur (cf. prec.) et bien écrire ce que le programme fait vraiment

  les "éléments de corrections" données sur Moodle ne respectent pas ce critère : en effet, à partir d'une ligne (ma <- pc), on ne peut pas vraiment faire la suite, il manque beaucoup d'information
  ils seraient donc insuffisants comme "correction" de ces questions, 
  par contre, comme "éléments de corrections", ils sont suffisants pour vérifier que des tableaux produits par vous sont corrects 

  derniers commentaires,
  le jour de l'examen, prenez le temps de faire les tableaux comme demandé dans l'énoncé
  et le jour de la publication des "éléments de corrections", vérifiez qu'ils sont cohérents avec ces "éléments"
  en dehors des examens, n'hésitez pas utiliser ces tableaux dans d'autres matières pour tracer l'exécution de vos programmes

Bien à vous,
Denis B.