JavaScriptsMathematik

Mal-Folge

Gibt zu einer beliebigen Zahl die komplette Malreihe aus: Zahl mal 1 bis Zahl mal 10 — das kleine Einmaleins für jede Zahl.

Wieder ein Javascript von unserem User Potterfans. Ihr gebt eine beliebige Zahl an, und das Script gibt euch die zugehörige Malreihe aus: Zahl × 1, Zahl × 2, Zahl × 3 … bis Zahl × 10.

Den meisten von euch dürfte das aus der Schule als „Einmaleins" bekannt sein — mit diesem Script könnt ihr euch aber auch problemlos die Reihe von Zahlen größer 10 erzeugen lassen, etwa die 17er- oder die 123er-Reihe. Praktisch zum Üben oder zum schnellen Nachschlagen.

Tragt einfach eine Zahl in das Feld ein und klickt auf „Folge zeigen". Die zehn Werte erscheinen untereinander in der Ausgabefläche. Klickt ihr mehrmals, werden die Reihen untereinander angehängt und durch eine gestrichelte Linie getrennt — so könnt ihr mehrere Malreihen direkt vergleichen.

Wer das Einmaleins lieber aktiv üben möchte, findet im Archiv die Grundrechenaufgaben mit Aufgaben zum Selberlösen.

Mathematik Baujahr 2008 läuft in deinem Browser

Mehrfaches Klicken hängt weitere Reihen an, getrennt durch eine Linie.

Eingesandt von Potterfans

So funktioniert das Script

Das Script liest die eingegebene Zahl, rechnet in einer Schleife die zehn Vielfachen aus und hängt sie an die Ausgabefläche an. Die Urversion von Potterfans baute die Reihe übrigens durch fortgesetztes Addieren auf (7, dann 7 + 7, dann 14 + 7 …) — mathematisch kommt dabei exakt dasselbe heraus wie bei der Multiplikation, die moderne Fassung schreibt es nur direkter hin.

const eingabe = document.getElementById("mf-zahl").value.trim().replace(",", ".");
const zahl = Number(eingabe);

if (eingabe === "" || isNaN(zahl)) {
  ausgabe.textContent = "Bitte gebt zuerst eine Zahl ein.";
  schonAusgegeben = false;
  return;
}

Der Feldinhalt wird mit trim() von Leerzeichen befreit, ein eventuelles Dezimalkomma gegen einen Punkt getauscht und mit Number() in eine Zahl umgewandelt. Ist das Feld leer oder steht dort keine gültige Zahl (isNaN = „is Not a Number"), erscheint ein Hinweis und return beendet die Funktion — die Urversion gab in dem Fall einfach eine Reihe aus NaN-Werten aus.

for (let i = 1; i <= 10; i++) {
  text += String(zahl * i).replace(".", ",") + "<br>";
}

Das Herzstück: Eine for-Schleife zählt i von 1 bis 10 und rechnet jeweils zahl * i. Jedes Ergebnis wird als Text an die Variable text angehängt, gefolgt von einem <br> für den Zeilenumbruch. Das replace(".", ",") sorgt bei Kommazahlen für die deutsche Schreibweise.

let text = "";
if (schonAusgegeben) {
  text += "--------<br>";
}
…
ausgabe.innerHTML += text;
schonAusgegeben = true;

Ausgegeben wird mit innerHTML += — der neue Text wird also angehängt statt die Fläche zu überschreiben. Die Merkvariable schonAusgegeben sorgt dafür, dass ab dem zweiten Durchlauf zuerst eine gestrichelte Trennlinie eingefügt wird. Genau so verhielt sich auch das Original: mehrere Reihen untereinander, durch -------- getrennt.

Zum Anpassen: Wollt ihr die Reihe weiter laufen lassen, etwa bis × 20, ändert einfach die 10 in der Schleifenbedingung. Und wer statt der nackten Zahlen lieber ganze Aufgaben sehen will, ersetzt die Zeile in der Schleife durch text += zahl + " × " + i + " = " + (zahl * i) + "<br>";.

Script für die eigene Homepage

Kopiert euch den kompletten Code und fügt ihn an der Stelle eurer Seite ein, an der das Script erscheinen soll. Er läuft ohne weitere Dateien und ohne fremde Server.

Mehr aus der Kategorie Mathematik