Dies ist eine alte Version des Dokuments!
LU01.L02 - myGeometryCalculator
Auftrag
Programmieren Sie einen Rechner myGeometryCalculator.js, der die genannten geometrischen Funktionen ausführen kann. Testen Sie anschliessend Ihre Lösung auf Funktion, indem Sie diese ausführen und das Ergebnis auf der Kommandozeile ausgeben lassen.
Lösung 1: Kreisfläche
const pi = 3.14; //accuracy is sufficient enough for our purpose let r = 10; // 10 is easy to calculate function circleArea(radius) { // Variante ohne lokale Veriable return pi*radius*radius; } function circleArea2(radius) { let cA = pi*radius*radius; // mit lokaler Variable return cA; } console.clear(); // Terminal wird bereinigt console.log("function circleArea mit Radius: ", r, " = ", circleArea(r), "Flaecheneinheiten."); console.log("function circleArea2 mit Radius: ", r, " = ", circleArea2(r), "Flaecheneinheiten.");
Teilauftrag 2: Kreisumfang
function circleCircumference(radius) { // Variante ohne lokale Variable return 2*pi*radius; } function circleCircumference2(radius) { // Variante mit lokaler Variable let area = 2*pi*radius; return area; } console.log(); console.log("function circleCircumference: " + r + " = " + circleCircumference(r)); console.log("function circleCircumference2: " + r + " = " + circleCircumference2(r));
Teilauftrag 3: Dreiecksfläche
// Autor:
// Datum:
// Beschreibung: Damit es einfacher wird, verwenden Sie hier das rechtwinkelige Dreieck. Flaeche = seite * hoehe / 2
function dreiecksFlaeche(seite, hoehe) {
....
return dreiecksFlaeche
}
Teilauftrag 4: Dreiecksumfang
function triangleArea(side, height) { let area = side*height/2; // Lokale Variable ist nur sichtbar innerhalb der Funktion return area; } console.log(); /* Aus Gründen der Übersichtlichkeit wird nachfolgend nur eine Variante verwendet: Zwischenschritt mit mit Speicherung in lokaler Variable oder ohne - direkte Berechnung und Rückgabe des Ergebnisses an die aufrufende Funktion */ console.log("function triangleArea with side ", s, " & height ", h, "=", triangleArea(s, h));
Teilauftrag 5: quadratFlaeche
// Autor:
// Datum:
// Beschreibung: Flache A = seite * seite
function quadratFlaeche(seite) {
....
return dreiecksUmfang
}
Teilauftrag 6: quadratUmfang
// Autor:
// Datum:
// Beschreibung: Flache A = 4 * seite
function quadratUmfang (seite) {
....
return quadratUmfang
}
Teilauftrag 7: rechtEckFlaeche
// Autor:
// Datum:
// Beschreibung: Flache A = seiteA * seiteB
function rechteckFlaeche(seiteA, seiteB) {
....
return rechteckFlaeche
}
Teilauftrag 8: rechteckUmfang
// Autor:
// Datum:
// Beschreibung: Flache A = 2 * seite + 2 * seiteB
function quadratUmfang (seiteA, seiteB) {
....
return rechteckUmfang
}
