Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/MathematischeMethoden: Unterschied zwischen den Versionen

K (Kategorisiert)
 
(11 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 17: Zeile 17:
 
* Schreibe nun eine Methode <code>sub</code>, welche die Differenz zweier übergebener Werte zurückgibt.
 
* Schreibe nun eine Methode <code>sub</code>, welche die Differenz zweier übergebener Werte zurückgibt.
 
** Teste deine Methode wie eben!
 
** Teste deine Methode wie eben!
** Überprüfe, ob x == ( x - y ) + y gilt! (natürlich mit deinen <code>sub</code> und <code>add</code>-Modthoden)
+
** Überprüfe, ob x == ( x - y ) + y gilt! (natürlich mit deinen <code>sub</code> und <code>add</code>-Methoden)
* Schreibe nun eine <code>mul</code>-Methode für <code>int</code>.
+
* Schreibe nun eine <code>mul</code>-Methode für <code>double</code>.
** Benutze dazu nicht den operator *, sondern die Addition (+).
+
** Benutze dazu nicht den operator *, sondern deine gerade geschriebene <code>add</code>-Methode.
** Teste deine Methode wie eben!
+
** Teste deine Methode wie eben und überlege dir weitere Testfälle (bsp. 2*0 oder 3*-1, usw.)
* Schreibe nun eine <code>public static double pow ( double basis, int exponent )</code>, die <code>basis</code> hoch <code>exponent</code> zurückgibt. <code>pow( 2,3 )</code> wurde z.B. 2^3=8 zurückgeben.
+
* Schreibe nun eine <code>public static double pow ( int basis, int exponent )</code>, die <code>basis</code> hoch <code>exponent</code> zurückgibt. <code>pow( 2,3 )</code> wurde z.B. 2^3=8 zurückgeben.
** Benutze auch hier weder *, noch Math.pow(). Nutze stattdessen deine gerade geschriebene mul-Methode.
+
** Benutze auch hier weder *, noch Math.pow(). Nutze stattdessen deine gerade geschriebene <code>mul</code>-Methode.
 
** Teste deine Methode wie gehabt!
 
** Teste deine Methode wie gehabt!
 
**: Was liefert deine Methode wenn der Exponent 0 ist?
 
**: Was liefert deine Methode wenn der Exponent 0 ist?
Zeile 32: Zeile 32:
 
== Kommentare ==
 
== Kommentare ==
 
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)
 
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)
 
 
<!--
 
<!--
 
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit "Vorschau zeigen" kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.
 
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit "Vorschau zeigen" kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.
Zeile 41: Zeile 40:
 
-->
 
-->
  
"Füge eine public static void main(Strings[] arguments) Methode hinzu." <-- Das muss
+
==== Daniel ====
"Füge eine public static void main(String[] arguments) Methode hinzu." heißen!
+
Eine mul-Methode mit doubles, die add benutzt? Mit integern geht das ja, aber wie soll das mit doubles funktionieren? Ich nehme jetzt an, doubles können auch Dezimalstellen haben...
 
 
: Änder es ruhig. Nun hab ich's aber schon gemacht. -- [[Benutzer:Buchholz|Robert Buchholz]]
 
 
 
  Meine geschriebene mul-Methode kann ich nicht zum Schreiben dieser pow-Methode -->
 
 
 
: public static double pow ( double basis, int exponent) {
 
:: double powProduct = 1.0;
 
:: for (int i=0; i<exponent; i=i+1) {
 
::: powProduct = mul(powProduct,basis);
 
:: }
 
:: return powProduct;
 
: }
 
  
  benutzt werden, da die mul-Methode als Eingabeparameter int erwartet.
 
  Wie soll diese Aufgabe gelöst werden?
 
  
 
[[Kategorie:Java]]
 
[[Kategorie:Java]]
 
[[Kategorie:Java_Aufgaben]]
 
[[Kategorie:Java_Aufgaben]]

Aktuelle Version vom 1. August 2010, 12:03 Uhr

Im Folgenden wollen wir einige (mathematische)-Methoden programmieren.

  • Lege eine neue Klasse "MatheAufgabe" an.
  • Füge eine public static void main(String[] arguments) Methode hinzu.
  • Deklariere innerhalb der main-Methode eine double-Variable.
  • Belege diese Variable dem Wert 5.0/3.0 und gib den Inhalt der Variable auf dem Bildschirm aus.
  • Schreibe nun eine Methode public static double add(double x, double y), die die Summe der beiden übergebenen Zahlen x und y zurückgibt.
    • Teste deine Methode mit verschiedenen Eingaben wie z.B.
System.out.println( " 1.0 + 2.0 = " + add ( 1.0 , 2.0 ) );
double x = 5.0;
System.out.println( " " + x + " + 2.0 = " + add ( x , 2.0 ) );
System.out.println( " 2.0 + " + x + " = " + add ( 2.0 , x ) );
x = add ( x , 2.0 );
System.out.println( x );

  • Schreibe nun eine Methode sub, welche die Differenz zweier übergebener Werte zurückgibt.
    • Teste deine Methode wie eben!
    • Überprüfe, ob x == ( x - y ) + y gilt! (natürlich mit deinen sub und add-Methoden)
  • Schreibe nun eine mul-Methode für double.
    • Benutze dazu nicht den operator *, sondern deine gerade geschriebene add-Methode.
    • Teste deine Methode wie eben und überlege dir weitere Testfälle (bsp. 2*0 oder 3*-1, usw.)
  • Schreibe nun eine public static double pow ( int basis, int exponent ), die basis hoch exponent zurückgibt. pow( 2,3 ) wurde z.B. 2^3=8 zurückgeben.
    • Benutze auch hier weder *, noch Math.pow(). Nutze stattdessen deine gerade geschriebene mul-Methode.
    • Teste deine Methode wie gehabt!
      Was liefert deine Methode wenn der Exponent 0 ist?
      Was liefert deine Methode wenn der Exponent negativ ist?



Kommentare

Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)

Daniel

Eine mul-Methode mit doubles, die add benutzt? Mit integern geht das ja, aber wie soll das mit doubles funktionieren? Ich nehme jetzt an, doubles können auch Dezimalstellen haben...