Da die Aufgabe Charminator anscheindend zu einfach war, kommt mal eine ohne solche Hilfestellungen
.
Wir haben uns eine Maschine gebaut, die Rechner zusammenschrauben kann. Die Unterprogramme zum Einbau einzelner Komponenten wie: Mainboard einbauen, RAM, Grafikkarte, S-ATA-Kabel etc einstecken sind schon fertig.
Allerdings wollen wir Rechner nach Kundenwünschen zusammenbauen und die Maschine sollte dies vollautomatisch machen. Jedoch muss man zuerst das Mainboard einbauen, bevor die Grafikkarte eingesteckt wird und der CPU-Kühler sollte erst nach dem Einbau der CPU angebracht werden. Deshalb wollen wir uns ein Programm schreiben, welches die eingegebenen Komponenten in die richtige Reihenfolge bringt, damit unsere Machine nach dieser Liste den Rechner zusammenbauen kann.
Berücksichtige folgendes:
- Gehäuselüfter müssen vor Grafik-,Sound-,Netwerkkarten angebracht werden.
- CPU-Kühler kann erst nach der CPU Montage platziert werden, aber unbedingt vor S-ATA und Audiokabel.
- CPU muss vor CPU-Kühler, S-ATA und Audiokabel rein.
- Mainboard muss vor allen anderen Komponenten (außer dem Gehäuselufter) montiert werden.
- Festplatte und DVD-Laufwerk kommen vor S-ATA Kabel
- SLI Kabel kann erst nach Grafikkarteneinbau eingesteckt werden
- Audiokabel kann erst nach Soundkarte und DVD-Laufwerk Einbau hinein.
Das Programm soll nicht irgendeine logische Überpfürung anstellen (z.B SLI Kabel für nur einge Grafikkarte oder CPU-Kühler ohne CPU), sondern nur eine Reihenfolge zum Montieren ausgeben.
Und da wir das Programm später für viel viel Geld an eine große Firma verkaufen wollen,sollte es auf für andere Probleme anwendbar sein
.
Idealerweise sollte man zuerst die Konfiguration:
Elemente: A,B,C,D
A vor: B,C
C vor D
B vor C
eingeben können
und dann zu einer Eingabe die richtige Reihenfolge herausbekommen:
Eingabe: C,D,A
Ausgabe: A,C,D
Diesen Schritt mit Benutzereingabe könnt ihr bei eurem Demo-Code fürs Habo natürlich auslassen und die Eingabe schon im Source festkodieren.
Eingabe für diese Aufgabe:
Kundenwunsch: 2x "InVidia GeForce 80808" Grafikkarte, Ausus Mainboard, "Indel Core5 80Ghz" CPU, Super-silent-CPU Kühler, "LeechersChoice200TB"-Festplatte,DVD-Laufwerk, Gehäuselüfter,SLI-Kabel,S-ATA Kabel, Audiokabel,Soundkarte, Netzwerkkarte, 4x "Infeoneon 128 GB" RAM Riegel

Wir haben uns eine Maschine gebaut, die Rechner zusammenschrauben kann. Die Unterprogramme zum Einbau einzelner Komponenten wie: Mainboard einbauen, RAM, Grafikkarte, S-ATA-Kabel etc einstecken sind schon fertig.
Allerdings wollen wir Rechner nach Kundenwünschen zusammenbauen und die Maschine sollte dies vollautomatisch machen. Jedoch muss man zuerst das Mainboard einbauen, bevor die Grafikkarte eingesteckt wird und der CPU-Kühler sollte erst nach dem Einbau der CPU angebracht werden. Deshalb wollen wir uns ein Programm schreiben, welches die eingegebenen Komponenten in die richtige Reihenfolge bringt, damit unsere Machine nach dieser Liste den Rechner zusammenbauen kann.
Berücksichtige folgendes:
- Gehäuselüfter müssen vor Grafik-,Sound-,Netwerkkarten angebracht werden.
- CPU-Kühler kann erst nach der CPU Montage platziert werden, aber unbedingt vor S-ATA und Audiokabel.
- CPU muss vor CPU-Kühler, S-ATA und Audiokabel rein.
- Mainboard muss vor allen anderen Komponenten (außer dem Gehäuselufter) montiert werden.
- Festplatte und DVD-Laufwerk kommen vor S-ATA Kabel
- SLI Kabel kann erst nach Grafikkarteneinbau eingesteckt werden
- Audiokabel kann erst nach Soundkarte und DVD-Laufwerk Einbau hinein.
Das Programm soll nicht irgendeine logische Überpfürung anstellen (z.B SLI Kabel für nur einge Grafikkarte oder CPU-Kühler ohne CPU), sondern nur eine Reihenfolge zum Montieren ausgeben.
Und da wir das Programm später für viel viel Geld an eine große Firma verkaufen wollen,sollte es auf für andere Probleme anwendbar sein

Idealerweise sollte man zuerst die Konfiguration:
Elemente: A,B,C,D
A vor: B,C
C vor D
B vor C
eingeben können
und dann zu einer Eingabe die richtige Reihenfolge herausbekommen:
Eingabe: C,D,A
Ausgabe: A,C,D
Diesen Schritt mit Benutzereingabe könnt ihr bei eurem Demo-Code fürs Habo natürlich auslassen und die Eingabe schon im Source festkodieren.
Eingabe für diese Aufgabe:
Kundenwunsch: 2x "InVidia GeForce 80808" Grafikkarte, Ausus Mainboard, "Indel Core5 80Ghz" CPU, Super-silent-CPU Kühler, "LeechersChoice200TB"-Festplatte,DVD-Laufwerk, Gehäuselüfter,SLI-Kabel,S-ATA Kabel, Audiokabel,Soundkarte, Netzwerkkarte, 4x "Infeoneon 128 GB" RAM Riegel