In der Vorlesung wurde der Datentyp list vorgestellt, der eine Liste von Integer-Zahlen darstellen kann. In dieser Aufgabe wollen wir Listen von char-Zeichen betrachten und wandeln daher den Infotype, der die Inhaltskomponente von list typisiert, entsprechend ab. Den geänderten Datentyp und zugehörige Funktionen geben wir Ihnen im  Rahmenprogramm ListMan.pas an.

Aufgabe 1

Implementieren Sie eine Funktion

function ReadCharList(fn : String): list;

die die erste Zeile aus einer Textdatei mit dem Dateinamen fn einliest und die Zeichen so in eine Liste einfügt, dass sie in Reihenfolge in der Liste auftauchen. Der Dateiname soll über die Standard-Datei input eingelesen werden.

Implementieren Sie eine

procedure PrintCharList(l : list);

die die Zeichen, die in der Liste l gespeichert sind, in Reihenfolge nach output ausgibt.

Aufgabe 2

Implementieren Sie eine Funktion

function Doppler(l:list): list;

die aus l eine neue Liste generiert, in der jedes Element zweimal in Reihenfolge vorkommen ( aus ab wird aabb).

Implementieren Sie eine Funktion

function Ungerade(l:list):list;

die aus der Liste l eine neue erzeugt, bei der nur die Elemente enthalten sind, die an ungerader Position stehen.

Sie können Aufgabe 1 und 2 als geschlossenen Lösung in einem Programm abgeben!


Abzugeben bis Di, 25.5.2004, 24h