SYSTEM WARNING: 'session_name(): Cannot change session name when session is active' in '/home/gitlab-www/dokuwiki/inc/init.php' line 231

SYSTEM WARNING: 'session_set_cookie_params(): Cannot change session cookie parameters when session is active' in '/home/gitlab-www/dokuwiki/inc/init.php' line 232

mantis:frama-c:ensiie2015-2016-ias-tp [Frama-C]

User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantis:frama-c:ensiie2015-2016-ias-tp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
mantis:frama-c:ensiie2015-2016-ias-tp [2016/01/04 19:15]
virgile [Exercice 1: Crible]
mantis:frama-c:ensiie2015-2016-ias-tp [2016/01/04 19:21] (current)
virgile liens vers les codes
Line 35: Line 35:
 ===== Exercice 2: Triangle de Pascal ===== ===== Exercice 2: Triangle de Pascal =====
  
-On considère le programme suivant, dont le code est dans pascal.c:+On considère le programme suivant, dont le code est dans {{:​mantis:​frama-c:​ensiie-2015-2016:​pascal.c|pascal.c}}:
  
 <code c> <code c>
Line 67: Line 67:
  
 On considère des matrices carrée de taille N, encodées dans des tableau de longueur NxN. On considère des matrices carrée de taille N, encodées dans des tableau de longueur NxN.
 +(Cf {{:​mantis:​frama-c:​ensiie-2015-2016:​pointers.c|pointers.c}})
  
 <code c> <code c>
Line 97: Line 98:
 ===== Exercice 4: Chaînes de caractères ===== ===== Exercice 4: Chaînes de caractères =====
  
-On s'​intéresse à la bibliothèque [[http://​bstring.sourceforge.net/​|bstring]],​ qui fournit une représentation alternative des chaînes de caractères. Le code est disponible sur le site et dans [[bstring.zip|cette archive]]+On s'​intéresse à la bibliothèque [[http://​bstring.sourceforge.net/​|bstring]],​ qui fournit une représentation alternative des chaînes de caractères. Le code est disponible sur le site et dans {{:​mantis:​frama-c:​ensiie-2015-2016:​bstrlib.zip|cette archive}}
  
   - Écrire une fonction ''​%%main%%''​ qui crée deux ''​%%bstring%%''​ à partir de chaînes C normales de 127 caractères ASCII quelconques,​ et en effectue la concaténation.   - Écrire une fonction ''​%%main%%''​ qui crée deux ''​%%bstring%%''​ à partir de chaînes C normales de 127 caractères ASCII quelconques,​ et en effectue la concaténation.
Line 103: Line 104:
   - Écrire des wrapper pour ''​%%malloc%%''​ et ''​%%realloc%%'',​ en utilisant par exemple un tableau de ''​%%char%%''​ de taille ''​%%SIZE_MAX%%''​ et un tableau auxiliaire destiné à stocker à chaque indice de base d'un bloc alloué la taille du bloc correspondant. On ne cherchera pas à vérifier qu'un accès dans un bloc alloué par ''​%%malloc%%''​ ne déborde pas dans un autre bloc, ni si on accède au bloc après sa libération. ''​%%free%%''​ peut donc ne rien faire.   - Écrire des wrapper pour ''​%%malloc%%''​ et ''​%%realloc%%'',​ en utilisant par exemple un tableau de ''​%%char%%''​ de taille ''​%%SIZE_MAX%%''​ et un tableau auxiliaire destiné à stocker à chaque indice de base d'un bloc alloué la taille du bloc correspondant. On ne cherchera pas à vérifier qu'un accès dans un bloc alloué par ''​%%malloc%%''​ ne déborde pas dans un autre bloc, ni si on accède au bloc après sa libération. ''​%%free%%''​ peut donc ne rien faire.
   - Relancer l'​analyse de valeur et vérifier si des erreurs à l'​exécution sont possibles.   - Relancer l'​analyse de valeur et vérifier si des erreurs à l'​exécution sont possibles.
-  - Adapter la fonction ''​%%main%%''​ pour concaténer deux chaînes de longueur au plus +  - Adapter la fonction ''​%%main%%''​ pour concaténer deux chaînes de longueur au plus 63
-  - +
  
 ===== Exercice 5: Triangulation ===== ===== Exercice 5: Triangulation =====
  
-On considère une implantation d'un algorithme de triangulation du plan donné dans le [[http://​cs.smith.edu/​~orourke/​books/​ftp.html|livre //​Computational Geometry in C//]] de J. O'​Rourke,​ et disponible ​[[tri.c|ici]]+On considère une implantation d'un algorithme de triangulation du plan donné dans le [[http://​cs.smith.edu/​~orourke/​books/​ftp.html|livre //​Computational Geometry in C//]] de J. O'​Rourke,​ et disponible ​{{:​mantis:​frama-c:​ensiie-2015-2016:​tri.c|ici}}
  
   - Modifier la fonction ''​%%ReadVertices%%''​ pour créer un environnement de 25 points dont les coordonnées seront comprises entre ''​%%-1000%%''​ et ''​%%1000%%''​   - Modifier la fonction ''​%%ReadVertices%%''​ pour créer un environnement de 25 points dont les coordonnées seront comprises entre ''​%%-1000%%''​ et ''​%%1000%%''​
mantis/frama-c/ensiie2015-2016-ias-tp.txt · Last modified: 2016/01/04 19:21 by virgile