EPROG-LU - Aufgabe 1170 (Erbanlagen von Wunderblumen)
1170 Erbgang Erbanlagen von Wunderblumen
Kategorie:Biologie
Klasse:mittel
Eingabe:Strings
Ausgabe:Strings
Abzugebende Files: Erbgang.txt, Erbgang.java

Kurzbeschreibung:

Zwei Strings, die die Erbanlagen von Wunderblumen beinhalten sollen, werden eingelesen; die Erbanlagen der Kreuzung dieser Wunderblumen werden ermittelt.

Allgemeine Hinweise:

Aufgabenstellung:

In diesem Programm sollen zwei verschieden(oder auch gleich)-färbigblühende Wunderblumen gekreuzt werden. (Es handelt sich um einen "intermediären Erbgang", d.h. alle Farben sind gleichwertig; es gibt keine speziell dominante Farbe.) Als Farben sind erlaubt: ROT(R), BLAU(B), GELB(G); und deren Farbkombinationen: VIOLETT(RB bzw. BR), ORANGE(RG bzw. GR), GRUEN(GB bzw. BG).

Es werden also zwei Buchstabenkombinationen verlangt (wie z. B. "RR BG"), die jede für sich die Chromosome einer Wunderblume darstellt (RR = zwei Chromosome mit Anlage "Rot"; BG = ein Chromosom mit Anlage "Blau", ein Chromosom mit Anlage "Gelb"). Nun wird jedes Chromosom einer Wunderblume mit denen der anderen Wunderblume kombiniert, was als Ergebnis vier neue Wunderblumen mit bestimmten Farbanlagen liefert (in unserem Beispiel: RB, RG, RB, RG).

Besteht jetzt die Eingabe aus nur reinerbigen Blumen, d.h. es sind lediglich die reinen Grundfarben rot, blau, gelb (RR, BB, GG) bei der Eingabe vorgekommen, dann handelt es sich um die "Parentalgeneration" und es wurde das erste Mendelsche Gesetz angewandt, um die "erste Filialgeneration" zu erhalten.

Wurde irgendeine Kombination mit zumindest einer spalterbigen (d.h. die Chromosome haben verschiedene Farbanlagen z. B. "GR") Wunderblume eingegeben, so handelt es sich um das zweite Mendelsche Gesetz. Die Eingabe ist dabei schon die erste Filialgeneration und es wurde die "zweite Filialgeneration" erzeugt.

Die Ausgabe soll die vier neuen Wunderblumen mit ihren Farbanlagen und die entsprechende Ziffer (1 oder 2) für das angewandte Gesetz liefern. Beachten Sie bitte, daß die Reihenfolge von Bedeutung ist.(Das erste Chromosom der ersten Blume muß zuerst mit dem ersten Chromosom der zweiten und dann mit dem zweiten Chromosom der zweiten Blume kombiniert werden, anschließend muß das zweite Chromosom der ersten Blume mit dem ersten und zweiten der zweiten Blume kombiniert werden.)

Eingabedaten:

Lesen Sie zwei Strings ein, die jeweils die Erbanlage einer Wunderblume beschreiben sollen. Diese Strings müssen in Großbuchstaben eingegeben werden.
Als gültige Eingabe sind nun ausschließlich folgende Großbuchstabenkombinationen anzusehen: RR, BB, GG, RB, BR, RG, GR, GB und BG.

Ausgabedaten:

Bei korrekten Eingabedaten soll Ihr Programm die Erbanlagen der vier neuen Wunderblumen in der oben genannten Reihenfolge ausgeben. Weiters soll die Ziffer 1 ausgegeben werden, wenn das erste Mendelsche Gesetz angewendet wurde und 2, wenn das zweite Mendelsche Gesetz angewendet wurde.

Trennen Sie die einzelnen Teile der Ausgabe durch jeweils ein Leerzeichen und geben Sie am Ende einen Zeilenvorschub aus.

Fehlerbehandlung:

Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Sind die eingegebenen Daten inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
RB RG

RR GG

Ausgabedaten
RR RG BR BG 2

RG RG RG RG 1


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Erbgang < Erbgang.i1 > Erbgang.out1

Das erzeugte File Erbgang.out1 können Sie dann mit dem mitgelieferten Outputfile Erbgang.o1 vergleichen.

Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif