Java/PQ-Formel: Unterschied zwischen den Versionen
Aus ZUM-Unterrichten
< Java
K (20 Versionen importiert) |
(akt) Markierung: 2017-Quelltext-Bearbeitung |
||
Zeile 1: | Zeile 1: | ||
{{ | {{Fortsetzung| | ||
Das folgende Beispiel eignet sich, um eine verschachtelte [[Java/Bedingte | vorher=Algorithmik<br>Turtle-Grafik|vorherlink=Java/Turtle-Grafik| | ||
weiter=GUI|weiterlink=Java/GUI| | |||
übersicht=Einstieg in Java<br>(Übersicht)|übersichtlink=Java#Übersicht|}} | |||
Das folgende Beispiel eignet sich, um eine verschachtelte [[Java/Algorithmik#Bedingte Anweisung|if..else-Verzweigung]] einzuführen. <!---Die folgende Klasse ist das Endergebnis der beim Bildschirmfilm vorgestellten Klasse, die die pq-Formel berechnet.---> Neben „if..else“ benötigen Sie Kenntnisse im Umgang mit [[Java/Erste Schritte#Konsolenausgabe|System.out.println]] und der Klasse Math, diein Java standardmäßig vorhanden ist. | |||
{{Box|Die Klasse Math.. | ist das Matheobjekt mit allen Operationen für einfache numerische Berechnungen.(...) Der Ergebnistyp fast aller Operationen ist <code>double</code>. | |||
Wurzelziehen, Potenzen: sqrt, pow | |||
double x = Math.sqrt( 2 ); doulbe y = Math.pow( 2,10 ); // 2^10 = 1024 | |||
|Merksatz}} | |||
<source lang="java"> | <source lang="java"> | ||
Zeile 7: | Zeile 16: | ||
public String berechnePQFormel(double pP, double pQ){ | public String berechnePQFormel(double pP, double pQ){ | ||
double diskriminante; | double diskriminante; | ||
diskriminante = (pP/2)*(pP/2)-pQ; | diskriminante = (pP/2) * (pP/2) - pQ; | ||
if (diskriminante >= 0) { | if (diskriminante >= 0) { | ||
double x1,x2; | double x1,x2; | ||
Zeile 25: | Zeile 34: | ||
</source> | </source> | ||
==Siehe auch== | {{Box|Arbeitshinweise| | ||
<!---Schauen Sie sich zunächst den Bildschirmfilm zu dieser Klasse an.--->Beschreiben Sie, weshalb bei <code>berechnePQFormel()</code> innerhalb des ersten if-Anweisungsblocks noch ein zweiter, verschachtelter if-Block auftritt. Erläutern Sie dabei die Klammersetzung der geschweiften Klammern. | |||
# <code>bestimmeBetrag()</code> gibt den Betrag einer Zahl zurück (eine negative Zahl wird zu einer positiven. Analysieren Sie die Funktionsweise dieser Methode. | |||
# Vergleichen Sie die beiden Varianten der quadrieren-Methoden. Beide führen zu demselben Ergebnis. Welche würden Sie bevorzugen? | |||
# Implementieren Sie eine Methode <code>zieheWurzel(double pZahl)</code>, die entweder die Wurzelvon <code>pZahl</code> zurückgibt oder -1, falls <code>pZahl</code> negativ ist.(Hinweis: -1 ist natürlich mathematisch nicht richtig, aber so müssen Sie die Zahl, die Sie zurückgeben, nicht in einen String umwandeln.) | |||
{{Fortsetzung| | |||
vorher=Algorithmik<br>Turtle-Grafik|vorherlink=Java/Turtle-Grafik| | |||
weiter=GUI|weiterlink=Java/GUI| | |||
übersicht=Einstieg in Java<br>(Übersicht)|übersichtlink=Java#Übersicht|}} | |||
== Siehe auch == | |||
* [[Bild:ZUM-Logo.png|20px]] [http://informatik.zum.de/pieper/blog/index.php?entry=entry060920-121319 Zugehöriges Arbeitsblatt] und Bildschirmfilm. | * [[Bild:ZUM-Logo.png|20px]] [http://informatik.zum.de/pieper/blog/index.php?entry=entry060920-121319 Zugehöriges Arbeitsblatt] und Bildschirmfilm. | ||
* [[pq-Formel | |||
* [[pq-Formel | |||
* Mathematischer Hintergrund: [[Quadratische Funktion]] | * Mathematischer Hintergrund: [[Quadratische Funktion]] | ||
Version vom 19. August 2019, 04:13 Uhr
Das folgende Beispiel eignet sich, um eine verschachtelte if..else-Verzweigung einzuführen. Neben „if..else“ benötigen Sie Kenntnisse im Umgang mit System.out.println und der Klasse Math, diein Java standardmäßig vorhanden ist.
Die Klasse Math..
Merksatz
public class Formelberechner
{
public String berechnePQFormel(double pP, double pQ){
double diskriminante;
diskriminante = (pP/2) * (pP/2) - pQ;
if (diskriminante >= 0) {
double x1,x2;
x1 = -(pP/2) + Math.sqrt (diskriminante);
x2 = -(pP/2) - Math.sqrt (diskriminante);
if (x1==x2){
return "Das Ergebnis ist L={"+x2+"}";
}
else {
return "Die Ergebnisse sind L={"+x1+";"+x2+"}";
}
}
else {
return "Keine Lösung, die Diskriminate ist "+diskriminante;
}
}
{{Box|Arbeitshinweise|
Beschreiben Sie, weshalb bei berechnePQFormel()
innerhalb des ersten if-Anweisungsblocks noch ein zweiter, verschachtelter if-Block auftritt. Erläutern Sie dabei die Klammersetzung der geschweiften Klammern.
bestimmeBetrag()
gibt den Betrag einer Zahl zurück (eine negative Zahl wird zu einer positiven. Analysieren Sie die Funktionsweise dieser Methode.- Vergleichen Sie die beiden Varianten der quadrieren-Methoden. Beide führen zu demselben Ergebnis. Welche würden Sie bevorzugen?
- Implementieren Sie eine Methode
zieheWurzel(double pZahl)
, die entweder die WurzelvonpZahl
zurückgibt oder -1, fallspZahl
negativ ist.(Hinweis: -1 ist natürlich mathematisch nicht richtig, aber so müssen Sie die Zahl, die Sie zurückgeben, nicht in einen String umwandeln.)
Siehe auch
- Zugehöriges Arbeitsblatt und Bildschirmfilm.
- [[pq-Formel
- Mathematischer Hintergrund: Quadratische Funktion