TD 0 - Programme en ligne de commande

© 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

Utilisation des machines

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:~>

Ligne de commande

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, in 
    sys.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).