Startseite > Nerd Alltag, Software Entwicklung, Taschenrechner > Grundrechenarten Lernprogramm für Sharp Pocket Computer

Grundrechenarten Lernprogramm für Sharp Pocket Computer


DSCF7175

Der PC-1260, das erste Modell der winzigen Pocket Computer, die mit einem zweizeiligen Display ausgestattet waren.

Wer im Netz nach nostalgischen Erinnerungen über alte programmierbare Taschenrechner stöbert, findet eine Menge Informationen über Taschenrechner von Hewlett-Packard, Texas Instruments und Casio. Dabei werden immer wieder Geräte wie der HP-25, der HP-65, der TI-58C, der TI-59 oder der FX-602P genannt. Sehr interessant sind auch die immer noch geführten Diskussionen, ob nun UPN oder AOS das bessere System ist.

Ich liebe diese Diskussionen genauso wie die alten Rechenmaschinen, aber manchmal denke ich doch, dass ein Hersteller wie Sharp einfach klüger war, als er 1977 den ersten BASIC-fähigen Pocket Computer, den PC-1201 auf den Markt brachte. Einer der Nachfolger, der PC-1500, war zwar weniger ‚pockettauglich‘, dafür aber mit mehr Speicher, einem grafikfähigen Display und einer Echtzeituhr, ein sehr beliebtes Gerät seiner Zeit.

Nochmals ein paar Jahre später brachte Sharp eine Reihe äußerst bemerkenswerter Pocket Computer auf den Markt: Beginnend mit dem PC-1251, erschien ein BASIC-fähiger Computer, der klein und chic war. Er war kleiner als die meisten Taschenrechner und sah mit seinem metallenen Gehäuse sehr gut aus. Einige Jahre lang entwickelte Sharp diesen Typ kontinuierlich, aber nur marginal, weiter. Lediglich der erste Nachfolger auf den PC-1251, der PC-1260, hatte mit seinem Wechsel von einem einzeiligen auf ein zweizeiliges Display, eine größere Änderung. Der letzte Typ dieser Reihe, der PC-1262, wurde noch bis vor einigen Jahren verkauft.

DSCF7168

Hier kann man schön sehen, wie winzig diese Baureihe war. Links liegt ein aktuelles Smartphone (Galaxy Note), in der Mitte der PC-1260 und rechts der vielleicht bekannteste programmierbare Taschenrechner seiner Zeit, der HP-41C.

Hier findet sich eine sehr gute Übersicht über die Sharp Pocket Computer. Dass dieser Gerätetyp erfolgreich war, kann man sicher auch an den speziell angepassten Gehäusen sehen, die offensichtlich für spezielle  Anwendungen entwickelt worden sind.

Abseits der Hunderten von Funktionen, mit denen die altbackenen Taschenrechner der Konkurrenz um die Gunst des Kunden warben, waren die Pocket Computer eben richtige kleine Computer, in keiner Weise spezialisiert,sondern darauf ausgerichtet, kinderleicht in BASIC programmiert zu werden und so wirklich universell zu sein. Trotz ihrer Winzigkeit – von der Größe her vergleichbar mit heutigen großen Smartphones, also zum Beispiel kleiner als das erste Galaxy Note – besaßen die Pocket Computer eine komplette ‚Qwerty‘-Tastatur! Die Buchstaben-Tasten musste man fast schon mit der Lupe suchen. Der Schlüssel, des in keinem Verhältnis zu ihrer Tastenwinzigkeit stehenden leichten Gebrauchs, lag in dem verhältnismäßig großem Raum um die einzelne Taste. Der reichte aus, dass man beim Tippen keine der Nachbartasten erwischte.

Diese winzigen Computer verstanden eine richtige Computersprache, nämlich BASIC! In Verbindung mit dem sehr guten Display konnte man damit richtig gut und flott programmieren. Das Display war, verglichen mit der Konkurrenz, eine Wucht! Wo die TI’s noch eine rote 7-Segment Anzeige aus stromfressenden LEDs, der HP-41C zwar immerhin schon eine LCD-Anzeige, aber mit merkwürdigen Stellen aus jeweils 14-Segmenten und lediglich der FX-602P schon eine LCD Punktmatrixanzeige besaßen – keine davon mit mehr als 12 Stellen – besaß der PC-1260 eine Punktmatrixanzeige aus zwei Zeilen mit jeweils 24 Stellen! Also 4-mal so viel Platz um Ergebnisse anzuzeigen! Die Anzeige war auch sehr kontrastreich und wesentlich besser abzulesen, als die zweizeilige Anzeige des späteren HP-41C Nachfolgers HP-42S.

DSCF7178

Die Sharp Pocket Computer Reihe war auch sehr flach, wie man hier bei einem Vergleich mit dem HP-41C sieht.

Mag sein, dass die Konkurrenz für schwierige mathematische Probleme besser geeignet war, zum reinen Programmieren waren die winzigen Sharp Pocket Computer ihnen jedenfalls weit voraus. Ja, es macht Spaß mit einem UPN-Stack auszuknobeln, wie man jede Menge Programmschritte spart, aber wenn man ein Problem schnell und sicher lösen will, geht das mit BASIC und dem guten Display wesentlich schneller.

Der weniger nostalgisch veranlagte Leser liest diesen Artikel hier vermutlich schmunzelnd durch und ist froh, dass es heute viel bessere Wege gibt um Software zu entwickeln – an dieser Stelle darf ich vielleicht schnell einmal auf meine beiden Android Apps verweisen: MoveTracker und PiFra – aber es gibt auch heute noch die eine oder andere Anwendung, die auf so einem winzigen alten Pocket Computer richtig Sinn ergibt.

Eine davon möchte ich Euch hier vorstellen. Es ist mein Lernprogramm für die Grundrechenarten. Das Lernprogramm hatte ich ursprünglich für den wesentlich größeren PC-1500 entwickelt und erst viele Jahre später auf dem Kleinen neu programmiert.

Bei so einem Lernprogramm gibt es einige Herausforderungen:

  • Für unterschiedliches Alter und Können sollte es verschiedene Level geben
  • Man darf nicht unendlich viel Zeit für die Aufgaben haben
  • Es sollte irgendwie motivierend sein

Für unterschiedliches Alter und Können sollte es verschiedene Level geben

Der erste Punkt ist mit der schwierigste. Wie gut kann ein Mensch Kopfrechnen? Meine Zielgruppe sind erst einmal meine Töchter. Und die werden ab der 7. Klasse in der Schule mit einem Taschenrechner arbeiten. Aber bis dahin, ist ihre Fähigkeit im Kopf  rechnen zu können bei vielen Aufgaben mit entscheidend, ob sie bei Klassenarbeiten gute Noten schreiben können. Aber schon im Bereich zwischen der ersten Klasse Grundschule und der 7. Klasse auf einem Gymnasium gibt es sehr große Unterschiede im Können. Um diese abzudecken, entschied ich mich für 5 verschieden schwierige Level. Darum muss man bei meinem Programm nach dem Start einen ‚Schwierigkeitsgrad‘ zwischen 1 und 5 eingeben. Daraus muss der Computer dann die Aufgaben erzeugen!

Mein erster Ansatz war den eingegebenen Level ‚l‘ mit der Formel ’10^l‘ in eine obere Grenze für einen Zufallszahlengenerator zu verwenden. Wie sich nach ersten Tests heraus stellte, war das aber ziemlich unsinnig. Es ist ziemlich schwierig, 2 5-stellige Zahlen miteinander zu addieren, von Multiplizieren ganz zu schweigen.

Und vor allem ist der Schwierigkeitsgrad zwischen Addieren/Subtrahieren und Multiplizieren/Dividieren bei Aufgaben mit gleicher Stellenzahl extrem unterschiedlich! Um bei den verschiedenen Grundrechenarten einen etwa gleichen Schwierigkeitsgrad zu haben, muss die Anzahl der Stellen beim Multiplizieren/Dividieren kleiner sein, als beim Addieren/Subtrahieren!

Sehr interessant ist es auch, dass Aufgaben mit Ziffern zwischen 2 und 5 einfacher sind, als Aufgaben mit Ziffern zwischen 6 und 9!

Nachdem ich ein wenig über diese Problematiken nachgedacht hatte, entschied ich mich die Grenzen für die verschiedenen Level und Grundrechenarten in Form von DATA-Zeilen manuell festzulegen.

Man darf nicht unendlich viel Zeit für die Aufgaben haben

Viele der alten Taschenrechner und Pocket Computer sind nicht darauf ausgelegt zeitkritische Probleme zu lösen. Üblicherweise startet man ein BASIC Programm, wird vom Programm dazu aufgefordert ein oder mehrere Werte einzugeben, drückt ‚ENTER‘ und das Programm rechnet eine Zeit lang, ist die Berechnung fertig, gibt das Programm die Ergebnisse auf dem Display aus und beendet sich. Es gibt kaum eine Möglichkeit, während des Programmlaufs irgendwelche Eingaben vorzunehmen. Für einen Trainer ist es aber sehr wichtig, dass er die zur Verfügung stehende Zeit exakt begrenzt, so dass verschiedene Sitzungen mit unterschiedlichen Übenden, vergleichbar sind. Gerade wenn verschiedene Übende mit dem Programm hintereinander üben wollen, muss die Zeit begrenzt sein. Sonst kann es passieren, dass nicht jeder dran kommt. Die begrenzte Zeit sorgt auch für einen gewissen Stress, der so sicher auch bei einer Klassenarbeit vorhanden ist. Man muss sich wirklich konzentrieren, wenn man die Aufgaben in der definierten Zeit lösen will.

Die einzige Möglichkeit die Zeit zu begrenzen, bestand darin, einen Zähler so viele Durchgänge machen zu lassen, bis die gewünschte Zeit verstrichen ist. Aber wie dabei Zahlen eingeben? Zum Glück gibt es im Sharp BASIC eine Funktion namens ‚INKEY$‘, mit der es möglich ist einzelne, auf der Tastatur gedrückte Zeichen abzufragen. Ruft man diese Funktion während eines Schleifendurchgangs des Zählers auf, so bekommt man das gerade gedrückte Zeichen in eine String-Variable übertragen! Man muss dann nur noch die einzelnen Zeichen verknüpfen und in eine Zahl konvertieren. Leider ist dadurch die Zifferneingabe sehr schwierig: Man muss eine Ziffer mindestens solange drücken, dass während des Programmablaufs die INKEY$ Funktion aufgerufen wird und gut darauf acht geben, dass man sie nicht solange drückt, dass INKEY$ gleich zwei Mal vorbei kommt.

Leider kann man das Problem nicht endgültig lösen, darum frage ich neben den Ziffern auch noch die ‚-‚-Taste ab. Drückt man sie, wird das zuletzt eingegebene Zeichen wieder gelöscht. Damit kann man in der einem zur Verfügung stehenden Zeit versuchen, eine falsche Eingabe wieder zu korrigieren. Ach ja, wer das Ergebnis schneller ausgerechnet und eingetippt hat, kann mit der ‚=‘-Taste direkt weiter zur nächsten Aufgabe.

Es sollte irgendwie motivierend sein

Der Pocket Computer kann natürlich nicht das Taschengeld erhöhen oder für erfolgreich gelöste Aufgaben ein Eis spendieren. Aber er kann eine Note berechnen und ausgeben. Die meisten Kinder und natürlich auch Erwachsene können sich unter einer Note etwas vorstellen. Man weiß, dass eine 5 oder eine 6 ziemlich schlecht ist und eine 1 etwas Besonderes ist. Das mag vielleicht keine Riesenmotivation sein, aber meine Kinder möchten schon gerne eine 1 erreichen!

Wir haben im Haus mehrere von den kleinen Dingern und so kann man auch einmal mehrere Kinder gleichzeitig üben lassen. Wenn man zu einem PC-1251, PC-1260, PC-1261 oder einem PC-1262 noch das Zubehör CE-125 hat, kann man ein einmal abgetipptes Programm ausdrucken oder auf einer Kassette abspeichern. Von der Kassette kann man es dann ganz leicht auf einen anderen Pocket-Computer übertragen.

Es macht auch selbst einmal Spaß mit dem Programm zu üben und so ein bisschen Kopfrechentraining kann man immer einmal gebrauchen. Wer ein ähnliches Programm als PC-Anwendung oder App kennt, welches in etwa die gleichen Eigenschaften hat, darf es gerne unten in den Kommentaren angeben.

Und nun viel Spaß beim Abtippen, Modifizieren und Ausprobieren!

100:RANDOM : WAIT 0:AN=12
110:DIM LV(5,4)
120:FOR Y=0 TO 4
130:FOR X=0 TO 5
140:READ LV(X,Y)
150:NEXT X
160:NEXT Y
170:INPUT "Schwierigkeitsgrad (1-5)?",S:S=S-1
180:RI=0

190:FOR I=1 TO AN
200:A= RND 4
210:DA=100+(S+1)*(A+11)

220:IF A<>1 THEN 280
230:E1= RND (LV(1,S)-LV(0,S))+LV(0,S):E2= RND (LV(1,S)-LV(0,S))+LV(0,S)
240:ER=E1+E2
250:AU$= STR$ (E1)+"+"+STR$ (E2)+"=":AL= LEN (AU$)
260:PRINT AU$: GOSUB 700
270:GOTO 480

280:IF A<>2 THEN 350
290:E1= RND (LV(1,S)-LV(0,S))+LV(0,S):E2= RND (LV(1,S)-LV(0,S))+LV(0,S)
300:IF E1<E2 THEN LET H=E1:E1=E2:E2=H
310:ER=E1-E2
320:AU$= STR$ (E1)+"-"+STR$ (E2)+"=":AL= LEN (AU$)
330:PRINT AU$: GOSUB 700
340:GOTO 480

350:IF A<>3 THEN 410
360:E1= RND (LV(3,S)-LV(2,S))+LV(2,S):E2= RND (LV(5,S)-LV(4,S))+LV(4,S)
370:ER=E1*E2
380:AU$= STR$ (E1)+"*"+STR$ (E2)+"=":AL= LEN (AU$)
390:PRINT AU$: GOSUB 700
400:GOTO 480

410:IF A<>4 THEN 480
420:E1= RND (LV(3,S)-LV(2,S))+LV(2,S):E2= RND (LV(5,S)-LV(4,S))+LV(4,S)
430:H=E1:ER=E1:E1=H*E2
440:ER=E1/E2
450:AU$= STR$ (E1)+"/"+STR$ (E2)+"=":AL= LEN (AU$)
460:PRINT AU$: GOSUB 700
470:GOTO 480

480:WAIT 100
500:CURSOR AL+24: PRINT " ";ER;"          "
510:CURSOR AL
520:IF ER<> VAL (ER$) THEN GOTO 560
530:PRINT " RICHTIG"
570:WAIT 0
580:NEXT I

590:WAIT 100
600:PRINT "Richtig sind ";RI;" von ";AN
610:PRINT "Note ";6- INT ((5/AN*RI)+0.5)
620:END

700:ER$=""
710:FOR J=1 TO DA
720:C$= INKEY$
730:IF C$="=" THEN LET J=DA
740:IF C$<>"-" THEN GOTO 780
750:ER$= MID$ (ER$,1,LEN ER$-1)
760:CURSOR AL: PRINT "                " 
770:GOTO 790
780:ER$=ER$+C$
790:USING "#####":CURSOR AL: PRINT VAL ER$
800:NEXT J
810:RETURN

900:DATA 2,9,2,5,2,5
910:DATA 9,50,3,9,3,9
920:DATA 100,300,3,9,11,19
930:DATA 300,1000,11,19,19,50
940:DATA 1000,5000,19,50,19,50
  1. SOTU
    April 16, 2014 um 4:50 am

    Guten Tag
    Können Sie mir sagen ob es noch NEUE Sharp Pocket Computer PC-1475 zu kaufen gibt?
    oder Rechner wo man Basic programmieren kann?

    Danke für Ihre Antwort.

    mfg

  2. April 16, 2014 um 4:04 pm
  1. No trackbacks yet.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: