Universität Ulm - Abteilung Angewandte Informationsverarbeitung

 


7. Übungsblatt zur Vorlesung Allgemeine Informatik II


Abgabetermin: 27. Juni 2002



Aufgabe 1:    Die Handelskette Liddl     (10 Punkte)


Die Handelskette Liddl verkauft Ihre Artikel nur in den Farben rot, grün und blau. Jede Filiale hat im Sortiment mehrere Artikel, aber ein bestimmter Artikel wird nur in genau einer Filiale verkauft; d.h. jeder Artikel ist genau einer Filiale zugeordnet (die Umkehrung gilt natürlich nicht).


Beispiel für 10 Artikel:

Der Chef von Liddl möchte nun wissen wieviele rote, grüne bzw. blaue Artikel insgesamt verkauft werden und wieviele Artikel welche Filiale anbietet (siehe Zusatzaufgabe). Außerdem ist er interessiert wieviele Artikel in allen seinen Filialen verkauft werden.


Folgende Datenstruktur bietet sich für Liddl an:

Abbildung: Die für Liddl geeignete Datenstruktur
\includegraphics[scale=0.22]{Struktur}

Teilaufgabe a:


Legt zuerst einen Record für Head und einen Record für die Artikel mit den entsprechenden Zeigern an (Initprozedur) und erzeugt mit einem Zufallsgenerator die Artikel (zu einem Artikel gehören die ID, die Farbe, die Filiale und die Zeiger next, farbe und ort, wie in Abbildung 1 gezeigt).


Tip:

Ein Array mit 4 Filialen(Ulm, Neu-Ulm, Blaubeuren, Erbach) und ein Array mit den 3 Farben (rot, grün, blau) anlegen. Wenn dann ein neuer Artikel erzeugt wird, kann per Zufall auf einfache Art und Weise eine Filiale sowie eine Farbe bestimmt werden! Prüft danach, ob die Erzeugung der Artikel korrekt funktioniert!


Teilaufgabe b:


Der Aufbau der Liste sollte dann in einer extra Prozedur (z.B. Insert) erfolgen. Verwendet dabei nur die Zeiger first und next. (Die Zeiger rot, grün, blau, farbe und ort erstmal außer acht lassen). Achtung: Beim Aufbau der Liste nicht vergessen die Artikel gleich mit zu zählen. In einer Prozedur Ausgabe soll dann die einfach verkettete Liste (also die Artikel und ihre Eigenschaften) ausgegeben werden.


Teilaufgabe c:


Im letzten Schritt müßt Ihr dann die Prozedure Insert so modifizieren, daß alle Artikel mit der gleichen Farbe verknüpft werden. Anschließend sollen die Artikel nach Farben geordnet ausgegeben werden.


Zusatzaufgabe     (10 Punkte)

Legt eine weitere Liste an, in der die Orte der Filialen gespeichert werden können und deren Einträge auf die Artikel zeigen, bei denen erstmals neue Orte auftreten. Der Ortszeiger eines Artikels soll dann natürlich auf einen Artikel, der am gleichen Ort verkauft wird, ,,weiter`` zeigen.



Viel Erfolg!



Hans Braxmeier