1140 | farbcode | Farbcodierung auf Wiederstaenden | ||||||||
| ||||||||||
Abzugebende Files: farbcode.txt, farbcode.java |
Der Wert eines Widerstands wird in Ohm (
) gemessen und üblicherweise durch
Farbstreifen gekennzeichnet:
Die ersten drei Stellen beinhalten die drei signifikantesten (am weitesten links stehenden) Ziffern des Widerstandswertes, die vierte den Multiplikator (vergleichbar der Exponent-Mantisse-Darstellung für Fließkommazahlen).
Dazu gibt es folgende Tabelle:
Farbe | Abkürzung | Ziffer | Multiplikator |
---|---|---|---|
schwarz | sw | 0 | 1 |
braun | br | 1 | 10 |
rot | rt | 2 | 10^2 |
orange | or | 3 | 10^3 |
gelb | ge | 4 | 10^4 |
gruen | gn | 5 | 10^5 |
blau | bl | 6 | 10^6 |
violett | vi | 7 | 10^7 |
grau | gr | 8 | 10^8 |
weiss | ws | 9 | 10^9 |
gold | go | - | 0.1 |
silber | si | - | 0.01 |
Die Aufgabe Ihres Programmes ist es, einen Widerstandswert einzulesen und den entsprechenden Farbcode auszugeben.
Falls der Widerstandswert nicht genau kodiert werden kann, ist der nächstgrößere und der nächstkleinere Farbcode auszugeben.
Der erste Farbring muß immer <> 0 sein (100 Ohm ist also [br sw sw sw] und nicht [sw sw br rt] zu kodieren. In die Verlegenheit, 0 Ohmzu kodieren, werden Sie nicht kommen, da es derartige Widerstände nicht gibt (maximal als Supraleiter) und diese auch keinen Zweck hätten (siehe: Sinn eines Widerstands).
Beispiele: 2M3 = 2.3*10^6 = 2300000; 4K55 = 4.55*1000 = 4550; 18R = 18*1 = 18.
Widerstandswerte kleiner als 1 Ohm sind nicht zulässig. Die obere Schranke ergibt sich aus dem maximal codierbaren Widerstand.
Achtung: Zwischen eckiger Klammer und erster bzw. vierter Farbe darf kein Leerzeichen stehen!
Falls der Widerstand nicht genau codiert werden kann, so ist zuerst der nächsthöhere, dann der nächstniedrigere Farbcode auszugeben. Die beiden Codes sind durch ein Leerzeichen zu trennen.
Geben Sie zum Schluß einen Zeilenvorschub aus.
Eingabedaten |
4K7
|
Ausgabedaten |
[ge vi sw br]
|
Bemerkung: 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 farbcode < farbcode.i1 > farbcode.out1
Das erzeugte File farbcode.out1 können Sie dann mit dem mitgelieferten Outputfile farbcode.o1 vergleichen.