Ein Programm schreiben mit dem DM42
Ich zeige hier einmal, wie einfach es mit dem DM42 ist, ein Programm zu schreiben. Mit PRGM, was zugegeben die Zweitbelegung der Taste R/S ist, in den Programmmodus schalten, jetzt einmal die Taste 2 und die Taste X drücken. Jetzt mit nochmaligem Drücken von PRGM wieder in den normalen Rechenmodus schalten. Das war es auch schon. Wir haben unser erstes Programm geschrieben!
Zum Ausprobieren geben wir die Zahl 1 ein und drücken zweimal auf die Taste R/S. Das erste Mal wird benötigt, um den Programmzeiger auf den Anfang des Programms zu setzen. Mit dem zweiten Drücken von R/S wird ab dieser Stelle das Programm automatisch abgearbeitet. Die 2 sorgt dafür, dass die Zahl 2 in das X-Register eingegeben wird und das nachfolgende X-Zeichen löst die Rechenoperation Multiplizieren aus. Dabei passiert Folgendes: Die schon eingetippte 1 wird in das Y-Register verschoben, die 2 in das X-Register, die Multiplikation multipliziert das X- mit dem Y-Register und das Ergebnis wird wieder in das X-Register geschrieben.
Drücken wir jetzt noch einmal auf die R/S-Taste, wird das Programm wiederholt ausgeführt und in der Folge erscheinen die Werte der einzelnen Stellen des Dualsystems in der Anzeige. Ich vermisse allerdings einen Schalter oder eine Taste, die ausschließlich für das Hin- und Herschalten zwischen Programmier- und Ausführungsmodus vorhanden ist. So wie es bei meinem zweiten programmierbaren Taschenrechner, dem TI-58C, mit der Taste LRN (Learn) war.
Wer mit dem DM42 das Programmieren lernen möchte, kann versuchen, Programme für den GGT, das KGV, die Primfaktorenzerlegung oder die Primzahlensuche zu entwickeln. Das sind kleine, überschaubare Probleme, die nicht viel Code erfordern. Wer schon etwas weiter ist, kann versuchen, auf dem schönen Display die Mandelbrotmenge darzustellen oder mit Life den Ansteckungsmöglichkeiten von Corona näherzukommen.
Einige Hinweise zum Programmiermodell
Die alten Taschenrechner kannten keine Programmiersprachen, wie wir sie heute gewohnt sind und normalerweise einsetzen. Das Grundprinzip der Taschenrechnerprogrammierung ist schlicht und einfach das Aufzeichnen einer Tastensequenz. Möchte ich beispielsweise den Satz des Pythagoras anwenden und die Länge der Hypotenuse bestimmen, so tippe ich im Programmiermodus folgende Tastendrücke ein: x^2, x<>y, x^2, +, SQRT. Im Programmspeicher steht dann das folgende kleine Programm:
00 { 5-Byte Prgm } 01 x^2 02 X<>Y 03 x^2 04 + 05 SQRT 06 .END.
Wenn ich anschließend im Rechenmodus eine Zahl eintippe, einmal ENTER drücke, eine zweite Zahl eintippe und dann die Taste R/S drücke, wird das Programm gestartet, die eingetippten Tasten werden automatisch nacheinander gedrückt, bis das Ende des Programms erreicht ist. Anschließend steht die berechnete Länge der Hypothenuse im X-Register.
Das scheint nun wirklich nicht sonderlich spektakulär und dennoch war dies in der Zeit der Rechenschieber und ohne Tabellenkalkulation eine riesige Erleichterung für alle Menschen, die häufig wiederkehrende Berechnungen durchzuführen hatten.
Manchmal besteht aber Bedarf für mehr Variablen, als auf dem Stack mit seinen vier Registern Platz ist. Dann kann man im Programmiermodus an diesen Stellen im Programm einfach die Taste R/S drücken. Das Programm wird beim Ablauf an diesen Stellen anhalten und ich kann die passenden Werte eingeben. Mit einem weiteren Druck auf die R/S-Taste kann ich dann das Programm einfach weiterlaufen lassen.
Es gab tatsächlich ein paar sehr einfache programmierbare Taschenrechner, die außer diesem Keystroke-Programmieren nichts konnten. Sie hatten vielleicht Speicher für 30 bis 100 Tastendrücke. Das war's! Aus meiner Sicht ist das kein Computer. Es ist nicht möglich, damit universelle Algorithmen zu programmieren, da es keine Vergleichsbedingung gibt, mit der man in Abhängigkeit von einem Vergleich, zum Beispiel dem zweier Werte, zu einer beliebigen anderen Stelle im Programm springen kann.
Das ist wirklich wichtig, denn so eine klitzekleine Vergleichsbedingung ist alles, was so eine Tastendruckablaufmaschine benötigt, um sich vom Dasein als dumme Einen-Schritt-nach-dem-anderen-Maschine zur KI zu entwickeln.
Aber schon mein erster programmierbarer Taschenrechner besaß diese entscheidende Funktion in Form der Taste SKP(-). Die Funktion arbeitete mit der GOTO-Funktion Hand in Hand. Sie prüfte, ob der in der Anzeige befindliche Wert negativ war und falls ja, übersprang sie den nächsten Befehl. Da dieser der GOTO-Befehl sein konnte, war es damit möglich, bedingte Verzweigungen zu programmieren.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Was man vom Taschenrechner über Computer lernen kann | Die schlechtesten Programmiermöglichkeiten meines Lebens - und ihre Verbesserung |
Weil der HP49 ein CAS Rechner, und damit in den wenigsten Fällen in Schule und Studium...
Raspberry Pie: Linux und damit im Prinzip ja die einfachste Möglichkeit. Man kann jede...
Ich habe angefangen mit dem CASIO FX-501P oder FX-502P. Ich hatte diesen Adapter mit dem...
Und ihn programmiert, um die Fakultät einer Zahl mit allen Stellen auszurechnen...
Kommentieren