Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:hp_35s

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
schule:hp_35s [2015-03-01 18:38] – [Links] interwikilink für Blog marco.bakeraschule:hp_35s [2021-04-17 13:34] (aktuell) – [Links] link fix pintman
Zeile 1: Zeile 1:
 +====== HP 35s ======
  
 +{{:schule:hp35s.jpg?200|}}
 +
 +Der [[wpde>HP 35s]] ist ein [[Taschenrechner]] von Hewlett Packard. Wie auch sein Vorgänger HP35, setzt der Rechner auf die [[wpde>Umgekehrte Polnische Notation]] für die Eingabe. Ferner ist er über eigene Programme erweiterbar.
 +
 +<html>
 +<iframe src="//www.youtube-nocookie.com/embed/i_NRUgqOB0w?rel=0" allowfullscreen="allowfullscreen" frameborder="0" height="315" width="560"></iframe>
 +</html>
 +
 +===== 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:
 +
 +  - Punktzahl eingeben
 +  - 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 [[wpde>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 [[wpde>Horner-Schema]]s, 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 ====
 +
 +{{:schule:hp35sanimation.gif|}}
 +
 +<html>
 +<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/1gbubP8uCdI?rel=0" frameborder="0" allowfullscreen></iframe>
 +</html>
 +
 +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.
 +
 +<code python>
 +  g = w + 1
 +  while abs(w - g*g) > 0.00001:
 +      g = (g + w/g) / 2
 +  print(g)
 +</code>
 +
 +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
 +
 +===== Links =====
 +
 +  * [[blog>bakera-packt-aus-einen-hp35s|Bakera packt aus: einen HP35s]] - Der HP35s - die Neuauflage eines Klassikers.