
25 juin 2010 à 13 h 30
Samuel Tardieu dans
TD
Calculatrice RPN
Une calculatrice RPN travaille avec une pile. Les opérations (par exemple l’addition) travaillent avec les valeurs au sommet de la pile et les y remettent (comme en Factor).
Le but de cet exercice est de factoriser un maximum de code et de limiter la duplication.
Types de base
Le mot-clé « type » permet de déclarer [...]

18 juin 2010 à 13 h 30
Samuel Tardieu dans
TD
Aujourd’hui, nous allons nous intéresser au client IRC de Factor ainsi qu’à ses possibilités d’analyser des expressions selon une grammaire EBNF.
Client IRC
En s’inspirant de la documentation du client de chat IRC, créez un client qui :
se connecte sur le serveur « irc.freenode.net » et rejoins le channel « #inf355″ ;
récupère les messages envoyés sur le channel et puisse [...]

11 juin 2010 à 13 h 30
Samuel Tardieu dans
TD
Préambule
Il est conseillé de faire l’échauffement avant d’attaquer les autres parties du TD. Vous avez ensuite le choix entre les tours de Hanoï (très simple) ou les engrammes (peu compliqué). Bien entendu, vous pouvez faire les deux si vous le souhaitez.
Échauffement
Définir la fonction « fact » calculant la factorielle d’un nombre. Cette fonction devra retourner 1 [...]

4 juin 2010 à 13 h 30
Samuel Tardieu dans
TD
Dans la continuation du cours d’aujourd’hui, nous allons maintenant jouer avec les acteurs Scala et le pattern matching (à travers les « case class » ou « unapply ») pour coder le comportement des clients d’une auberge. Les différents personnages seront codés en utilisant des acteurs séparés. On pourra, à la fin, y rajouter un soupçon de XML.
Les personnages
Le [...]

26 mai 2010 à 07 h 30
Samuel Tardieu dans
TD
Dans ce TD, nous allons mettre en œuvre les concepts illustrés par Alexandre lors du cours de la semaine dernière. On pourra consulter la documentation en ligne de Scala, ainsi que le livre Programming Scala disponible également en ligne.
Pour faire le TD, vous aurez besoin d’installer sbt (simple build tool). Une fois ceci fait, récupérez [...]

19 mai 2010 à 07 h 30
Samuel Tardieu dans
TD
Opérateur angélique
L’opérateur angélique « amb », vu en cours la dernière fois, permet de choisir parmi plusieurs alternatives et de revenir en arrière lorsqu’une alternative non satisfaisante.
Par exemple :
(amb)
ne présente aucune alternative et échoue, alors que
(amb 1 2 3)
retourne 1, puis, si dans la suite du calcul, (amb) est rencontré, retournera 2, puis 3 le cas échéant [...]

12 mai 2010 à 07 h 30
Samuel Tardieu dans
TD
Introduction
Configuration de DrScheme
Si vous choisissez d’utiliser DrScheme (de plt-scheme), il faut activer le langage « Module » et commencer vos fichiers par « #lang scheme ».
Mise en place
Dans toute la suite du TP, on validera l’implémentation par des tests unitaires. Pour cela, écrire une procédure test permettant de vérifier qu’un bout [...]
Commentaires récents