Programmiersprachen
LVA 185.208, VL 2.0, 2005 S

2. Übungsaufgabe

Entwickeln Sie in ML oder Haskell (das sind funktionale Programmiersprachen) eine persistente Datenbank zur Verwaltung eines kleinen Lagers. Es bleibt Ihnen überlassen, welche Arten von Produkten im Lager zu finden sind - Fahrradbestandteile, Gemüse, Gesteinsproben, etc. Es sollte jedenfalls möglich sein, den Inhalt der Datenbank vom Programm aus zu ändern (zumindest Einfügen und Löschen von Datensätzen) und nach beliebigen Zeichenketten zu suchen. Weiters sollen die Produkte in der Datenbank in mehrere Kategorien eingeteilt werden, und Datensätze in unterschiedlichen Kategorien sollen aus unterschiedlichen Datenfeldern bestehen können. Es soll möglich sein, neue Kategorien hinzuzufügen bzw. nicht mehr benötigte Kategorien zu entfernen, sowie die Suche auf bestimmte Kategorien einzuschränken. Die in der Datenbank gespeicherten Daten sollen beim absichtlichen Beenden des Programms nicht verloren gehen, sondern persistent (in einer Datei) gespeichert werden. Die Datenbank wird klein bleiben. Es ist daher problemlos möglich, alle Daten beim Programmstart einzulesen und vor Beendigung neu zu schreiben.

Bei dieser Aufgabe kommt es darauf an, Daten zu verwalten. Dies scheint auf den ersten Blick in Widerspruch zu modernen funktionalen Sprachen wie ML und Haskell zu stehen, bei genauerer Betrachtung ergeben sich aber zahlreiche Lösungsmöglichkeiten.

Auf dem Übungsrechner (b3) sind Objective Caml als ML-Interpreter bzw. Compiler und Hugs als Haskell-Interpreter installiert. Umfangreiche Informationen zu Objective Caml (z.B. ein Manual und Interpreter bzw. Compiler zum Herunterladen) finden Sie unter http://caml.inria.fr/. Falls Sie Ihr Programm in Objective Caml schreiben, schränken Sie sich bitte auf Standard-ML ein. Verzichten Sie auf die Verwendung der objektorientierten Erweiterungen.

Informationen zu Haskell (beispielsweise die Sprachdefinition) finden Sie unter http://www.haskell.org/, weitere Informationen zu Hugs (Dokumentation und Download) unter http://www.haskell.org/hugs/.

Complang
Puntigam
   Kontakt
   Research
   Lehre
      OOP
      Typsysteme
      EP2
      FOOP
      Prog.spr.
      frühere Lehre
         LVAs 2017 W
         LVAs 2017 S
         LVAs 2016 W
         LVAs 2016 S
         LVAs 2015 W
         LVAs 2015 S
         LVAs 2014 W
         LVAs 2014 S
         LVAs 2013 W
         LVAs 2013 S
         LVAs 2012 W
         LVAs 2012 S
         LVAs 2011 W
         LVAs 2011 S
         LVAs 2010 W
         LVAs 2010 S
         LVAs 2009 W
         LVAs 2009 S
         LVAs 2008 W
         LVAs 2008 S
         LVAs 2007 W
         LVAs 2007 S
         LVAs 2006 W
         LVAs 2006 S
         LVAs 2005 W
         LVAs 2005 S
            Prog.spr.
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
            FOOP
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
Objective Caml
Haskell
Hugs
vorige Aufgabe
nächste Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2005-04-25 (Puntigam)