Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:hp_35s

HP 35s

Der HP 35s ist ein Taschenrechner von Hewlett Packard. Wie auch sein Vorgänger HP35, setzt der Rechner auf die Umgekehrte Polnische Notation für die Eingabe. Ferner ist er über eigene Programme erweiterbar.

Programme

IHK-Notenschlüssel

Ein kleines Programm zur Berechnung eines Notenschlüssels gemäß des IHK-Schlüssels.

I001 LBL I
I002 STO P               Wert im aktuellen Register in P speichern
I003 Px[0.92,0.81,0.67]  Nötige Punkte berechnen und 
I004 Px[0.50,0.30,0.00]  in zwei Vektoren abspeichern
I005 RTN 

Der Aufruf erfolgt wie folgt:

  1. Punktzahl eingeben
  2. XEQ I ENTER

Dann werden die Punkte angezeigt.

pq-Formel

Zunächst werden die Werte für p und q auf dem Stack gespeichert. Anschließend kann das folgende Programm ausgeführt werden, das die reellen Nullstellen berechnet.

P001  LBL P
P002  STO Q
P003  x<>y
P004  STO P
P005  -P÷2+SQRT((P÷2)^2-Q)
P006  -P÷2-SQRT((P÷2)^2-Q)  
P007  RTN

Das Programm funktioniert schon gut für reelle Lösungen. Wir können das Programm leicht abwandeln und erhalten so auch die komplexen Lösungen. Um die Zahlen in komplexe Zahlen zu wandeln, wird 0+0i addiert. Das verändert den Wert der Zahl nicht, wandelt sie jedoch in eine komplexe Zahl. Wurzelziehen mit SQRT funktioniert beim HP 35s leider nicht mit komplexen Zahlen. Daher müssen wir mit 0.5 potenzieren.

LBL P
0i0
+
STO Q
x<>y
0i0
+
STO P
-P÷2+((P÷2)^2-Q)^0.5
-P÷2-((P÷2)^2-Q)^0.5  
RTN

Nullstellen kubischer Gleichungen - Version 1

Die Nullstellen einer Funktion der Form f(x) = ax³ + bx² +cx +d lassen sich mit Hilfe des Weierstraß-(Durand-Kerner)-Verfahren berechnen. Leider verwendet das Verfahren komplexe Zahlen und ist daher etwas langsam auf dem HP35s. Nach Beendigung des Algorithmus stehen die Ergebnisse in den Registern X, Y und Z.

K001 LBL K
K002 INPUT A
K003 INPUT B
K004 INPUT C
K005 INPUT D
K006 1          Die Startwerte für P, Q und R werden
K007 STO P      mit beliebigen Werten initialisiert.
K008 0.4i0.9
K009 STO Q
K010 -0.65i0.72
K011 STO R
K012 0.006      Die Variable Z dient als Schleifenvariable
K013 STO Z      und wird von 0 bis 6 gezählt.
K014 P-(AxP^3+BxP^2+CxP+D)÷(P-Q)÷(P-R)
K015 STO P
K016 Q-(AxQ^3+BxQ^2+CxQ+D)÷(Q-P)÷(Q-R)
K017 STO Q
K018 R-(AxR^3+BxR^2+CxR+D)÷(R-P)÷(R-Q)
K019 STO R
K020 ISG Z      
K021 GTO K014
K022 RTN

Nullstellen kubischer Gleichungen - Version 2

Mit Hilfe des Horner-Schemas, der Solve-Funktion und der pq-Formel lässt sich auch eine kubische Gleichung der Form f(x) = ax³+bx²+cx+d lösen.

Damit in einem Programm auf die zu lösende Funktion zugegriffen werden kann, legen wir sie in Programm F ab.

F001  LBL F
F002  INPUT X
F003  INPUT A
F004  INPUT B
F005  INPUT C
F006  INPUT D
F007  AxX^3+Bx^2+CxX+D
F008  RTN

Nun wird mit dem Programm C eine Nullstelle mittels SOLVE bestimmt und das Restpolynom mit dem Hornerschema ermittelt.

C001  LBL C
C002  FN= F    
C003  1        Festlegen einer Anfangsschätzung
C004  STO X
C005  SOLVE X
C006  VIEW X   Das erste Ergebnis wird angezeigt
C007  STO X
C008  XxA      Bestimmung des Restpolynoms mit 
C009  STO+ B   dem Horner-Schema
C010  XxB
C011  STO+ C
C012  B÷A      Normalform für pq-Formel herstellen.
C013  C÷A
C014  XEQ P001
C015  RTN

Komplexe Wurzeln

Die komplexe Wurzel lässt sich mit dem folgenden kleinen Programm berechnen.

Durch die Verwendung von LASTx wird der Stack nicht verändert. CLx löscht den Inhalt des X-Registers auf dem Stack.

K001 LBL K
K002 1/x
K003 CLx   
K004 LASTx^0.5i0  
K005 RTN

Hallo Welt

Der Taschenrechner kann beliebigen Text anzeigen. Dies geschieht über das Flag 10. Ist es gesetzt, werden Gleichungen nur angezeigt, aber nicht ausgewertet. Das können wir für ein einfaches „Hallo-Welt“-Programm nutzen.

A001  LBL A
A002  SF 10   Setzt Flag 10
A003  HALLO   Eingabe mit der EQN-Taste
A004  PSE     Nach einer Sekunde wird das Programm fortgesetzt
A005  WELT
A006  PSE
A007  CF 10   Löscht Flag 10
A008  RTN

Animationen

Mit etwas Fingerspitzengefühl lassen sich dem HP35s einfache Animationen entlocken. Dafür nutzt man die Möglichkeit, beliebige Zeichenketten anzuzeigen. Den Quelltext und auch das laufende Programm könnt ihr im Video sehen.

Berechnung einer Wurzel

Der Taschenrechner hat natürlich eine Taste zum Berechnen der Wurzel. Aber wir wollen mal schauen, ob wir die Wurzel nicht auch selbst programmieren können. Dazu gibt es einen einfachen Algorithmus, der mit einer Schätzung g (=guess) beginnt und diese immer weiter verfeinert. Für die Wurzel aus der Zahl x funktioniert der Algorithmus wie folgt.

  g = w + 1
  while abs(w - g*g) > 0.00001:
      g = (g + w/g) / 2
  print(g)

Mit 0.00001 geben wir die Genauigkeit an, die wir von unserer Schätzung erwarten. Für den HP 35s sieht das Programm folgendermaßen aus.

W001  LBL W
W002  STO W
W003  W+1
W004  STO W
W005  (G+W÷G)÷2
W006  STO G
W007  0.00001
W008  ABS(G^2-W)
W009  x>y?
W010  GTO W005
W011  RCL G
W012  RTN
schule/hp_35s.txt · Zuletzt geändert: 2021-04-17 13:34 von pintman