cc: Stefan Vorkoetter

cc: Stefan Vorkoetter

Erst kürzlich habe ich einen neuen Taschenrechner erhalten - den HP 35s. Natürlich habe ich zunächst die Möglichkeiten erforscht, das Gerät zu programmieren. Ein paar erste Programme möchte ich hier vorstellen.

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

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