Gymnasium Uebung4 2010 NSt

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
= Für die Herbstferien =

Damit ihr nicht das Gelernte vergesst und euch darin erproben könnt, hier Übungsaufgaben.
Ihr könnt diese natürlich zusammen lösen, aber dabei ist der Lerneffekt für euch selbst nicht so groß.
Versucht es zunächst allein. Ich schau vor der nächsten Stunde nach, wie ihr die Aufgaben gemeistert habt.
Solltet ihr eine Aufgabe gar nicht lösen können, so besprechen wir das in der nächsten Übungsstunde.
Viel Erfolg.

== Switch ==
Versuche, den im Unterricht gezeigten switch-Fall (Kalendar) nachzubauen und dir damit das '''switch''' anzueignen.
Die Variable, die du mit switch prüfen kannst, muss vom Typ '''int''' sein! Danach prüfst du alle Werte, die die Variable in dem Kalendar annehmen kann. Für alle restlichen Werte gibt es den '''default'''-Fall. Nenn die Variable '''monat'''.

<eval id="4c9799b098a52">
// Hier kommt dein Quellcode rein

</eval>


<language>Java</language>
== Kalendar ==

Den oben erstellten Quellcode kannst Du hier direkt benutzen. Schreibe eine Funktion, die eine Zahl als Parameter erwartet und den dazugehörigen Monat als String zurückgibt. Nenne die Funktion '''kalendar'''

'''Bsp.:'''  kalendar(2) liefert Februar als Ausgabe

<code id="4cbc2f3833753">
// Hier kommt dein Quellcode rein
</code>
<eval id="4cbc2f38337bd">
// Hier kommt dein Aufruf rein
</eval>

== Kreisfläche ==

Entwickle ein Programm '''kreisflaeche''', welches den Flächeninhalt zu einem Radius berechnet.

'''Formel:''' <math> A = \pi * r^{2}</math>

PI soll 3.14 sein

<code id="4aa10bdcdca72">
// Hier kommt dein Quellcode hin
</code>
<eval id="4aa10bdcde9c5">
// Hier rufst du dein Programm auf
</eval>
<check>
return kreisflaeche(2.5)==19.625 && 
kreisflaeche(30.0)==2826.0 && 
kreisflaeche(1.123456789) == 3.96316719219559823594;
</check>

== signum ==
Schreibe eine Funktion, die sich wie folgt verhält.
* gibt -1 aus, wenn die eingegebene Zahl kleiner 0 ist
* gibt 0 aus, wenn die eingegebene Zahl gleich 0 ist
* gibt 1 aus, wenn die eingegebene Zahl größer 0 ist

Nenne die Funktion '''signum'''. 

<code id="4aa277e1de4f0"/>
<eval id="4aa277e1e562c"/>
<check> return (signum(-10)==-1 && signum(1234)==1 && signum(0)==0);</check>

== Betrag ==
Aus der Mathematik kennst Du sicherlich den absoluten Betrag. Der absolute Betrag einer Zahl ist immer positiv.
Schreibe eine Funktion, die eine ganze Zahl erwartet und dazu den Betrag ausgibt. Nenne die Funktion '''absBetrag'''

'''Beispiel:'''  absBetrag(-50)  -->  50

<code id="4caa262eb9a0e"/>
<eval id="4caa262eb9b42"/>
<check>return (absBetrag(-1)==1 && absBetrag(13)==13 && absBetrag(0)==0);</check>

==  Wurzel und Runden ==
Schreibe eine Funktion '''wurzelZieher''', die Folgendes für dich erledigen soll.

Die Funktion bekommt zwei Parameter, eine Zahl und einen Wahrheitswert. 
'''Einige Beispiele:'''<br/>


Von der übergebenen Zahl wird die Wurzel gezogen. Ist der Wahrheitswert '''true''', so wird zusätzlich das Ergebnis gerundet.<br/>
'''Tipp:''' [http://download-llnw.oracle.com/javase/6/docs/api/java/lang/Math.html Hier] findest du alles, was du brauchst. Die Bibliothek kennst du bereits.

<code id="4caa262eb9a83"/>
<eval id="4cbaec662a4ed"/>
<check>
   return wurzelZieher(95, false) == 9.746794344808963 && wurzelZieher(95, true) == 10;
</check>

== Textaufgabe ==
Eine IT-Firma konnte ihre Effizienz durch den Umstieg auf eine andere
Programmiersprache steigern. Der Chef möchte deshalb seine Mitarbeiter belohnen. Die
Gehälter aller Mitarbeiter sollen um 4 %, mindestens aber um 80 € im Monat erhöht werden.
Es soll ein Programm entwickelt werden, das nach Eingabe des alten Monatsgehaltes das
neue Gehalt berechnet und ausgibt (vgl. [http://www.google.de/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fwww.informatica-didactica.de%2FInformaticaDidactica%2FKohl2006%2FAnleitung2006.pdf&ei=HVWlSonyCceHsAaG06DTBA&rct=j&q=Puck+programmieren&usg=AFQjCNF_vjDGSS6dVHesQ-0shSHpvkzOHA]).

Nenne das Programm '''gehaltsErhoehung'''! Als Rückgabe wird eine '''Ganzzahl''' erwartet!


<code id="4aa5591fa2cf5"/>
<eval id="4aa5591fa3c3b"/>
<check>return (gehaltsErhoehung(1200)==1280 && gehaltsErhoehung(5000)==5200 && gehaltsErhoehung(0)==80);</check>