Rechenprogramme

1. Verständnisfragen

  1. Wie sehen Matheformeln in Javascript aus bzw.
    wie benutzt man in Javascript-Rechnungen Variablen? (links? rechts? Zuweisung? Wie?)
  2. Wie sehen Formeln mit den vier Grundrechenarten im Javascript-Quelltext aus?
    Nennen Sie passende vier Beispiele!
  3. Wohin schreibt der Computer das Ergebnis der Rechnung
    (z.B. wenn im Programmtext einfach nur 2+3 oder 34*75 oder 9-1.5 steht)?
  4. Wie stellt der Programmierer sicher, dass das Ergebnis einer Rechenoperation zu einem späteren Zeitpunkt auf dem Bildschirm ausgegeben werden kann?
  5. Was passiert, wenn man zwei Eingaben (Zeichenketten) addiert? Wofür steht das '+'-Zeichen in diesem Fall?
  6. Was passiert, wenn man andere Rechenoperationen als + (z.B. -, /, *) auf Zeichenketten anwendet? Probieren Sie es doch einfach einmal aus mit Texten und dann noch einmal mit Zahlen!

2. Zwei Kommazahlen addieren

Schreiben Sie ein Programm, welches zwei Kommazahlen addiert, welche Sie zuvor mittels prompt eingegeben haben!

Voraussetzungen zur Lösung dieser Aufgabe:

Tipps zum schrittweisen Vorgehen:

  • An welcher Stelle steht Javascript-Quelltext in der HTML-Seite? Wie lautet das richtige Tag? (script ...)
  • Was besagt das EVA-Prinzip?
  • Wie programmiert man eine Eingabe?
  • Wie wird aus einer Eingabe auf der Tastatur eine Zahl, mit der der Computer rechnen kann?Wie programmiert man eine Ausgabe?
    • Eingabe von Zeichenketten als eine Dualzahl darstellen im Computer, z.B. die aus den zwei Zeichen bestehende Eingabe "12" wird gespeichert als Zahl in einem Byte (00001100), womit der Computer dann problemlos rechnen kann.
  • Wie führt man eine Berechnung durch? (Tipp: ergebnis = zahl1 + zahl2)
  • Legen Sie vier Variablen an
    • für die Eingabezeichenkette von prompt,
    • zwei Zahlen und
    • das Ergebnis.
  • Eingabe:
    • Lesen Sie die 2 Zahlen mit prompt ein (Zeichenketten!) und
    • wandeln Sie die Eingaben mit parseFloat in Zahlen um und speichern Sie die Zahlen in den entsprechenden Variablen.
  • Verarbeitung:
    • Berechnen Sie das Ergebnis.
  • Ausgabe:
    • Geben Sie das Ergebnis mit document.write aus.

3. Temperaturumrechnung

Eine in Celsius (C) eingegebene Temperatur soll in Fahrenheit (F) und in Kelvin (K) umgerechnet und ausgegeben werden.
F = C * 9/5 + 32
K = C + 273,15
Als Ausgabe soll z. B. erscheinen:
20° Celsius sind 68° Fahrenheit und 293.15° Kelvin.

4. Bitcoin-Euro-Rechner

Schreiben Sie ein Programm, welches Ihr Bitcoin-Guthaben entsprechend des aktuellen Bitcoin-Kurses in Euro umrechnet. Der Umrechnungkurs ist z.B. 1 Bitcoin = 176 Euro.
Eingabe: 25 Stück
Ausgabe: 25 Bitcoins haben aktuell einen Wert von Euro.

Ergänzung:
Schreiben Sie ein weiteres Programm, welches Dollarbeträge in Euro umrechnet!

5. Zeitrechner

Schreiben Sie ein Programm, welches 2 ganze Zahlen einliest (Stunden und Minuten) und als Ergebnis die Zeitangabe in Stunden und Minuten als Kommazahl in Stunden ausgibt.
Beispiel:
Eingabe: 2
Eingabe: 45
Ausgabe: 2 Stunden und 45 Minuten sind 2.75 Stunden.

6. Vereinfachtes Steuerrecht

Ein Steuerberechnungsprogramm erwartet die Eingabe des Bruttolohnes und die Eingabe der Kinderanzahl.
Der Ihnen auszuzahlende Nettobetrag ermittelt sich, indem Sie folgende Beträge vom Bruttobetrag abziehen:
1. Lohnsteuer: 5% vom Bruttolohn
2. Krankenversicherung: (11% - Anzahl der Kinder * 1 %) vom Bruttolohn (z.B. eine Familie mit 3 Kindern hat 8% zu zahlen)
3. Kirchensteuer: 3% der Lohnsteuer vom Bruttolohn
4. Solidaritätsabgabe: 1% der Lohnsteuer vom Bruttolohn
5. Pflegeversicherung: 20 % des Betrags der Krankenversicherung vom Bruttolohn
Das Programm soll alle Abzüge vom Bruttolohn ausdrucken.

7. Fläche eines Rechtecks

Schreiben Sie ein Programm, welches die Fläche eines Rechtecks mit den Seiten a und b berechnet. Geben Sie als Ergebnis folgende Meldung aus: "Das Rechteck mit den Seiten a cm und b cm hat die Fläche F cm2".
Musterlösung

8. Volumenrechner

Volumenrechner

9. Quaderberechnung

Das zu schreibende Programm soll nach Eingabe von Länge, Breite und Höhe eines Quaders
Volumen, Oberflächeninhalt und Kantenlänge berechnen und ausgeben
(siehe Abbildung!).
Quaderberechnung.png

10. Bruchrechnung

Ein Programm soll 2 Brüche einlesen und die Summe, die Differenz, das Produkt und den Quotient errechnen.
BRUCHRECHNUNG
1. Zaehler 1
1. Nenner 2

2. Zaehler 6
2. Nenner 3

1/2 + 6/3 = 15/6
1/2 - 6/3 = -9/6
1/2 * 6/3 = 6/6
1/2 / 6/3 = 3/12
Die Ergebnisse müssen nicht gekürzt werden.

11. Widerstände in Reihen und Parallelschaltung

Ein Programm soll 2 Widerstandswerte einlesen. Es soll der Wert des Gesamtwiderstandes für die Reihenschaltung und die Parallelschaltung berechnet und angezeigt werden.
Formeln:
a) Reihenschaltung von 2 Widerständen:
Rr = R1 + R2
b) Parallelschaltung von 2 Widerständen:
1/Rp = 1/R1 + 1/R2
WiderstandsberechnungParallelschaltung.PNG

12. Taschenrechner

A)
Entwickeln Sie ein Taschenrechner-Programm, welches nacheinander zwei Zahlen und einen Operator einliest.
Die Rechenoperation wird mit dem ermittelten Ergebnis auf der Seite angezeigt.
Für die Berechnung darf die Funktion eval() verwendet werden, z.B. ergebnis=eval("3+7").
TaschenrechnerEinfachesGUIBeispiel.PNG
B)
Zusätze für Fortgeschrittene, die noch etwas Zeit in eine verbesserte Lösung investieren möchten:
  • Weisen Sie den Nutzer darauf hin, dass eine neue Berechnung mit F5 gestartet werden kann! ( Ausgabe einer Meldung an der richtigen Stelle )
  • Begrenzen Sie die Ausgabe des Ergebnisses auf 2 Stellen nach dem Komma! ( Verwendung der Funktion toFixed() )!
  • Prüfen Sie die Nutzereingaben!
    • Sind die eingegebenen Zahlen wirklich Zahlen? ( Einsatz von if-Verzweigung und der Funktion isNaN() )
    • Ist der eingegebene Operator wirklich ein gültiger Operator? ( Einsatz von if-Verzweigung und verknüpften Bedingungen )
    • Geben Sie passende Fehlermeldungen aus!

13. Zinseszins

Die Verzinsung von Kapital, welches mehr als ein Jahr angelegt wird, wird wie folgt berechnet:
  • K = Startkapital in Euro
  • P = Zinssatz in Prozent
  • n = Zeit in Jahren
Berechnung:
Aufzinsfaktor A = 1 + P/100
Endkapital nach n Jahren E = K * An
Tipp: A hoch n wird in Javascript wie folgt berechnet: var Ergebnis = Math.pow( Basis, Exponent );

14. Satz des Heron (Flächeninhalt eines Dreiecks)

Berechnen Sie den Flächeninhalt eines Dreiecks mit den Seitenlängen a, b und c.




































15. Gefühlte Temperatur
Berechnen Sie die gefühlte Temperatur!
Berechnen kann man diese auch Windchill-Temperatur genannte Größe mit folgender Formel:
  • T = gemessene Temperatur in Grad Celsius
  • v = Windgeschwindigkeit km/h
  • gT = gefühlte Temperatur
Berechnungsformel: gT = 13.12 + 0.6215 * T - 11.37 * v0.16 + 0.3965*T*v0.16

Die Ergebnisse sind zufriedenstellend bei Temperaturen ab 10 Grad und Windgeschwindigkeiten über 5km/h.

16. Altersrente

Berechnen Sie anhand der Eingaben Geburtsjahr und Geschlecht das Jahr in dem man Ihnen womöglich das erste Mal Altersrente zahlt!
  • Grundregel: Sie erhalten Altersrente, sobald Sie das 67. Lebensjahr vollendet haben.

17. Dreieck

Dem Computer werden drei natürliche Zahlen a, b und c eingegeben. Der Rechner soll prüfen, ob die drei Zahlen die Seiten eines Dreiecks bilden können.
Bedingungen dazu:
a+b>c und b+c>a und c+a>b

18. Kreis

Erstellen Sie ein Programm das bei Eingabe des Radius eines kreises dessen Kreisfläche und den Umfang auf 23 Stellen hinter dem Komma gerundet ausgibt.

19. Messreihe

Es sollen 10 Messwerte einer Messreihe eingelesen und deren Mittelwert berechnet werden.

20. Zufallszahl

Mit der Anweisung
zufallszahl = Math.ceil( Math.random()*6);
soll ein Würfel simuliert werden.
Dazu sollen zu den einzelnen Zahlen die passenden Würfelbilder angezeigt werden.

21. Schnittpunkte einer Geraden mit X- und Y-Achse

Berechnen Sie die Schnittpunkte einer Geraden mit der X- und der Y-Achse!
Geben Sie zwei Punkte ein, welche Ihre Gerade beschreiben: x1/y1, x2/y2.
Vorüberlegungen:
  • Die allgemeine Geradengleichung lautet: y=m*x+t
  • Zwei Punkte beschreiben im Koordinatensystem die Steigung einer Geraden
  • Die Steigung m der Geraden kann wie folgt berechnet werden: (y2-y1) / (x2-x1)
  • z.B. x1=2 und y1=5, x2=7 und y2 = 11
  • d.h. Steigung m=(11-5)/(7-2)
  • Grafik siehe Wikipedia
  • Den Schnittpunkt mit der y-Achse erhalten wir durch Umstellung der Geradengleichung
  • t=y-m*x und Einsetzen der bekannten Werte, z.B. x1=2 und y1=5
  • t=5-m*2, m wird durch den oben berechneten Wert ersetzt.

Beispiellösung:
XYSchnittpunkte.png



Ergänzende Aufgaben


1) Einarbeitung
  • Lesen Sie nach, wie die Javascript-Funktion toFixed eingesetzt werden kann, um Nachkommastellen zu kürzen!
  • Versuchen Sie zu verstehen, wie einfache Funktionen ohne Parameter in Javascript eingesetzt werden!
  • Lesen Sie nach, wie Text in HTML-Elementen ausgegeben werden kann, siehe innerHTML!

2) Modifizieren Sie Ihre bisher erstellten Rechenprogramme folgendermaßen:
  • Die Seite soll als normale HTML-Seite dargestellt werden, d.h. eine Überschrift mit kurzer Erläuterung der Programmfunktionalität wird vor Aufruf der Eingabeaufforderung ausgegeben.
  • Die Rechenergebnisse werden in einem dafür vorgesehenen <div>-Tag angezeigt. (Verwendung von innerHTML anstelle von document.write und alert)
  • Die berechneten Werte werden in der Ausgabe auf zwei Stellen hinter dem Komma gekürzt!