K-EL/Variablen und Datentypen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
= Einführung =
Wir wollen mit diesen ersten Übungen in die Welt der Programmierung eintauchen.
= Zahlen und einfach Berechnungen =
== Zahlen ==
Wir beginnen ganz gemächlich. Zunächst wollen wir anfangen mit dem Computer zu sprechen. Gib hierzu einfach Zahlen im folgenden Feld ein und klicke auf ausführen.
<run id="4f88826a6db44">51</run>
== Mathematische Operationen ==
Natürlich können wir nicht nur Zahlen eingeben, sondern richtig rechnen. Probiere einige Rechenoperationen im folgenden Feld aus.
<run id="4f88826a6dbd4">2*(17+4-3)</run>
'''Übung'''
Neben den einfachen Rechenoperationen <b>+ | - | * | /</b> können wir auch mit komplexeren Konstrukten rechnen. Beispielsweise kann man mit Math.pow(b,e) die Potenz b<sup>e</sup> berechnen.
<run id="4f88826a6dc5a">Math.pow(5,2)</run>
Neben dieser gibt es noch viele weitere mathematische Funktionen. Unter [http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html Bibliothek] findest du alle Mathematik-Funktionen und -Operationen, mit denen wir rechnen können.
'''Übung'''
Quadriere die Zahl 4 (5,16) mit Hilfe von Math.pow(). Ziehe mithilfe dieser Funktion auch die Quadratwurzel aus 4 (5,16)
<run id="4f88826a6dce5" rows=2></run>
= Nutzen von Variablen =
== Variablen deklarieren ==
Wir haben gesehen, dass es meist sinnvoll ist, nicht direkt mit den Werten zu arbeiten, sondern mit Variablen. Wir wollen uns anschauen, wie Variablen in der Programmiersprache festgelegt werden.
Dazu benötigen wir die Datentypen, denn, wir erinnern uns, jeder Variable muss gesagt werden, von welchem Typ sie ist, beziehungsweise, welche Werte sie aufnehmen kann.
Das folgende Beispiel erzeugt eine Variable x vom Typ Integer, also eine natürliche Zahl.
<code id="4f88894e304c7">int x;</code>
Nachdem die Variable deklariert wurde, kann ihr ein Wert zugewiesen werden, hier 5.
<code id="4f88894e3095e">x = 5;</code>
Um den Wert der Variable wieder auszugeben, also uns anzeigen zu lassen, nutzen wir folgendes Kommando:
<run id="4f8b3d66a247d">System.out.println(x);</run>
Nachdem wir nun die Variable definiert und mit einem Wert belegt haben, können wir mit ihr rechnen.
<run id="4f88826a6de02" id="">
double rechnung = x + x + x + x;
System.out.println(rechnung);
</run>
'''Übungen zu obigem Beispiel'''
* Weise der Variable einen anderen Wert zu und lass den letzten Ausdruck neu berechnen
* Was passiert, wenn du eines der Semikola weglässt/löschst?
* Berechne den Term x<sup>2</sup>+3x-10 für verschiedene Werte x (-3,4,5,100,123456).
== Strings ==
Neben Zahlen als Inhalt für Variablen haben wir Strings kennengelernt. Im folgenden Beispiel wird die Variable text vom Typ String erzeugt und ihr der Wert "Hallo Welt!" zugewiesen:
<code id="4f894936ee277">String text = "Hallo Welt!";</code>
Mehrer Strings können, ähnlich wie Sätze, die aneinandergereiht einen Text ergeben, mittels + miteinander verkettet werden. Der Zusammengesetzte Text kann wiederum einer neuen Variable zugewiesen werden:
<run id="4f8b3d66a2577">
String satz1 = "Es war einmal vor langer, langer Zeit in einem Land weit entfernt.";
String satz2 = "Dort wohnte Marie, eine junge Bäuerin.";
String satz3 = "Und wenn Sie nicht gestorben ist, so lebt sie dort noch heute";
String maerchen = satz1 + satz2 + satz3;
System.out.println( maerchen );
</run>
== Kommentare verwenden ==
Damit jemand, der den Code liest, besser verstehen kann, was der Code machen soll, kann man überall im Code Kommentare hinterlassen.
Man schreibt einfach zwei Schrägstriche (//). Alles, was dahinter steht, ignoriert der Computer einfach.
<run id="4f8b3d66a2619">
// Hallo! Ich bin ein Kommentar!
int a = 3; // Ich kann auch hinter einer Anweisung stehen.
int b = 5; // So kann ich dem Leser erklären, was ich vorhabe.
// In diesem Fall: nix sinnvolles. :)
System.out.println(a);
</run>
Selbst recht einfache Programme sind für den Leser nur noch sehr schwer nachzuvollziehen, wenn erklärende Kommentare fehlen.
== Ausgabe von Texten ==
Mithilfe von System.out.println() können wir auch Texte und Werte von Variablen kombiniert ausgeben:
<run id="4f894936ee4bd">
int a = 2; // Länge des Rechtecks
int b = 3; // Breite des Rechtecks
// Berechnung des Flächeninhalts
int A = a * b;
System.out.println("Der Flächeninhalt eines Rechtecks mit den Seitenlängen " + a + "cm und " + b + "cm beträgt " + A + "cm²")
</run>
Wir müssen also z.B. den String "Der Flächeninhalt eines Rechtecks mit den Seitenlängen " nicht erst in einer Variablen speichern.
== Prüfung ==
'''Übung'''
Setze die folgende Aufgabe in Java um:
Erstelle eine ganzzahlige Variable "a" und sage, dass diese den Wert 5 hat.
Quadriere die Variable "a" und
multipliziere das Ergebnis
mit dem gerundeten Ergebnis von 10/2.5
Das Ergebnis soll in der Variable "b" stehen.
<run id="4f88826a6e012" id="">
//baue die Rechenaufgabe hier rein
</run>
<check>return(b == 100 && a == 5);</check>
=Komplexe Übung=
'''Hinweis:''' Diese Übung ist Bestandteil der Kursinternen Bewertung. Für diese Aufgabe kannst du 4 Punkte sammeln. Löse die Aufgabe. Kopiere anschließend den Quelltext und füge diesen an der entsprechenden Stelle im Moodle-Kurs ein.
'''Aufgabenstellung'''
Und noch mehr Mathe ... Es soll nun die Nullstellenformel für quadratische Funktionen umgesetzt werden.
Solltest du dich nicht mehr an die (Mitternachts-)formel zur Berechnung der Nullstelle erinnern, hilft dir vielleicht dieser Kasten:
<popup name="Hinweis quadratische Funktion">
x<sub>1|2</sub> = -p/2 ± (p<sup>2</sup>/4 - q)<sup>0.5</sup>
</popup>
Da jetzt neben ganzen Zahlen auch gebrochene Zahlen als Werte vorkommen können, werden alle Variablen als Datentyp <i>double</i> deklariert. Benutze zum Potenzieren (und Wurzelziehen) die Funktion Math.pow(), die du oben kennengelernt hast.
Gehe für die Lösung des Problems schrittweise vor:
* Berechne zunächst den Ausdruck unter der Wurzel und speichere ihn in der Variable <b>unter_wurzel</b>. Achte darauf, dass diese Variable erst als Variable vom Typ <i>double</i> deklariert werden muss
* Berechne danach die Wurzel und speichere den Wert in der Variable <b>wurzel</b>. Auch diese muss erst als <i>double</i> deklariert werden.
* Berechne nun noch den ersten Bruch und speichere diesen Wert in der Variable <b>anfang</b>
* Berechne nun mit der Hilfe der Variablen <b>anfang</b> und <b>wurzel</b> die beiden Nullstellen und speichere deren Werte in den Variablen <b>x_1</b> und <b>x_2</b>
* Wenn du fertig bist, kopiere den Quelltext und füge Ihn im Moodle-Kurs an der entsprechenden Stelle ein.
<run id="4f894936ee547">
double x_1; double x_2;
double p = 3;
double q = -10;
// hier kommen deine Deklarationen und Berechnungen für das Innere der Wurzel, die Wurzel, den Anfang ... hinein.
x_1 = ; // Hier kommt jetzt dein Quelltext für die erste NST rein
x_2 = ; // Hier kommt jetzt dein Quelltext für die zweite NST rein
System.out.println("Die Nullstellen lauten: x1 = " + x_1 + " sowie x2 = " + x_2);
</run>