1166 | notenfrq | Frequenz einer Musiknote | ||||||||
| ||||||||||
Abzugebende Files: notenfrq.txt, notenfrq.java |
Eine Musiknote wird eingelesen; die dazu gehörige Frequenz wird berechnet und ausgegeben.
Ihr Programm soll einen String einlesen, der eine Musiknote enthält. Berechnen Sie die Frequenz dieser Note.
Der gesamte Tonbereich ist in Oktaven gegliedert. Jede Oktave besteht aus den zwölf Tönen C, Cis, D, Dis, E, F, Fis, G, Gis, A, Ais und H.
Die Oktaven sind folgendermaßen angeordnet:
Name der Oktave | Schreibweise der Töne |
---|---|
große Oktav | C Cis D Dis E F Fis ... |
kleine Oktav | c cis d dis e f fis ... |
eingestrichene Oktav | c' cis' d' dis' e' f' fis' ... |
zweigestrichene Oktav | c'' cis'' d'' dis'' e'' f'' fis'' ... |
dreigestrichene Oktav | c''' cis''' d''' dis''' e''' f''' fis''' ... |
Dabei enthält die große Oktave die tiefen und die dreigestrichene Oktave die hohen Töne.
Hier die Frequenzen der großen Oktave:
C = 65 Hz, Cis= 69 Hz, D = 73 Hz, Dis= 78 Hz, E = 82 Hz, F = 87 Hz, Fis= 92 Hz, G = 98 Hz, Gis= 104 Hz, A = 110 Hz, Ais= 117 Hz, H = 123 Hz.
Die Frequenzen von einer Oktave zur nächsten verhalten sich 1:2 (z.B. Freqenz von a = (Frequenz von A) * 2 = 110 * 2 = 220 Hz ).
Um die gesuchte Frequenz zu erhalten, wählt man den entsprechenden Wert der groaen Oktav aus und multipliziert ihn entsprechend oft mit 2.
Lesen Sie den String ein, der die Note enthält. Dieser soll eine Note in der oben angebenen Schreibweise enthalten. Beachten Sie, dass nur der Anfangsbuch- stabe groß sein darf (dies markiert eine Note der groaen Oktav) und dass in diesem Fall auch keine Hochkommas folgen dürfen.
Der eingegebene Ton soll zwischen C und h''' liegen.
Bei korrekten Eingabedaten soll Ihr Programm die Frequenz der entsprechenden Note (als int-Zahl) ausgeben.
Geben Sie danach einen Zeilenvorschub aus.
Eingabedaten |
D
a' |
Ausgabedaten |
73
440 |
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 notenfrq < notenfrq.i1 > notenfrq.out1
Das erzeugte File notenfrq.out1 können Sie dann mit dem mitgelieferten Outputfile notenfrq.o1 vergleichen.