Hier einige Tips bzw. Vorschlaege, um die Teilaufgaben a) und b) zu loesen (Pseudocode): 1. SCHRITT: Artikelliste aufbauen Typen und Variablen: - Pointer to Record Artikel - Record Artikel: . artikelid (Int) . artikelfarbe (Arr of Char) . filialenname (Arr of Char) . next (Pointer) - Var anchor vom Typ Pointer Prozeduren: - Init: anchor auf NIL setzen - Insert: neuen Artikel in Liste einfuegen - Ausgabe: Artikelliste ausgeben => Vorgehensweise genau so, wie in den Uebungen gezeigt! Hinweis: Beim Einfuegen eines neues Artikels kann fuer einen ersten Testlauf bei jedem Artikel die Farbe und die Filiale dieselbe sein! z.B.: New(art) (* Neuen Artikel erzeugen *) art.artikelfarbe := "rot"; art.filialname := "Ulm"; Und das fuer jeden neuen Artikel... Jetzt noch die Zeiger richtig setzen, dann ist unser erstes Testprogramm fertig. Die Ausgabe (nach 3 eingefuegten Artikeln) kann dann z.B. so aussehen: rot, Ulm rot, Ulm rot, Ulm SCHRITT 2: Farben und Filialen zufaellig erzeugen Im zweiten Schritt werden den Artikeln nun zufaellige Farben und Filialen zugewiesen. Wie geht das? z.B. ein Array anlegen, in dem die Farben fest "verdrahtet" sind! Dann in der Insert Prozedur die Farbe zuweisen, z.B. mit: art.artikelfarbe := farbarray[randomzahl]; usw. Die Ausgabe (nach 3 eingefuegten Artikeln) kann dann z.B. so aussehen: blau, Blaubeuren gruen, Erbach gruen, Neu-Ulm SCHRITT 3: Neuen Type Record Head (mit Pointer) deklarieren (wie im Aufgabenblatt beschrieben). Diesen in der Init Prozedur initialisieren und die Prozedur Insert so modifizieren, dass die neuen Listen in Abhaengigkeit von den Farben verkettet werden (z.B. schauen, ob die FarbPointer von Head auf Nil zeigen. Wenn ja, dann den FarbPointer auf den ersten Artikel, bei dem die entsprechende Farbe auftritt setzen, wenn nicht mehr NIL, dann eben den Farb Pointer des Artikel umsetzen! Es empfiehlt sich hier temporaere Zeiger einzusetzen, die auf den letzten Artikel mit der entsprechenden Farbe zeigen...) PS: Fasst diese Tips als Anregung und nicht als "so muss es gemacht werden" auf! Wer eigene Ideen hat (evtl. auch bessere) sollte diese verwenden und umsetzen! Ausserdem: Erwartet nicht, dass diese Tips und Beispielprogramme immer bzw. sofort im Netz stehen werden. Es ist eine Hilfe fuer Euch, aber kein muss meinerseits! Ich versuche diese Tips -- wenn's zeitlich geht -- moeglichst schnell ins Netz zu stellen, aber nicht jeder Freitag ist ein "Frei" Tag bzw. jede Woche ein "Wochenende" an dem ich unendlich viel Zeit habe! Hans :-)