© 2007—2009 - Renaud Blanch
Le but de ce Td est de se familiariser avec la notion de distances sémantiques à l'exécution et à l'interprétation, illustrées sur le cas d'un programme en ligne de commande
Pour faire ce TP, vous devez utiliser un interpréteur Python. Ce dernier est peut être installé sur votre machine. Si ce n'est pas le cas vous pouvez vous connecter sur un des serveur de l'UFR.
$ ssh -Y login@mandelbrot.e.ujf-grenoble.fr Password: password mandelbrot:~> uname Linux mandelbrot:~> date Wed Feb 6 15:04:23 CET 2008 mandelbrot:~>
Si vous souhaitez travailler sur votre machine personnelle, vous pouvez télécharger une distribution de Python adaptée à votre système. Le but de ce TD n'est pas d'apprendre Python, néanmoins, si cela vous intéresse, vous pouvez consulter cette introduction à Python.
Récupérez le programme trace.py. Rendez le exécutable et testez le.
mandelbrot:~> chmod a+x trace.py mandelbrot:~> ./trace.py Traceback (most recent call last): File "./trace.py", line 48, insys.exit(main()) File "./trace.py", line 33, in main assert len(argv) == 1 AssertionError mandelbrot:~> ./trace.py "sin(x)" x, sin(x) 0.0, 0.0 0.1, 0.0998334166468 0.2, 0.198669330795 0.3, 0.295520206661 0.4, 0.389418342309 0.5, 0.479425538604 0.6, 0.564642473395 0.7, 0.644217687238 0.8, 0.7173560909 0.9, 0.783326909627 1.0, 0.841470984808
En quoi consistent les distances sémantiques à l'exécution et à l'interprétation pour ce programme ?
Identifiez les cas où il est possible de réduire la distance sémantique à l'exécution en gérant mieux les erreurs. Pour chacun de ces cas, fournissez un message indiquant comment utiliser le programme.
Le programme ne permet pas de spécifier un certains nombre d'options pourtant intéressantes. Identifiez en quelques unes.
Passez maintenant au TP suivant (programmation d'un visualisateur de graphes en Java/SWING).