Ende
0

Der Zählvorgang ist nicht nur eine Veranstaltung der ersten Klassen der Grundschule. Letztlich geht es immer wieder um das Zählen; egal in welchem Zusammenhang. Weil wir aber nicht endlos zählen können, handelt es sich immer um einen Ausschnitt; den sogenannten Definitionsbereich.

Sie können nachträglich korrigieren und neu zählen lassen, ohne vorigen Wert zu löschen. Geben Sie testweise auch negative Dezimalzahlen ein...

Start der Zahlenreihe ( n <= 100 )
Ende der Zahlenreihe ( k <= 100 )
Summation ( 0 bis n )0
Summation ( 0 bis k )0
Start bis Ende ( n bis k )0
Beide Zahlenreihen...
Beide Zahlenreihen...

Eigentlich wird immer nur 1 addiert. Die Zusammenfassung und die Sortierung dieses mühsamen Unterfangens ist unser Zahlensystem. Bedenken Sie immer, daß Prozessoren nur 1 addieren und daß diesen ein Zahlensystem eigentlich unbekannt ist.

Meistens ist der Start der Zahlenreihe 0 und man definiert das Ende. Sie können hier allerdings Anfang und Ende mitten aus der Zahlenreihe herausgreifen.

Das Skript ignoriert per Funktion, die oninput bereits in HTML aufgerufen wird, Dezimalangaben. Wenn Sie also versehentlich - Dezimale machen hier nämlich keinen Sinn - etwa 3,5 tippen, wird daraus automatisch 35. Auch zu große Werte über 100 werden somit auf den Maximalwert gesetzt. Somit entfallen wohl lästige Meldungen.

Zählvorgang mit der for Schleife

Es geht um ein Programm, das beliebige Werte beliebiger Anzahl aufnimmt, summiert und den Mittelwert bildet.

Freilich ist der Mittelwert die Anzahl der Summanden, die als Divisor dient. Nur, welche Variable ist das und wie wird der aktuelle Wert zu allen vorangegangenen addiert?

Der Kern folgerichtigen Summierens ist natürlich in der for oder while Schleife und nicht ausserhalb, so wie der Wert:

sum = za + sum

Sobald Sie den Mittelwert bilden möchten, brauchen Sie wieder dieselbe Variable, die zur Begrenzung des Zählvorgangs gedient hat.

Zur Rundung im 1. Quellcode gibt es einen Link und die Summation ist zwar ähnlich, addiert aber immer nur 1 wie die JavaScripts.

Uns geht es jedoch darum, eine aktuelle Eingabe zu addieren, was die Summation aber abspeckt.

Einträge zählen...  |  Runden

Inkrementierung ( lat. incrementum = Zuwachs ) stellt im Grunde nur den Zuwachs um 1 dar oder eben 0.

So ergeben sich zwei Zustände, die eine Basis von 2 ausmachen. Wie oft dieser Zuwachs geschieht, hängt vom Exponenten ab. Und so hat das folgende Beispiel einer Prüfungsaufgabe mit Punktvergabe - oder eben nicht mit 0 - auch eine kombinatorische Komponente. Diese fußt nun wieder auf Potenzen.

In der Graphik bedeutet die Bewegung der Kugel nach links eine 0 und die Bewegung nach rechts eine 1 als Ereignis.

Potenzen  |  bool

Stellt man alle möglichen Fälle dar, ergibt sich ein Baum, der horizontal die Basis mit 2 und vertikal den Exponenten mit 3 abbildet.

Mit Zeichnungen dieser Art stossen Sie aber bald an die Grenzen des Machbaren, weil Potenzen schnell sehr groß werden. Man kann aber leicht berechnen, wieviele Möglichkeite es gibt, wenn eine Prüfung pro Aufgabe vier verschiedene Wertungen zulässt - etwa 0.5, 1.0, 1.5 und 2.0 Punkte - und es insgesamt 10 Aufgaben sind. So ergeben sich 1.048.576 Möglichkeiten der Kombination.

Fakultäten und Kombinationen  |  Wahrscheinlichkeit

Falls Sie mit Klassen und Methoden noch nicht so vertraut sind, konzentrieren Sie sich einfach auf die Gauß'sche Formel der Summierung ( n · ( n + 1 )) : 2 in der Funktion function sum ( x, y, i, j, m, n : Integer ) : Integer;

Tatsächlich muss man auf die Eingaben x und y achten, die Zählvariablen i und j sowie die Variablen m und n. Ohne letztere Variablen würde die Rechnung zu lang.

Klassen  |  Funktionen mit Klasse

Stufenweise Entwürfe, zu folgenden Themen: Summation per Inkrementierung, for Schleife mit konstanter Bedingung und Auswertung in eine Textdatei schreiben.

Wichtige Hinweise und Alternativen!

Anbei eine kleine, sehr kleine Matheprüfung mit Vergabe eines Punkts für richtige Antworten oder eben Null für falsch beantwortete Fragen.

Weil die Aufgaben so schwierig sind, bekommt der Prüfling nun drei Versuche, das richtige Ergebnis einzugeben. Das bedeutet erneut einen Zählvorgang. Allerdings diesmal nicht mittels Variable, sondern eben konstant mit 3 als Bedingung.

Es werden also die Versuche mittels Schleife gezählt und die Punkte innerhalb derer um 1 addiert oder eben nicht. Achten Sie auch auf break und continue, die nur innerhalb der Schleife funktionieren, da hier die Bedingung i < 3 entweder unterbrochen oder zu Ende ausgeführt wird.

Schön und gut; aber alles etwas flüchtig. Wir möchten unser Abschneiden in der Prüfung gerne fixieren und erstellen eine Textdatei, die uns protokolliert.

Dabei soll es reichen, wenn wir in diese Textdatei schreiben und nichts auslesen. Das, was unser Programm ausgibt ist nicht unbedingt das, was in die Datei geschrieben wird und so haben wir alle gestalterischen Freiheiten, unser Tun und Treiben festzuhalten.

Dateien (aus-) lesen und (be-) schreiben  |  Dateipfade anlegen

Ein kleiner Test mit Punkten zum Kopfrechnen
1.) 52 · 8 =
2.) 36 · 12 =
3.) 39 · 3 =
4.) 823 · 4 =
Prozent Punkte
0 0

Mit Oberfläche sind drei Versuche zur Lösung natürlich obsolet. Dennoch veranschaulicht der oninput sehr schön, was es mit dem "Mitzählen" so auf sich hat.

Sie brauchen hier also kein Ereignis extra aufzurufen, sondern können gleich nach der Eingabe die Vergabe der Punkte beobachten. Eine Reihenfolge bei der Lösung der Aufgaben ist nicht einzuhalten. Ebenso werden nachträgliche Änderungen aktualisiert.

Neben den Variablen, die im Falle des Starts oder Endes natürlich initialisiert werden müssen, sind zwei Umstände besonders wichtig: die globalen Variablen, da diese für mehrere Funktionen gelten und die Variable samt Kommando ...

n = setTimeout ( function() { timer() } , 100 )

... das aus sich heraus die eigene Funktion aufruft. Beachten Sie, daß setTimeout zwei Parameter besitzt function() { timer() } und 100

Der erste Parameter ist der Funktionsaufruf - ein allgemeiner und ein spezieller - und der zweite Parameter ist das Intervall. Nach 10 Sekunden ist dann Schluss.

Global vs. lokal  |  Funktionen  |  Bool

0
Start und Stop sind zwei Funktionen, die auf eine Funktion zugreifen. Sie können den Vorgang anhalten oder fortsetzen, bevor nach 10 Sekunden beendet wird. Durch die Definition c = c + 1 werden die Abschnitte nach neuem Start summiert. Übernehmen beim Löschen des Arrays keine alten Belegungen!

Arrays belegen und löschen

Startseite  |  Hinweise und Impressum  |  Facebook  |  Twitter  |  Google plus