Algorithmen

Wenn ein Problem vom Computer gelöst werden soll, dann müssen die Verarbeitungsschritte genau festgelegt werden. Solche Lösungsbeschreibungen in Form von Verarbeitungsvorschriften nennt man Algorithmen. Algorithmen können in einer Programmiersprache verfasst werden (wie z. B. Scratch). Meist werden sie aber - insbesondere bei allgemeineren Problemstellungen - programmiersprachenunabhängig dargestellt. Das hat den Vorteil, dass die Idee der Lösung stärker betont werden kann und dass man keine Rücksicht auf die Besonderheiten der Programmiersprache nehmen muss.

 

Bevor Beispiele für Algorithmen besprochen werden, kommt ein kurzer Exkurs  in die Welt der Zahlen. Von natürlichen, ganzen, rationalen und reellen Zahlen hat man im Mathematikunterricht mal etwas gehört. Die Menge der natürliche Zahlen wird mit dem Formelzeichen ℕ abgekürzt. Sie umfasst entweder die ganzen positiven Zahlen (also ohne die Null) ℕ={1;2;3;..} oder die nicht negativen ganzen Zahlen (mit Null) ℕ={0;1;2;3;...}. Die ganzen Zahlen ℤ umfassen auch die negativen Ganzzahlen. Eine rationale Zahl ℚ kann als Verhältnis zweier ganzer Zahlen dargestellt werden. In der Schulmathematik werden sie auch als Bruchzahlen dargestellt. Reelle Zahlen ℝ beinhalten rationale und irrationale Zahlen. Die natürlichen Zahlen (ℕ) sind Teil der ganzen Zahlen (ℤ), die Teil der rationalen Zahlen (ℚ), die wiederum Teil der reellen Zahlen (ℝ) sind. Das Rechnen mit diesen  Zahlen bezeichnet man auch als Arithmetik. Sie beschäftigt sich mit den Grundrechenarten, also mit der Addition (Zusammenzählen), Subtraktion (Abziehen), Multiplikation (Vervielfachen), Division (Teilen) sowie den zugehörigen Rechengesetzen (mathematische Operatoren bzw. Kalküle). Zur Arithmetik gehört auch die Teilbarkeitslehre mit den Gesetzen der Teilbarkeit ganzer Zahlen sowie der Division mit Rest.

Scratch bietet in der Palette der Operatoren  verschiedene Anweisungen an, mit denen mathematische Operationen durchgeführt werden können.

cxz5t

Die Grundrechenarten funktionieren wie erwartet. Was passiert aber, wenn man verschiedene Grundrechenarten kombiniert? Punkt- vor Strichrechnung funktioniert nicht automatisch. Das liegt an der Schreibweise der Operatorenbefehle. Jeder Operatorbefehl  ist quasi von einer Klammer umgeben. Um eine Rechnung wie 3+4*5 = 23 oder (3+4)*5=35 durchzuführen muss auf die richtige Reihenfolge der Befehle geachtet werden:

aos    (3 + (4 * 5))  und  ((3 + 4) * 5)

() mod () erlaubt die modulo-Division. Als Ergebnis einer modulo-Division wird der ganzzahlige Rest angezeigt. Die normale Division 6/4 ergibt das Ergebnis 1.5 , die modulo-Division 6 mod 4 das Ergebnis 2. Die modulo9-Division wird oft angewandt, um die Teilbarkeit von Zahlen zu überprüfen.

Die Anweisung () gerundet rundet die eingegebene Kommazahl gemäß folgendem Prinzip auf eine Stelle vor dem Komma: Zahlen, bei denen die erste Stelle nach dem Komma kleiner als fünf ist, werden abgerundet - Beispiel: 1,23 wird zu 1. Zahlen, bei denen die erste Stelle nach dem Komma größer oder gleich fünf ist, werden aufgerundet - Beispiel: 1,72 wird zu 2; 1,5 wird zu 2. Einen Sonderfall bilden Zahlen mit einer vier an erster Stelle nach dem Komma und 15 oder mehr Neunen als nachfolgende Stellen nach dem Komma; hierbei wird aus technischen Gründen ebenfalls auf die nächst höhere Zahl gerundet - Beispiel: 1,4999999999999999 wird zu 2, nicht zu 1.
Achtung:  bei der Eingabe der zu rundenden Zahl ist darauf achten, statt einem Komma einen Punkt zu schreiben. Beispiel: 1,25 muss 1.25 geschrieben werden.

Die Anweisung ??? von () ermöglicht die Verwendung diverser mathematischer Funktionen:

w

 Nun zu verschiedenen Beispielen.

Schaltjahr

Wenn die Jahreszahl durch 4 teilbar ist, liegt ein Schaltjahr vor. Im Prinzip stimmt das und wir werden dies auch nie anders erleben. Aber es gibt eine Ausnahme. Wenn die Jahreszahl durch Hundert teilbar ist, liegt kein Schaltjahr vor, außer sie ist durch 400 teilbar. Vereinfacht gesagt: das Jahr 2000 war ein Schaltjahr, das Jahr 1900 war kein Schaltjahr und das Jahr 2100 wird auch keines sein. Die Schaltjahrregelung kann als Struktogramm dargestellt werden

qw

g

Quadratische Gleichung

Die Lösungen einer quadratischen Gleichung der Form ax²+bx+c=0 lassen sich allgemein mit der abc-Formel bestimmen:

u

Wer es gewohnt ist, mit der pq-Formel zu arbeiten (x²+p+q=0), sieht eigentlich, dass  die abc-Formel mit der pq-Formel identisch ist; sie unterscheiden sich nur dadurch, dass in der pq-Formel a immer gleich 1 sein muss. p entspricht b und q entspricht c. Die Diskriminante D = b² - 4ac (der Term unter dem Wurzelzeichen) entscheidet über die Anzahl der Lösungen der Gleichung. Ist D>0 gibt es zwei reelle Lösungen, ist D=0 gibt es eine Lösung und ist D<0 hat die Gleichung keine reelle Lösung.

we

1

GGT und KGV

In den Büchern des Euklid, der etwa um 350 v.Chr. lebte, findet sich eine Rechenvorschrift zur Bestimmung des größten gemeinsamen Teilers zweier natürlicher Zahlen a und b. Wenn man den ggT(a,b) berechnet hat, ist es kein Problem, das kgV (kleinste gemeinschaftliche Vielfache) zu berechnen. Denn es gilt: a * b = ggT(a,b) * kgV(a,b). Das kgV(a,b) bekommt man durch entsprechende Umstellung.

gt

t

e

Da a und b während der Berechnung des ggT verändert werden, müssen die Ursprungswerte gesichert werden, um das kgV zu berechnen. Alternativ könnte man die Berechnung des ggT in einen Block verlegen. Nähere Angaben findet man unter dem Kapitel Unterprogramme.

 

Heronverfahren

Zur näherungsweise Berechnung der Quadratwurzel aus einer Zahl a gibt es folgendes Verfahren, das nach Heron von Alexandria (ca. 60 n.Chr.) benannt ist:

e

re

Zu beachten ist der Vergleichsoperator. Im Struktogramm wird die Schleife am Ende überprüft, im Beispiel am Anfang. Außerdem ist zu beachten, dass das Ergebnis eine Näherung ergibt. Die Wurzel aus 9 wird mit 2,9999.. berechnet.