1166 notenfrq Frequenz einer Musiknote
Kategorie:Musik
Klasse:leicht
Eingabe:String
Ausgabe:Integer
Abzugebende Files: notenfrq.txt, notenfrq.java

Kurzbeschreibung:

Eine Musiknote wird eingelesen; die dazu gehörige Frequenz wird berechnet und ausgegeben.

Allgemeine Hinweise:

Aufgabenstellung:

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.

Eingabedaten:

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.

Ausgabedaten:

Bei korrekten Eingabedaten soll Ihr Programm die Frequenz der entsprechenden Note (als int-Zahl) ausgeben.

Geben Sie danach einen Zeilenvorschub aus.

Fehlerbehandlung:

Sind die eingegebenen Daten nicht korrekt, so soll Ihr Programm die Meldung "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

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.