7r:l: 1l
'.
i ";l' ''' i
i;;
t:IP-41C
't I
''j
c*^^1rd \rl'6Lrr\J.4
l'.t'-t t a, t-_l
I I I I I I I
Irunilll I rE
I r I r I E! I
Hinweis
Das hierin enthaltene Materialist mit keinerVerpflichtung oder Garantie irgendeinerArt veunden. HEWLETTPAGKARD bernimmt infolgedessen keine Verantwortungund wird keine daraus folgende oder sonstigeHaftungbernehmen, auf irgendeine aus der Benutzung die Art Programmsammlung Teilen dieser oder davon entsteht.
rcE H"=y.fJJ
HP.4IC
Company,1980 O Hewlett-Packard
Die in diesem Handbuch enthaltenen Programme veranschaulichen sehr deutlich die Leistungsf?ihigkeit und Vielseitigkeit Ihres HP4IC im Bereich der rechnergesttzten Lsung von Problemen. Sie werden entdecken, da die Programme ntzlich und unterhaltsam,ja sogar fesselnd sind. Indem Sie die Programme eintasten und ausfiihren, gewinnen Siepraktisch sofort einen Einblick in die fortgeschrittenenEigenschaften Ihres HP41 C und die Programmebleiben - dank des Permanent-Speichers auch fr den zuknftigen Gebrauch im Rechner erhalten. Ein Studium der fachkundig zusammengestelltenhogramme wird dazu beitragen,auch Ihre Programmierfertigkeit zu entwickeln Der volle Nutzen des HP4IC ergibt sich aus einer erflnderischen Ausnutzung der Programmierleistung und Vielseitigkeit Ihres Rechners,die Sie speziell Ihren Anfordenrngen anpassenknnen. Jedes der in diesem Handbuch enthaltenen 10 Programme setzt sich aus einer Beeinem oder mehreren Zahlenbeispielen, schreibung, einer Bedienungsanweisung, Kempunkten im Programm und einem Protokoll zusamme[ Lesen Sie vor der Benutzung der Programme die Abschnitte.Eingeben eines Programms in den HP41 C" und,,Aufbau der Bedienungsanweisungen" Anfang diesesBuches durch. Sie werden am die hogramme allerdingsversldndlicherfinden und noch mehr Nutzen aus ihnen ziehen, wenn Sie zuerst das HP41C Bedienungs-und Programmierhandbuchdurcharbeiten. Nachdem Sie ein Programm zur Ausfhrung gewhlt haben, tasten Sie es gem dem Programmprotokoll ein. Die fiir die richtige Ausfhrung des Programms bentigte Information ist in den Bedienungsanweisungen enthalten.Sie werden wahrscheinlich nur die ersten paar Male auf diese Information zurckgreifen mssen. Im weiteren Verlauf wird Sie das Programm selber durch die Ausfhrung leiten, indem es angibt, welche Variablen einzugeben,welche Tasten zu drcken sind und welche Werte ausgegeben werden. Unter der Rubrik Kempunkte werden Programmiertechnikengezeigt,die Ihr besonderes Interesseverdienen. Ein Studium dieser Techniken wird Ihnen nicht nur den Ablaufvon Teilen deshogramms verdeutlichen, sondem Ihnen auch zeigen,wie SiedieseTechniken in eigenenProgrammen einsetzenknnen Schauen Sie sich auch die in den Programmprotokollen enthaltenenKommenta.rean,um IhrVerstndnis der einzelnenProgrammezu vertiefen und mehr ber elfiziente und vielseitige Programmiertechniken zu erfahrerL Bis auf das Spielprogramm Jack" reicht die Grundausstattungdes HP4IC fr die "Black in diesem Handbuch enthaltenen Programme aus. ,,BlackJack" bentigt ein zustzliches Speichermodul.Bei der Erweiterung Ihres HP41C Systemswerden Sie merken, da sich einige dieserProgramme als Grundlage fiir eigene,lngereProgrammeverwendenlassen. Vielleichtwollen SieeinigeAnderungen vomehmen,um die ProgrammeIhrenbesonderen Anforderungen anzupassen. Aber geradeProgrammierbarkeitgehrt zum Sinn und Zweck Ihres HP41C Rechners.
..3 ......5 ..6 ..........8 ZumErlernen UPN-Arbeitsweise derStack der wird angezeigt.
14 k Es nnenr."t.ri;;;s;;,;J;;;;;;;;;;;;;,;;;il;;,.;;;.''''
....18 werden. Einverstecktes Wort muerraten " " " 22 Beizehn,icntig"n An;;;;; ;;;;;;,;i;. ' ' ' ' ' ' 24 Zahlen werden von einems^i". ," 0"";;;;; il;;;'; """"'32 DerHP-41C wird in einen leistungsfhigen Finanz-Rechner umgewandelt. . .. .38 DieNullstellen Funktion einer werden schnell genau und berechnet. .... -..42 knnen vorgegebene werden. BiszuvierKurventypen an Wertepaare angepat ......50 Berechnungen komplexen mit knnen werden. Zahlen einfach durchgefhrt
"''''
54
in Zu jedem in diesem Paket enthaltenen Programm sind die Bedienungsanweisungen Tabellenform angegeben. Sie sind der Leifaden fiir die Ausfiihrung der Programme. Die Tabelle setzt sich aus fiinf Spaltenzusammen: Die erste ist mit ,,Nr." bezeichnet und gibt die laufende Nummer des jeweiligen Bedienungsschrittes an. Die Bedienungsanweisungen sind entsprechend dieser Numerierung Zeile fiir Zeile zu befolgen. Die zweite Spalte ,,Anweisung" enthlt Anweisungen und Kommentare im Zusammenbang mit den auszuliihrenden Operationen In der Spalte ,,Wert" sind die einzutastenden Daten, gegebenenfalls deren Einheit oder eine entsprechende Zeichenfolge angegeben. Fr die Dateneingabe werden die Ziffemtasten 0 bis 9, die Dezimalpunkttaste, sowie @ (fr die Eingabe des Exponenten) und (frnegative Zall'Jert, oder Exponenten) verwendel @ Die Spalte ,,Funktion" enthlt die Funktionstasten, die im Zusammenhang mit diesem hren sind. Anweisungsschrittauszuf Wenn eine Anweisung in den Spalten ,,Wert" oder ,,Funktion" goldfarben gedruckt ist, mu vor dem Eintasten der Anweisung der ALPHA-Modus eingeschaltet werden. So da folgende Tasten zu drcken sind: bedeutetbeispielsweisedie Angabe lxEO .1'.1.., EEdl fAr-pHA A fjil 4CtALpTl . Sie knnen natrlich auch die Funktion A4C einer beI liebigen Taste zuordnen, indem Sie El IASNItLPTlA4C tAtPHAI fiaste] drcken. Danach we einfach fiaste] im USER-Modus zu drcken, um die Funktion auszufiihren. In der SpalteAnzeige hnden Sie die Textausgaben,die berechnetenZwischen- und Endergebnisse und, soweit zutreffend, deren Einheiten. ber der Spalte,,Anzeige" wird in einem Feld die {iir die Ausliihrung des Programms bentigte Mindestzahl von Speicherregistem angegeben.Vor dem Eintasten des Programmssollte gegebenenfalls SIZE-Funktion verwendet werden, damit dasProgramm die im RechnerPlatz hat. Im Bedienungshandbuch wird aufden Seiten 73 und 117auslhrlich beschrieben, wie die Speicherplatzbelegungdes Rechners bestimmt werden kann
2. SchaltenSie den HP41C in den PRGM-Modus (drcken Sie tpnGM-l)und drcken Sie
dannl ml zubereiten. tr El , um den Rechner fr die Eingabe des neuen Programms vor-
3. GebenSiedashogramm ein.Die folgenden Hinweise werdenIhnen bei derEingabe der hogramme von den Protokollenin diesemBuch behilflich sein: a) WennsicheinZeichenodereineZeichenfolge Protokollsin ,," (Anfhrungszeides chen) befindet, so handelt es sich um ALPHA-Zeichen. Und diese einzug6lea, drckenSieeinfach[atFHA tastenSiedie Zeichenein und drckenSiewiederum l, So als fa-pHA-]. wrdebeispielsweise,,SAMPLE" frupxr I SAMPLE latFxlelagq trastet werdenb) Die Rautevor jeder LBl-Anweisung ist das visuelle Hilfsmittel, rrm Progralnmmarken im Protokoll aufzufinden. Bei der Eingabe wird diesesZeichen nicht beachtet c) Der DruckerstelltdasDivisionszeichen durch / dar.Wenn Sieim hotokoll / sehen. drcken E. Sie d) Der Drucker stellt dasMultiplikationszeichen durch * dar. Wenn Sieim hotokoll * sehen, drckenSie E. e) Im hogrammprotokoll wird ftir 0ie lrpp=Hol-Fturktion Zeichen F verwendet das WennSieF sehen, drckenSie I lFFENpl ALPIIA-Modus (drckenSie I und im die TasteK). fl Die folgendenAdreformen sind liiLralle Operationen,die eine Registeradresse bentigen, zugelassen: nn (einezweistellige Zahl) IND nn (Indirekt: l, gefolgtvon einer zweistelligenZahl\ X,Y,Z,T oderL (eineStack-Adresse: gefolgtvon X,Y,Z,T oderL) E IND X, Y, Z, T oderL (eineindirekte Stack-Adresse: E gefolgt X, Y, von ! Z,T oderL)
angegeben. werdendurch ffi gefolgtvon derindirektenAdresse IndirekteAdressen Indivon X,Y , Z, T oderL angegeben. werdendurch E gefolgt Stack-Adressen von werdendurch ffi [ gefolg;t X, Y, Z, T oder L angerekte Stack-Adressen geben. Druckerprotokoll
"tllr'1 E1+LEL FLE., ''THI= F.T3 I5 11 ' Bf, " FI-JI]I,iFLE 1 3 4 ttri I Eti B5 ElE. i ttr srr'r ET _: BE rl'_l t r E E 1 E =Tt' I HI' L I I 12 1f, 14 "Ef,=" trF.:rll t:i:; Fi'.i r Ei'l ETtt
Tastenfolge G ILBLII ALPr.tA I SAMpLE I Arpr{A I I I ALPttA TH;S tS A lffil lAtPt{^l E lffi;l SAMpLE g AVIEWtALPI{A I 6 tanEm-l 2lffil
Anzeige
E
lffiltAL*IAl ABS|fffi_)
Ol LBLTSAMPLE IS O2TTHIS A O3TTSAMPLE 04AVIEW 05 06 06 ENTER/ 07 -2 o8t 09ABS IOSTOINDL tl R3= 12 ARCL03 13 AVIEW I4 RTN
DiesesProgramm verdeutlicht die Arbeitsweisevon UPN - (Umgekehrte PolnischeNotation). Der Inhalt dervier Registerdes Stacks wird gleichzeitigangezeigt, dadie Wirkung so einer gegebenenTastenfolgenicht abgeleitetwerden mu, sondem vielmehr beobachtet werden kann. Die vorgesehenen Funktionen sind auf dem Tastenfeldangegeben. entDie sprechendeZuordnung ist in den Bedienungsanweisungenenthalten Alle Funktionen bergebendie Programmkontrolle an eine Routine, die den StackanzeigL Es ist mglich, die Wirkung von Funktionen auf den Stack zu beobachten,die im Programm nicht enthalten sind. Fhren Sie die gewnschte Funktion einfach aus und drcken Sie dann die I ms I -Taste, der das Programm STACK zugeordnet ist Es bestehen nur zwei Unterschiedezwischendem eigentlichenund dem simulierten Rechner: esdi.irfennur einstellige werden und STO und RCL beziehensich nur auf ein einzigesRegister, Zahlen eingegeben so da die Angabe einer Adresse entftillt.
rrrrr
ggrrr Esgr
ggrg
LSTX
UPN-Lehrgang
Sp6ichergrs: OOl
Nr.
1
Anweisung
Stellen Sie den Status ein und laden Sie das Programm. Fhren Sie die Zuordnung der Routinen wie gezeigt aus und schalten Sie in den USER-Modus. Die vorgeschlageneZuordnung ergibt die auf der vorhergehenden Seite gezeigteTastatursnordnung.
Wert
Funktion
Anzeige
SWAp ltlrl
ST ISTI RDWN IR'I lRc! 51 IEFtEI-il RC CLR CHSN EtrSI E
E PLEMI MUEDI E 9988 7766 5544 3322 1100 ITTSI 61a FnSTTISTACK
J
Drcken Sie eine gewnschte Tastenfolge und beobachten Sie, wie sich der Inhalt des Stacks verndert. Die Funktion RUP und CLSTK werden durch uno erreicht. (Sie knnen diese Funktionen aber auch zuordnen.) Um z.B. die Funktion FCN der lE Taste zuzuordnen.
E tr rEaE?l
tr
I I lrAs-irl
E E
Beispiel2:
2 + 4 1 9- 7 ] , 6-4
Funktion 9 IEffihTI
Anzeige
X:9Y:32.OT.0 X:9Y:92:3T.0
E
4
B
2
E
6 IEFET-'I 4
E E
X:7 Y.9Z:3T.O X:2Y:3ZOT:0 X:4Y:22:3T:O X:8Y:32:OT;0 X:2Y82:3T:O X:l0Y:32:0T:O X:6Y:tOZ:3T:O X:6Y:62;tOT:3 X:4Y:6Z:lOT:3 X:2Y:lOZ:3T:3 X:OY:g?.gr:g
Beachten Sie. da das Ergebnis von Beispiel l die Berechnung in Beispiel 2 nicht beeinflut hat
UPN-LehrganS 11
Beispiel 3: Bestimmen Sie die polare Form der komplexen Zati 3 + 4i
4 FilTEFN 3
E
STACK
Ein KempunktrlesProgramms
Besonders ntzlich ist in diesem Programmdie zur Anzeige der Stack-Register verwandteRoutine STACK. Vielleicht sollten Sie dieseRoutine im Rechnergespeichert lassen, damit Sie bei der Lsung Ihrer eigenenhobleme den gesamten Stackanzeigen knnen.
12
UPN-Lehrgang
g1+LeL "rlL'.1 Tti " B= CLST E3 GTO 14 a4+LEL " 1g5 FS-/!:: 5 E6 trLH 67 1 BB GTO 14 E9+LEL "=" lE FS?T B5 11 CLH
trK5E "l;: " 59 trEtrL H 6B "F 1:" 61 trECL 'd "F f :" 62 6f, trEtlL Z "F T:64 65 trFCL T 6E trljIEI'I 6? RTN "Et" 68+LEL 69 5F E5 7E EHTER+ 71 GTO l4 72+LEL.EDT.] H" P= RIIH .;'4 GTO 13 '.SHtl 75+LEL F" 76 F7 H< lY GT 14 ..EUF ,.78+LEL 79 E+ g@ GTE 81+LBL 8e+ 8= riTrl 84+LBL E5E6 GTD g7+LBL gE+ SF GTO 96+LBL .-' 9L 9e GTO 93+LBL SF 13 " FL.' l3 "l'lI '' Subtrahier6n If, -tlU" Multipiizieren 13 ..8I '' Dividieren 13 .CLF: Stack anz6igon
rt e
e1 cLx ee .r
Eingabe 3
Eingabe4 14 ..5. E= Eingabe 5 14 . F-. E5 Eingabe 6 14 "7E5 Eingabe 7 14 "8" B5 EingabeI 14 -9" E5 Eingabe9 14 "E"
E3 GTD E4+LEL ?5 FS?.: 26 TLH ef5 EA GTB 29+LEL '3 FS?tr 31 CLH 3=E 3= GT 34+LEL 35 Fs?r= 36 L=L}1 377 3E GT 39+LBL 4E FS?C 41 TLH
x und y vertauschen
4es
43 GTO 44+LEL 45 FS?E 4. tLH 473 4 GTO 49+LBL
ROOSpeicher
UPN-Lehrgang
13
1.+ .ttl.t=
!! GT i '1 I |:18+LEL =T ' rji 1 =Tr_r EtEr l 1E= GTD 14 " Eil " 18f,+LEL rE4 F5?C E5 1E5 CL:i 1_tJ lrl, ECL 1Ei GTrl 14 ''L=T 1EE+LEL i.: " 1g:r F.j-,'rl E5 1 1F_iCLH 1r I Ltr5T:.i I 1= CTrt 1.1
Wichiige Statuslnformationen: Speichergre: 001 F I XO Flags: F05 gesetzt = StackLift unwirksam F29 gelscht zur Unterdrckung des Dezimalpunktes(-kommas)
Anmerkungls ist praktisch, FS?C einer Taste, 56gsn wir der @-Taste, durch I lSNlfar_-Lpxl-l Fs?c IAIFHA I @ zuzuordnen. Sie vemenden dann [LIrt l...-m erst FS?C-in ds A.rerge zu erhaltenund nochmal um FS?C zu erlangen.BeachtenSie,da sich der Rechnerlm USER-Modus O5 befinden mu, da Sie sonst zwei I LN I erhalten.
t4
Kalenderrechnungen
DiesesProgramm berechnet wahlweise Kalenderdaten oder die zwischenKalenderdaten liegendeAnzahl von Tagen.Entwederwird der Zeitraum zwischenzwei vorgegebenen Kalenderdaten Tagenberechnet in oder eswird ein Kalenderdatum einemAnfangsaus darmund der Anzahl dazwischenliegender berechnet Tage Kalenderdaten werdenin der Form mm.ttij eingegeben in der Form MONAT und ausgegeben Weiterkannfiir ein Kalenderdatum dazugehrige der Wochentag berechnet in Textund lqrm angezeig werden.
ioeicherqre:01
Nr.
1
Anweisung
Stellen Sie den Status ein, geben Sie das Programm ein und schalten Sie den Ussr-Modo 6in WOCHENTAG Geben Sie oin Datum ein und berechnenSie den Wochntag Wiedsrholsn Sie Schritt 2a fr in neuesDatum ANZAHL DER TAGE ZWISCHENDEN DATEN Geben Sie zwei der folgonden Werte ein: Erstgs Datum Zweites Datum Anzahl derTage zwischsn don Datsn (T) BerechnenSio einan derfolgendsn Werte: Etes Dalum Zweitss Datum Anzohl derTage zwischen don Datgn Wiederholsn Sis Schritt 3b f r nue Daton (Werte, die sich nicht vsrndern, brauchen nicht omsut singegeben zu werden.) 'Daten wordon in dsr Form mm, ttijji eingegebenund in dsr Form Monat tt, jjii ausgsgsben.
Wert
Funktion
Anzeige
2a 3a
Datum'
tr
Wochentag
2b
T1'
r2'
T
E E
@
T a g1 ' "tag2' T
3b
ts ts o
T a g1 ' fag2'
J
TUESDAY{Djenstagl
Kalenderrechnungen 2: Beispiel
15
Welches Datum erhlt man, wenn auf den 4. August 197810000Tagedazuaddiertwerden? Anzeige:
Tastenfolge:
E 8.041978
10000E]tr]
DEC 20,2005
3: Beispiel wurde, hat einen Sohn, der am 19.Februar 1913 Ein Mann,deram 18.Dezember geboren 1946 Welt kam. An welchemTag wird der Vater doppelt so alt wie sein Sohn sein? ztx
E 2 trEE
Anzahl der Tage. Die doppelte Anzahl Tage nach dem ersten Datum.
Ein Kempunkt desProgramms Dezimalpunktes/-kommas", Programm nutzt die Eigenschaftdes "austauschbaten Dieses um die Datumsanzeige zu formatieren. Wenn sich das Datum in Form mm.ttjj im IND X ein Unterprogramm ausgefhrt, das eine aus X-Registerbefindet, wird mit ltGOl drei Zeichen bestehendeMonatsbezeichnungim ALPHA-Register belt. Dann wird der Dezimalteil der Zahl im X-Register mit 100 multiplizierl das Flag fr den Dezimalpunkt gelschtundderTagund dasJahran denInhaltderAlPHA-Anzeige angefgt.Somitergibt eine Anzeige von DEC 25,1978. ein ursprnglicherX-Wert von 12.251978 Anmerkung: Aufgrund seiner Lnge wurde dieses Programm nur unter Verwendung von ,,lokalenMarken" geschrieben.Sollte der Rechner einmal auerhalbdes Programms stehen,kann er mit Hilfe von CAT 1 an irgendeineranderenStelle desProgrammspeichers (sieheBedienungs-Handbuch) wieder entsprechendpositioniert werden.
l6
Kalenderrechnungen
EI.LBL tr B= RCL E4 A1 a3 RtL B4853 86 GTI] 2E g7.LEL E BE RCL 63 a9 RCL 61 lE+ 4 1l 2E 12+LBL 13 STO ge r4 RDH 15 365.2E 16 STO E5 17 3S.6681 1S STO 96 19 RI}N 2S RDN
A Tage bsrschnen und Cods 3 in die Anzeigo schreiben. ^ Tage berechnen und Code 4 in die Anzoige schreiben.
Steuercods speichern.
et Fs?c 2e 22 GTO 21 23 STO IHD a7 e4 1e4.1 e5e6 RCL 95 27/ EA INT 29 STO e9 3S RCL A5 31 * 32 IHT 33 RCI- I HE A2 3435 trHs 36 STO OS' 37 RCL @6 3e/ =9 INT 4S STO S7 41 RCL ES 4= t{{ tY 43 RCL Bb 44+ 45 IHT 4, 47 STO EE 4S RCL @7 49 I 5S RCL gE 51 ::
525?54 RCL 67 55 14 56/ 57 XEO 2e 5A RCL E9 591E6 6@/ + 6t 6A GT 25 63+LEL 21 E4 RTIN 65 Fr:? g6 66 STO IHD g? 67 EHTERI. 6A INT 69 STO e7 ?g7t I E2 72* 73 EHTER-t 74 INT 75 STO eB 7677TE4 ?8* 79 STO g9 aa RcL e7 al I 8Z+ S3 EHTERT E4 l/X s5 .F E6+
s7 cHs BA HE 2Z
89 96* 91 9e 93 94+ S5 96+ 9? 'JB RCL IHT RCL RCL IHT RCL + X{> 6A g6
Tageszahl berechnen.
Monatstag brechnen.
S9 S5
s2 les
99
IHE
Fs?c B
E5
Kalenderrechnungen
Bf, E4 ET.ITEET i-:E'] I r.tfl tSSrLEL 1= 154 "5Ul-lf'll\'" t 55 ETtl t 5.+LEL 1F_. " l'lt'tfirl'1'" l5? t 5E F.:TH I5?1LEL 1; l bE ..TUEFJI'|]T IET F:TI] I62+LEL IE "HEDHE=f' t6= 1ft F-4 ETt{ t .5.LEL 19 ..THUE5DR I66 t" IEi ETH ll 1 t68+LEL "Jrlt{ '. t69 t 7B PTr^{ | 7l +LEL Fr: |7= "FEE I?f, RTH I74+LBL Ef, " t'1t18 .' L75 IF6 ETH 177+LEL 8.1 -trFF: " |7E I?'-' PTH IBE.LBL F5 -Hf i " isl IE: ETFI lg=.LEL ErtsrE4 -JUr'{ tE5 F.:Ti.l LBb+LEL E17 LEi " -lUL iSif ETH 189+LEL EE ,9E " 11UG " . ? I ETI-l .9E+LEiL E3 .gf, "iiEF " .94 ETt{ .95+LEL 111 . ?E " r-r|]T .:Ji F.:Tl'l .99+LEL I I .'-l-J "H1., ,. IB6 ETH igl +LEL 1: IEE ..DEf-: .
17
B5 FET.: E F - .1 E = lli + E+ f,F -E B? F I:-i 4 lF trPCL H Ef,it{ l1 l: t r l . rr E H lf, =F EE 14 ETr-{ I5TLBL :: IF- IHT 17 5T+ E1? 1A 1: l:i + FB_ E 1 ETf'I I: EE+LEL Ef, f,F E:J 74 F I';i FJ 25 5T Fl ?E Fri2r_. 2t e7 ETt-l 2A F:f,L E4 29 ECL Bf, 3B31 =Trl Erl 3= ETt{ 3=+LEL E f,4 5F Er. 35 SF == f,6 ErtL E= 3i5 3E;{EE:T:i f,S RtrL I f.lfl 4FJ i 41 FlIl 4.1 44 + Etl
Wochentag berechnen:
I t-lIr
Wortratespiel
Deses hogramm ist eine Version desWortspiels,,Henket''.Der ersteSpielerdenktsich ein aus sechsZeichenbestehendes Wort ausund bergibt es dem Rechner.Der zweite probiert,bis Spielerversuchtdas Wort zu erraten,indem er verschiedene Buchstaben das Wort vollstndigisl Nach jedem Versuch zeigt der Rechneralle richtig erratenen Buchstaben der entsprechenden an Stellein der Anzeigean. Wenn dasWort vollstndig erratenist, zeigt der Rechnerdie Anzahl der bentigtenVersuchean.
Speicherge:01(
Nr.
1
Anweisung
Stellen Sie den Status ein und gobsn Sie das Programm ein. Starten Sie das Programm. Der erste Spielsr gibt ein Wort ein
Weft
Funktion
Anzeige
2 3
4 5
iechs beliebige Zeichen Der zweite Soieler errt ein Zeichen. ein beliebiqes Zeichen Wiederholen Sie Schritt 4, bis das Wort vollstndi9 ist. Da16uf erscheint DONE in derAnzeige, dann WORD lS <word>und YOU TOOK nn GUESSES.
Beispiel: Geben Sie .HP41C" ein und erraten Sie dann dasWort.
Anzeige: KEYIN YI'ORD LETTER? Beachten Sie, dader Rechner imALPHA-Modus anhailt!)
t
* *
Wortratespiel
19
Ir mr
l-t6l
Kempunkte Progranms des Bei der Entwicklung diesesProgrammswurden die zwei Spezialroutinen SPEL und DESPELverwendel Sie dienen dazu, ein Wort aus einer Anzahl Buchstaben aufzubauen einWort in seineEinzelbuchstaben zerlegen. demendgltigen und zu In Programm ist nur noch DESPELvorhanden,da die Funktion von SPELim Programmdurch eine Vergleichsroutine Buchstaben fr bernommenwurde. Die Art der Verwendungvon SPEL und DESPEL in diesemProgrammerfordert,da ein Code im X-Register bergeben wird. DieserCode bestimmtfijr SPELdie Quelladresse fiir DESPELdie Zieladresse Buchstaben. und der Der Codehat folgende Form: oder wobei und ist fl. 011fr SPEL ll.OffflirDESPEL fl dasRegisterfr den erstenBuchstaben 1l dasRegister denletztenBuchstaben fr ff : fl-l
Routinenknneneineganze ReiheunterschiedMit SPELund DESPELoderhnlichen licherZeichenketten codiertund decodiert werden. Eine hnliche Routinewurdefr das (siehe hexadezimale Umwandlungsprogramm Seite28)verwendet.
E 1+LEL L" ge ijT Bf,+LEL B4 rfRilL Bi |a5 ISG BE GTCI E7 ETT.I ..5FE llf FJE It'lIl B; EE
setzt ein gelschtes ALPIIA-Register voraus speichert derZhler fl.011 setzt das Wort zusammen; wenn es nicht der letzte Buchstabe ist wird die Schleife wiederholt
il1+LEL " IrE= FEL " r:r= STrl Er? Lrf, tr5Tr_-.i EtB r34+LEL trr E5"' EE. I]F:CL EE Bi tr.:;TO BE ll8 tr=HF BB trsT IHTI E? 1B D5E EI; 11 GTO E17 1e RTt-{
speichertden Zhler 11.0ff rettet das Wort rettet alle bis auf den letzten Buchstaben rettet den letzten Buchstaben wenn es nicht der letzte Buchstabe ist, wird Schleife wiederholt
20
Wortratespiel
.. T.JI-1F:
E 1 +LEL
"EEi. It{ Br l"ltrF.:IrBf, R}-I B4 FRI.IPT E= F=TL-I EE rlF- F_. E? HET! . DECJ PEL. 6E -" B9 =Ttr 1r 1Lf " I 1 FSTN E? 1i LE-Er 1f, riE!,] ..DE5 PEL * .LTT I4+LEL 8., 15 CLrl 1. tr5T S3 - LETTER-j 1i .. I a rlr:r tl 19 FEFIFT 2E tt:iTo 1B = I I:_lt; 17 2= I . S|JE == =Tfi l-q =4+LEL BE .. e5
4f, GTO EE 44" 45 tr5Tn t: 4E+LEL Bg 47 CLtr 4E trRL E9 43 trRCL H 5F tr5TEI E3 51 tfvIEtI 5= lE =3 RCL lE ' 4+ 5E 5i IfRCL trsTr:r T I Hil
{
7
Schleifs sechsmal wiederholen.
Der Spieler wird zu einer Eingabeaufgefordert. Anzahl Buchstaben. Initialisieren ZhleF. des Beginn Schleife 6.
5i+ I gG 1E 59 GT BFLl CLF 61 trRCL EE EE trgTA Y F-f, trLtr F-4 I]RCL E9 ir= trST;-: EE 14=Y? EF GTI] EE ES FsE F _ , : TF = E ;E GTO ..LTT E" ;I +LBL EEl " fiot{E " ;E 7f, RV I EI.] ..l.ttrRn i4 I= F5 i. ;IE 73 ET3 F1 8E
H-
:{
,|'
Wenn dieWorte identisch sind, dann DONE. Andernfalls eine erneute Eingabeverrangen.
I HII Wenn eine Position $hon einen Buchstaben enthlt wird dieser anggzeigt.
EIrt{ RgTri :{ H+Tl GT EE trLIl trErjL lEt tr=Tl_-r ? t:Ltl trF:CL IHn
Wort anzeigen
41 H:lTt-J :{ 4=:i=T--j
E:- trREL Fl E4 -F GUES!; E=E5 tr$ I EI.I .-E. ETr.l E 7 + L B L . .I I E E PEL "
Wortratespiel
21
EE 5TA BrlE B'l tr5Trl 9g+LEL Ei 9t 3e trECL SE 93 HSTT-I EB 94 ttSHF 9= trST!_-i I l-{Il B7 98. n5E Et BF GTI] Si 9E F.:Tl.{ Wichtige Status-lnf ormation Speichergre: 01 9 FIX O cF 29 Flags: F29 gelscht, um Dezimalpunkt zu unterdrcken
R14= R15=
22
Arithmetik-Lehrgang
DiesesProgramm erstelltbungsaufgaben die vier Grundrechenarten. knnen Iiir Sie selberden Schwierigkeitsgrad bestimmenund die Wahl der Lektion, ob Addition, Sub, fraltion, Division oder Multiplikation. Eine Lektion bestehtaus 10 Aufgaben,wonach die Anzahl der richtigenLsungenin Prozentangezeigt wird. gestarteL Rechnerverlangt Das Programm wird mit ltFdl tLPH-l TEACH tALpH-] Der die grtein den hoblemen zu verwendende Z,aht.Nach der Eingabediesergrten Zahl und lRrsI erscheint,*, -,*, /?" in der Anzeige,wobei der AlPHA-tndikator aufleuchtet Drcken Sie jetzt einfach die goldene Umschalter-Taste, eine der arithmetischenFunktionenund l-il$l um mit der bung zu beginnen. Der ALPHA-Moduswird automatisch ausgeschaltet SobaldeineAufpbe gestelltist, tastenSieIhre Antwort ein und drckenSie tffi]. Eine richtige Antwort wird mit YES belohnt, worauf eine neue Aufgabegestelltwird. Nach einerfalschen Antwort ertntein unangenehmes Gerusch dieMeldungNO erscheint und in der Anzeige.Sie knnenjetzt einen zweitenVersuchmachen,die Aufgbe zu lsen. Der Rechnerzeigtdie richtige Lsungan, wenn eineAufgabezweimalfalschberechnet wurde und fhft dann mit der nchstenAufgabefort. Wenn alle zehn Aufgabenbeim ersten Versuch richtiggelstwurden,wird TuschgespieltDasProgramm ein springtdann wiederzu der Anzeige,,+,-,X, lT zurick(ein Bei Beginn Programms eineZahl. Startwertzwischen0 l) des stehtim X-Register und der die Sequenz vom Rechnergestellten der Aufgabenfestlegl Um einebestimmte Serie von Aufgabenzu wiederholen, wird einfachderselbe verwendetWird keinStartStartwert wert eingegeben, verwendet Rechnerdie gerade X-Registerenthaltene der im Zalrl.
f
t
Nr.
1 2
Anweisung
Stellen Sie den Status ein und geben Sie das Programm ein. Gebsn Sie einen Startwsrt (O< Wert < 1 ) ein und starten Sie das
Wert
Funktion
Anzeige
MAX NUMBER?
+,-,'x, /?
Angszeigte Aufgaben: (n1)+(nr):i (n1)-(nd=7 (n,)*{nd = I (nr)/(n2)=? YES oder NO
Whlen Sie eine Lektion Addition Subtraktion M ultiplikation Division Tasten Si lhre Antwort ein.
+ x
Antworl
f6l
Nach 1 0 Aufgaben erscheint die Anzahl der richtigen Lsungenin Prozent. Sie knnen fr sin weitere Lektion mit Schri A fortselzen.
(Treffer)% RIGHT
Arithmetik-Lehrgang 23
Beispiel: Geben Sie einen Startwert von .021946ein und ben Sie dann Subtrahieren.wobei Sie einen Hchstwert von 14 venvenden.
Tastenfolge: .021946 lxE'51 l-arFH-'l TEACH l-rpFl 14 lR/sl TEMI 7 fR/3 1 8 7 3 6 8 lEl fRE-l lEl lR/sl lESl tGl
Anzeige: MA)(NUMBER?
+.-,x,lz
12-5=? YES 14-13=? YES 13-6=? NO 13-6=? YES 14-11=? YES 14-7=? NO 14-7=? NO 14-7=7 l3-2=? YES l4-13=? YES 14-lO=? YES 12-9=? YES l4-lO=? YES 9096RIGHT +.-,*,/?
Kempunl*e im Programm In diesem Programm wird in einer kombinierten Anwendung gezeigt, wie der Rechner ein eingegebenes ALPHA-Zeichen fiir einen indirekten unterprogrammaufruf und eine Textausgabe verwendet.
24
Arithmetik-Lehrgang
Whrend des Ablaufs des Programms wird vom Anwender das Symbol *, -, * oder /, ab hngig von der Art der durchzunehmenden Lettion, als Eingabe verlangt Das hogramm speichert dieses Synbol im Register 06, erzeugt dann zwei T,ahlen und fbrt das Unter. prograrnm aus, dessen Bezeichnung in R06 gespeichert isL Dasselbe Symbol yffi denn zurckgerufen und fiiLr den Aufbau der Anzeige verwendet, um die Art der Lektion anzuzeigen. Das Programm enthlt femer einen interessanten Zufallsgenerator. Der Generator ra11: FRC (9821x r"+-2113/7\ wurde in einem Programm von Don Malm in der HP55 Anwenderbibliothek gefunden. Der Generatorbestehtden Spekhaltest(Knuth, V2, g 3.4)und da die Parameterdem Lehrsatz A (op. cit S. 15) gengen, werden unabhngig von der Wahl von re eine Million unterschiedliche Zufallszahlen zwischen 0 und 1 erzeugt Da der ZufallsgeneratorZahlen zwischen 0 und I erzeugt, mssen diese Zahlenweiter verarbeitet werden, um die Ir die arithmetischen hobleme erforderlichen Ganzzahlenzu erhalten. Indem die Zufallszahlen mit einer Gan zzahl N multipliziert werden, und dannnur der g;anzzahligeTeil verwendet wird, knnen Zahlen zwischen 0 und N-l erzeugt werden In diesem Programm wird die vom Anwender 4ngegebefne Hchstzahl plus l verwende! um Zahlen zwischen 0 und dieser Hchstzahl zu erzeugen.
Arithmetik-Lehrgang
25
B1+LBL.TEFI r-:H" ee cF e:{ gr- FIH B E4 STO SS 85+LBL t] Bf. " t'ttrx HUr'l EER?.. F? PRBI4FT qG1 B?+ 1F STEr S4 1 1+LEL " tf Gt-i .. 1? E 13 STtr EE 1 4 : _ = T E 9 1= 1E 1 5T!:r EF -, + 1i -+, 14 trLlti r 9 FFirll"tFT EE Rt--|FF = 1 HSTO EE, ee+LEL 139 3f, HEEI " RHII =4 5TB =5 HE& tt" e 5TO =7 RtL =a HEQ aFBE .'El.{n Es ge IHtr
Initialisierung.
42 43 44 45 46 ..47
Anzahl der falschen Antwort srhhen und Aufgabe wiederholen. Richtige Antwort anzeigen.
Marke fr Einsprung.
4E+LEL EE 49 trRCL B5 5E trRCL s1 trRCL 83 "F=" 52 sf, FIECL Ef, 54 trVrEl'r 55 GTO EA " YEij ..56+LEL 57 CF |:JB - YE.-i " 58 59 EV I El^l bEl 61 5T+ BE 6?+LEL EE 63 DSE B; b4 GTrf B9 E5 RCL B9 6. H=B'l 67 HEQ ,.FF " 6E RCL ES E9 -1 7A .' ?1 CLR 7e trEi:L :i -F:{ E IGH I3 T" 74 trV I El,.l 15 PSE ?5 PEE ?7 GTO " trGtl .. "+" ?B+LEL ?9+ BB 5TO g3 SI LtrSTH
Fragenach Lektion.
,,YES"anzeigen. Anzahl der richtigen Antwortsn erhhen. Wenn nicht fertig, Schleife wiederholen. Wenn alleAntworten richtig waren,Tusch spielen.
Problem ezeugen
,.89+LEL.TRT 3E I]RI]L B5 31 trRCL E 3E F{ECL AT 33 "F=?" f,4 PROI.IPT 35 RCL E3 3F- X=Y? = 7 GT r l - Y E 5 .. 3E ,'HO ', f,9 HV I Er,l 4S Tt'lE s41 TONE 2
Problom stellen.
W e n n r i c h t i g ,d a n n ,,YES".
se-
Eine - Lektion.
RO5 = n1 R06 = Art der Lektion R07 = Zhler R08 = Anzahl der richtigen Antworten R09 = Anzahl der falschen Antworten
26
Arithmetik-Lehrgang
g A 7 E S 7 S I 'j rl " -rl" 9 A "O" A 7 "O7 6 " r ] l"
S E - - .= B - 1 S9 HEQ gB gf, 9S STrl 9l LFlsjTH 9e+ 93 Ltr5TH 9rl trLtr 95 RTH 96+Lg1 69 97 CHs 9g PCL A2 99 H-. i 95 I es H - - .> g 2 IBI EDN 182 RTN Ig3+LBL "+" 164 *
Eine' Lektion.
E i n e/ L e k t i o n
137 TONE l3a ToHE 139 ToHE 14 TONE 141 TOHE 142 TONE 143 TONE 144 TONE 145 XEG r46 XEA 147 TOHE 148 TONE 149 XEA 159 TOHE 151 TOHE 152 HEA 153 TOHE 154 TONE I55 RTH 156+LBL 15? H< >V l5a x{ iY 159 H< >Y 169 H< >i' 161 X< >? 162 H< iY 163 RTH
t+
,}
Unterprogramm als Zsitschleife.
Zufallsgensrator
Wichtige Statusinformationen: Speichergre= 01 0 FIX O cF 29 Flags: F0O gesetzt, wenn Antwort falsch
27
Notizen
28
Hexadezimal-D ezimalUmwandlung
Dieses Programm wandelt Zahlen zwischen Hexadezimal- und Dezimalsystemum. Es knnen gatrzzahlige Dezimalzahlen bis 1048575und ganzzahlige Hexadezimalzahlen bis zu FFFFF umgewandeltwerden.
Spoichargre:02 1
Nr.
1
Anweisung
Stellen Sie den Status ein und schalten iein den USER-Modus. S l n i t i a l i s i e r eS i e d e n R e c h n e r . n Um eine Dezimalzahlin eine Hexadezimalzahlumzuwandeln.tasten S i ed i e Z a h l e i n .
Wert
Funktion
Anzeige
ts tr
D
READY
il U m e i n e H e x a d e z i m a l z a hn e i n e D e z i m a l z a hu m z u w a n d e l nt,a s t e n l im ALPHA-lVodueir.. s SiedieZahl U m d i e Z a h l w i e d e ri n l h r e ursprnglicheForm umzuwandeln, drcken Sie einfach nochmal E. ANMERKUNG: D D s t e l l te i n eg a n z z a h l i g e e z i m a l z a h l k l e i n e ra l s 10 4 8 5 7 6 r 0d a r H stellt eine ganzzahligeHexadar dezimalzahlkleinerals lOOO0OOIo
tr
n
tr
H oder D
Anzeige READY 7B
Kommentrr: Programminitialisierung
E 123El
Beispiel 2:
123tr
Kernpunkt im Progranm
Dieses Programm verwendet die beiden bei Ziffem- und Zeicheneingabeaktiven Flags 22rumd23,um zu entscheiden,ob die eingegebeneZahl die Basis l0 (dezimal) oder 16 (hexadezimal) hat In der ersten Programmzeile wird F22 berprft, um festzustellen, ob Ziffern eingegeben wurden. Wenn dies der Fall war, wird Flag 23 gelscht, so da das Programm mit Schritt 6 fortsetzen kann. Wenn Flag 22 nicht gesetzt ist, wird Flag 23 geprft, wonach das Programm nach LBL 04 verzweigt,wenn Zeichen eingegebenwurden. Die Flags werden anschlieendso gesetzt,da eine automatischeRckumwandlung stattfinden kann.
Hexadezimal-Dezimal Umwandlung
E1 +LEL 1
B? FcJ?t 2? q3 cF E3 84 FS? 23 85 GTI] 84 E6 STO 13 E7 '<E gE Bg+ Bg+LEL E1 1S Ltr5TH 1I I5E 1E l2ELEL BE 131EE L4/ 15 INT 14*B-,-' l6 17 GTO r 1E CLtr 19 Ltr5TX zg+LeL 6= 21LE:c
Wenn Alpha-Eingabe, GTO Mark 04. Dezimal in codierte Hexa-Zahlumwandeln Schleife I Inkromentiere Zhler Pseudo-Markewird bersprungen.
5E X=Y-,' 5T GTO B5 gE. sE+LEL 5f, RCL I HI} 1S 55 GTO B? 5b Efrt.l 57 ISG IE g14 5e+LEL 59 GTO FE 6E.LEL B? 61 EriL I E 62 ECL 17 IHT 63 64 16+l; 6=+ 6. =T+ 19 6? rsG 17 68 GTiJ B5 69+LEL E8 7E 16 71 5TD 1E 7:1 73 =TD 17 748 75 5Tg I F?r. 1 Ee 7f 5T 2B 7E F.j't ?3 7'J f;Tt7 r19 BE ECL lE !31 H{i ?E 82 5T IE g9 A3+LBL 84 ECL 19 a5+LEL 1S Er. ECL 2g ,' 47 BE ETO 19 89 FEC 9E ECL EB + 9l 92 PCL 17 93+ ?4 5T+ lE 95 EtrL 1A 9E 5T+ li 97 E:CL 19 98 IHT 99 H*E-,,
Bis zu 5 Hexa-Zeichen zhlen. Routine zur Speicherung von Konstanten in den richtigen Rggistern und Vorbereitung zur Umwndlung.
Anfang Schleife 5
Hexa-Zahl zerlegen.
30
Hexadezimal-Dezimal Umwandlung
il
i
I
lr
ll
lBe GTO lS 181 X< l 16 tez cLs ls3 Fs?c 23 IS4 BEEP IS5 RTH 1E'6+LBL tr tB7 trF 22 lBE CF E3 tBg -8" 118 SSTO 111 -1' qsTo sl tle I13 -2114 trSTO Se I15 -3' 1 1 6 F T S T OE 3 117 -4" lla trsTo s4 1r9 -5" 1ee trsTo E5 -6" tet 1e2 RSTO E6 123 -7" 184 ffSTB E7 125 -8" 1e6 trSTO Be 1P7 "91?e RSTit S9 1?9 -A139 trST 19 131 -8" l3e trsTD 11 133 -C134 trST re 135 -Il" 136 trSTO 13 137 -E" 134 SSTO 14 139 -Fl4 trsTrl l5 141 "REFDY. t42 trSTtr !4
Schleife 10 wi6derholen
Initialisierungsroutine
Wichtige Statuslnformation Gre = 021 FIX O Flags: F22Zillerneingabe F23 ALPHA-Eingabe R12 = .C" Rl3=-D" R14=.E" Rl5 =.F' Rl6 = ALPHA Rl 7 = R1 8 = Rl 9 = R2O =
ziffernzhler Schleifonzhler. Basiskonstanto, Schlsifenzhler dszimalcodisrte Zahl wird hier aufgebaul Basiskonstante
31
Notizen
32
Finanztechnische erechnungen B
Mit diesem Programm wird Ihr HP4l C in einen leistungsfhigen Finanz-Rechner umgewandell Das hogramm berechnet die Variablen, die im Zusammenhang mit CashFlow-Problemen auftreten, die sich durch das untenstehende Diagramm darstellen lassen.
: Gegenwrtigeroder Barwert desKapitals,Hhe einesDarlehens,einerlnvestition usw. : Periodenzinssatz I : Anzahl der Zins- oder Zahlungsperioden N PMT : Ein- oder ausgezahlter Ratenbetrag, Annuitt : Endkapital, Endbetrag, Hhe der Ersparnisseusw. FV PV In der Abbildung wird der Cash-Flow einer Annuittentilgung eines Darlehns aus der Sicht des Kreditnehmers gezeigt.Vom Standpunkt des Geldgeberswerden PV als negativ und die Annuittenzahlungen als positiv angegeben Durch einen Vorzeichenwechsel der Variablen PV, PMT. und FV knnen eine Reihe unterschiedlicher Probleme des CashFlows bercksichtigtwerden. Untenstehend sind die Cash-Flow-Diagramme fr die vier grundlegenden, bei Zinseszinsrechnungen auftretenden Probleme zusammen mit der im Text verwendeten Terminologie angegeben.
t I
tl I +
Hypothsken Lsing Leasing mit Restwert gung Annuittentil von Darlehen Leasing mit Wiederverkaufsert Annuittsn Annuittentilgung von Darlshen
t
I
Brutto-Wachstum Sparkontn Abschreibungen
t
I
ttlt
Ratensparen Rentonversicherungen Annuitten
KaufmnnischeBerechnungen
33
Die fiinfTasten in deroberstenReihe( El bis E ) werden zurEingabe derfinanztechnischen Parameter verwendet.Wenn Sie drei der Parametereingegebenhaben und eine der zwei brigenTasten drcken, wird der entsprechendeWert berechnet; wenn Sie vier der Parameter eingegebenhaben, wird durch Drcken der letzten Taste der entsprechendeWert berechnet. Um den Wert einer der ftinf Variablen festzustellen,wird FeLl und die entsprechende Tastegedrckt Mit der Tastenfolgel E knnen alle in diesem hogramm verwendeten gelscht werden. Wenn die Register auf diese Weise gelscht werden, Speicherregister erscheint der Anzeige der Text N, I, PV, PMT, FV, um den Anwender auf die Funktion in dieserTastenaufmerksam zu machen. Literatur: Mehr ber Cash-Flow-Analyse kann in Grant, E.L. und Ireson, W.G., Principles of Engineering Economy, Fourth Ed. The Ronald hess Company, New York 1964 nachgelesen werden.
Speichergre: O'10
Nr.
Anweisung
Stellen Sie den Status ein, geben Sie das Programm ein und schaltenSie den Rechner in den User-Modus. LschenSie die im Programm bentigten Register. Geben Sie die bekannten Grenein: Anzahl der Perioden Periodenzinssatz Prozent in BaNert Ratenbetrag Endwert
Wert
Funlction
Anzeige
IE
N I PMT' FV"
N, I, PV, PMT, FV
tEt
N PV PMT FV
N=(N) | = (l)% PV = S(PV}PMT = S(PMT)' FV = S(FV)'
iri'
4
tr tr
E E @ E
LAI
BerechnenSis dis gesuchte Gre: Anzahl der Perioden Periodenzinssatz Baruert Ratenbetrag Endwert G e h e nS i e n a c h S c h r i t t 4 , u m eine beliebige Variable erneut zu berechnenoder gehen Sie nach Schritt 3. um eine oder alle Variablenzu ndern.
tr
Beispiel1: Ein Ehepaar erwirbt ein Haus, das $ 50,000kostet. Wie hoch sind die monatilichenZahlungen eines8,5%igen Darlehensvon $ 40,000ber einen Zeitraum von 30 Jahren weniger einemMonat? Tastenfolge: Anzeige:
I E 4oooo B
12 8.5 lEtriEF-al E E lEEE 3 s l E i l t E T1 2l! -i
Beispiel2:
40000,m o,71
PP11=$-3O7.75
Das Ehepaarvon Beispiel I verkauft sein Haus nach 18 Monaten fr $ 25,000.Zu welchem Jahreszinshtte dasEhepaar seine ursprnglichen S 10,000und die monatlichen Zahlungen von $ 307.75anlegen mssen, um nach 18 Monaten einen Endwert von $ 25,000zu erhalten?
Monatszinssatz Jahreszinssatz
In diesem hogramm wird eine Technik der ,,austauschbaren Lsung" verwendel Jede der fiinf Variablen in der Gleichung kann als Ausdruck der anderen vier Variablen angegeben werden. Die ftinf Tasten in der obersten Reihe werden sowohl zur Abspeicherung der Eingabedatenals auch zur Berechnung der Ergebnissemittels folgender Programmstruktur verwendet Marke f Eine der Marken A-J oder a-e Die Variable wird im Register r gespeichert
STOr
STOr
RTN
Dieser Baustein kann beliebig oft, je nach Anzahl der Variablen, wiederholt werden.
l l
Berechnungen Kaufmnnische
35
tl F I +L6L E2 STrl B I ee E3 Fs"C g4 ETt-{ g5 ECL E4 E6 EEL E9 87i 6A STC| E6 S9 ECL E5 1E 11 ETL E3 12 RTL EB 13 + 14 .' 15 LH 16 ECL B!' 17 Ll'l 1+!i lE J r9 STlr E1 3E "H=" 31 trRt:L I: ?Z trV I Eld 23 ETH E E4+LBL 25 STO EE E61EE ?7/ 2A 5TB E" ?al 38+ 31 5TO E7 32 RtlL Ee 33 FS?C E2 34 RTN 35 RCL E4 3, H*g? 37 GTO 6l 3A EL]L E3 39 RCL E= 4g/ 4I CHE 4a ef,L El 43 1.rl'i 44 1'tH 45 I 4647 STO E9 48 GTB EE E1 49+LEL 59 RCL E5
N sDsichern Anhalten, wenn es sich um nue Daten handolt. Andernfalls neu6 N errecnnen.
g4 sl Bf,
B4 S1 95
Neues N anzsigen.
I E-9 7e 73+ ?4 STO ES EF75+LEL tae liEG 76 ?7 ECL E4 78$ ?9 ECL E3 8E+ RCL g5 EI S2 RCL BE
Anfang Schleif6.
Anhalten, wenn es sich u1n neue Daten handelt. Andernlalls, wenn PMT = O, neues I durch einfacho Formel berechnan.
s3*
4+ 5 A6 E7r EE F9+ 96 9l 9E 93?4 9= 3f1 97 9A 99 t69 IBl
REL EI]L ECL ST'] 1 RCL ECL .. EDL RtrL .' * RCL
B BF ET E' Eg E9
64 E3
E=
36
Kaufmnnische Berechnungen
183 RTJL EE. * 1l'3 1L14 1El= .. I Err, 5TLlg 11? F{E= 16,-q 1E-? 189 14.l Y l 1 1S GTrl Eh 111 Rf,L !39 I I ?+LFL EEl 11f, I E= + lt4 115 5T B: "I=" 11 trRCL H I17 " I 1E " F-'-: 119 tlV!EH 1=E RTt'l rl 1? 1+LEL ST]-_! Ef, 1E 12f, FS'?rl c3 PTH I?4 ECL F:i4 1:5 HEE! EE I2E 1=7 + Rr_L E5 138 139 ECL S 1=g + 1f,1 + 1=a cH= 13f, STfi Ff, " 1-34 " F!r'=-:F ffECL .q 1=5 trVrEH 1f6 1=? ETF{ Il 1=9+LEL .sTr_.] r-14 f 39 F5?rl !l 148 RTt{ r41 14= XEB EE 1.r:-': 14f, 144 RCL S= 145 RCL B= 14F- RCL BB 1.1; + 14S + + l+9 cH.F tSrl E4 151 5T0 "Ft4T=:F" t52 1=f, trECL :<
W e n n I n i c h t k l e i ni s t , Schleife wiederholen.
Neues I anzeigen.
PV speichern. Anhalten wenn es sich um neue Daten handelt Andernfalls neuen PV berechnen.
F t VI E U 154 155 RTt{ 15F-+LEL E STL-l E5 157 3= 154 FSlt RTFI I59 1F.,8 HEI:J BF-] I .I Er,-L B4 1r.E + RLIL !1f, 16;l 1F-.4 + 1E 5 F:DL L]B IEF.: 1.7 CH5 E5 tr.a sTD l .9 " F$=$ " T7 E t r F J C L } i tr!rIEH Iir 1i2 ETr.l !lF_: t ?-3+LEL 1 Li 4 i:E!=l t:rg t-5 r : r1 t ?b EcL tt? cH= l79 iEri !81 5f r-r FJE Rf,L E9
FV speichern. Anhalten wenn es sich um neue Daten handelt. Andernfalls neuen FV Derecnnen.
t. #/
i/100
\"
.+. 1
Neuen PV anzeigen.
. cli
GE
+
CT - r r :=
PMT speichern. Anhalten,wennes sich um neue Daten handelt. Andernfalls neuen PMT berechnen.
g9 F.:Tt'.i 9B+LEL,3 ! 1 L-:L!-: 92 STrl E 1 93 *cTA SE FJf, 94 STI] rl4 35 5T aiTar EE 9b 37 sTtr 99 9F-:-l'l ,LF , Ft'tT, F " " F'r"' s9 EB trV I EI.I E1 ETf.I
37
Notizen
38
l{ullstellenb estimmung
Dieses Programm ermittelt die Werte einer unabhngigen Variablen x, fr die eine Funktion dieser Variablen gleich Null ist. Diese Werte werden als Nullstellen dieser Funktion bezeichnet.So wird beispielsweise die Gleichung fr
f(x) :2x - 6
x : 3 als Nullstelle bezeichnet.weil f(3):2x3-6:0 isL Es gibt eine ganzeReihe von Verfahren, mit der die Nullstellen einer Funktion errechnet werden knnen. Diese Algorithmen bentigen im allgemeinen einen Anfangswert f,rdie Nullstelle als Ausgangspunkt fiir die Iteration. Das iterative Lsungsverfahrenbestimmt dann laufend bessereFunktionswerte, bis eine ausreichendgenaue Lsung erreicht ist. Einige Algorithmen konvergierennicht gegen eine Lsung, so da die Iteration nicht abbricht. Wieder andere gewhrleisten zwar eine Lsung, konvergieren aber nur sehr langsam. Der in diesem hogramm verwendete Algorithmus ermittelt in jedem Fall die Nullstelle einer Funktion, wenn die Anfangswerte beiderseits einer ungeraden Anzahl von Nullstellen vorgegeben werden Wenn diese Anfangswerte nicht richtig beiderseits einer Nul1stelle liegen, mssen neue Werte gewhlt werden. Der Anwender mu also einiges ber seine Funktion wissen, bevor er dieses Programm anwendet, wenn er Gewhr haben wi1l, da die Iteration schnell ist und gegen eine Nullstelle konvergierL Vor der Ausfhrung des Programms mssen Sie die Funktion programmieren, deren Nullstelle Sie bestimmen wollen. Dies geschieht, indem Sie EEI g E drcken und dann die Funllion eintasten Mit der Tastenfolge Etrdl ROOT starten Sie dann das hograrnm. Die erforderlichen Eingaben bestehen aus der von Ihnen verwendeten Funktionsbezeichnung und den beiden Anfangswerten. Wenn beide Anfangswerte Funktionswerte auf derselbenSeiteder x-Achse zurFolge haben, erscheintkurz die Meldung,,Fl*1i2)", und die Eingabe Ir die Anfangswerte mu wiederholt werden. Das Programm selber bentigt die Register01 bis 07, so da Register00 und alle von Register 07 aufurts verfgbarenRegisterbei der Programmierung der Funktion verwendet werden knnen. Das mit Text verseheneErgebnis wird angezeigt wenn der Wert der Funktion 10-10unterschrittenhat. BeimEintasten desProgrammskann einfachein anderer Wert eingegebenwerden, um die Rechengenauigkeit erhhen. zu
Literatur: Der hier verwendeteIllinois-Algorithmus ist in M. Dowell & P. Jarratt,,A modihed regula falsi method for computing the root of an equation" BIT 1l (1971)S. 168-lT4beschrieben Ein hnlicher Algorithmus, der etwas schneller konvergiert, stammt von denselben Auoren M. Dowell & P. Jarrat ,,The Pegasasmethod for computing the root of an equation" BIT 12 (1972),S. 503-508.
Nullstellenbestimmung 39
Speicheryro: 008
Itlr.
I
Anweisung
StollenSi6 dsn Status ein und gsben Sie das Programm oin. Taston Sie lhre Funktion ein.. Verwondeo Sie daboi sinen globalen Namen (d.h. nicht A-J, a-e oder 00-99). Starten Sis das Programm, Geber Sie die Bezoichnung lhrsr FunKion ein. Geben Sie den ersten Anfangswert einGeben Sie den zwsiten Anfangswert ein. Entwodsr zeigt der Rechner ietzt 6ine Lsung an oder das Programm k6hrt nach Schritt 5 zurck.
Wert
Funktion
Anzeige
2 3 4 5 6
lxEl p9g1
llame
x1 x2
@0 @1 @I
Ermitteln SieeinenWertx,so dieGleichungR(xl: f -Ol + ilx- l:0erflltist Be da eine achtenSie,da Skizze GraphenaufeineNullstellezwischen0und des lschlieenlt
Trstenfolge Anzeige
r cr('|EErffil
| fmlfiffil RlEn fffii]tffi;l 6EE fffil psollffil
r 11E lE J 1 B I R T N I
xaugr iu.ncnoN
eUeSSl=f GES$2-? X = 0.@58
Rrf'sl
0fnl 1lF-l
{3& .-r 13 )c
{51 (!i 'Sl
.3 15'
U f.l
-.r .5, n
n r.-. .-.{
'5r ,5.
U:' ,:u
.51 rJ
( l r'-.
':t ,;c.
a *.J I.t'
r:i' lJ:' f{
:l {1 rt
,;fi
"d
,:r,.1 Ir:'
Beispiel2: Sie tlie Nullstelle der Gleichung W(x) : sin(x - 3) - cos (2x + 60) , die
40
Nullstellenbestimmung
Anzeige
Tastenfolge
r
f
lcidElElPRGt{
tLBLll aLPtAlyyayglffi]
Kernpunkt im Programm Das Programm verlangt vom Anwender die Bezeichnung der programmierten Funktion. Diese Bezeichnungwird gespeichertund die Funktion jedesmal indirekt ausgefhrt,wenn sie im Programm bentigt wird. Beachten Sie, da die AON-Funktion vor dem PROMPT ausgefiihrt wird, so da der HP41C im ALPHA-Modus anhlt. Die AOFF-Funktion mu allerdings vor dem nchstenPROMPT ausgefilhrt werden, da sonst der ALPHA-Modus weiter wirksam bleibt. Mit den AON- und AOFF-Funktionen kann derModus, in dem der Rechner anhlt, leicht gesteuertwerden, um den Anwender noch einmal an die Art der erforderlichenEingaben zu erinnem und ALPHA-Eingaben zu erleichtern. Wenn die Funktionsbezeichnung im Register 3 gespeichert ist, kann das Programm die Funfttion jedesmal mit XEQ IND 03 ausfhren. So mu bei der Anwendung des hograrnms auf mefuere Funktionen nicht etwa die ganze Funktion gendert, sondem nur die entsprechende Funktionsbezeichnung eingegebenwerden.
Textausgabe, der Rechner hlt im ALPHAModusan. Die Funktionsbezeichnung in Register wird 3 gespeichert. Schaltet den ALPHA-Modus aus. Fhrt das hogxamm, dessenBezeichnung im R 3 steht. aus.
Nullstellenbestimmung 41
" FL-lr. E1+LEL T" tJE ..Fr_rl.jrlTI-! H Httt'lE 1" E3 trr-l B4 FRFiFT BE trOFF g' trsTr-r !:13 B?+LEL F E E " G U E . ! - =1 = ?" E5 FRI'IFT lE =Tr:t 1 I I " GtJE55E= 1E FRTIIIF'T rf, -jT S= 14 Er::L Al 15 5T E+ 1E HEA IHtr Ef, 17 STi_r B5 IE Ef,L B= 19 gTt:r Et4 EO F:EI.],INE 83 = I 5Ti--i EF_. E EtrL T35 ==+ E4 |i,iEf E5 GT! 85 26+LEL T]B E7 RCL EE EE ECL EE E9 EI]L F I 3831 ECL EFEe RrtL !15 34r 35 36+ 37=A =9 Bf, 4E 41 4: .13 4.+ I E- 1E 45 H iY'-,, 4E GTCI E4 47 ECL }]? 4g ECL EiE 4:r + 5E ri,:E! 51 GTO E1 5= ECL E= 5= ETB El 54 Rf,L EE 55 9TB E= 5+LFL ET 57 RtrL E.I 5= STrl Ere 59 Rf,L EI; ET] ETO E bl ETE EB 63+LEL E l1 6=E E+ 5T./ E5 E5 GTI] E: 6I,+LEL F.{ "H=" b; bE trECL E4 bS PEI.1FT il+LEL F5 " F 1+F=::g l1 ?? 73 F4 trV I El.J PSE GT!] tr Grenzwert l W e n n l f ( x )< 1 E - l O , dann fertig.
Anfangswerte speichern.
PLIL
!:1E
STtr HEE
E4 IHII
Neus x.
42
Kurvenanpassung
DiesesProgrammermglichtdie Anpassrrng folgenderKurven an vorgegebene Wertepaare y), i = 1,2 ..., n: (x;, (ineareRegression): : a + bx. y L Gerade y 2. Exponentialfunktion: : aeo*(a ) 0), y 3. Logarithmusfunktion:= a * b ln x, y 4. Potenzfunktion: = axo1a> 0;. Die Regressionskoeffuientenund b werdendurch die Lsungdesfolgendenquivalena ten linearenGleichungssystems ermittelt:
Regression
B b b b b
xr
X1 X1
Y1 Yt loyt Yt lnyt
lnxt lnxl
A I Y ,+ b >xr Y r - I
R2:
ty
tr(Yt')- I
(trY')'
Lineare Regression
Elgonentia |-Kurvenanpassung
Amcrkungen: 1.In hogrammwird die Methodeder kleinstenQuadrate entweder dieursprnglichen auf (Gerade Logarithmusfunktion) Gleichungen und oderaufdiefansformiertenGleichun, gen(Exponential- Potenzfunktion)angewandt. und 2.Fr negative Wertevon x1oder fiir x1 = 0 erfolgtim Fall der logarithmischen Kurvenanpassung Fehlermeldung. eine Das gleichegilt fr n bei der Exponential-Kurvenanpassung. der Verwendungeiner PotenzfunktionEssensowotrlalle x1als auchn Bei positivund von Null verschieden sein. 3.Wenndie Dilferenz zwischenx- und/oder y-Wertenklein wird, nimmt die GenauigkeitderRegressionskoeffuienten ab.
Stdlon Sio d.tri Status ein und gobsn Sig das Programm ein. Initialisiren das Programm Sie fr 6ino LINEAREREGRESSION odr EXPONENTI,qL-KURVENANPASSUNG oder LOGARIrHMISCHE KURVENANPASSUNG odeTANPASSUNGEINER POTENZFUNKTION. Widerfi olen Sis Schritte 3 und 4 f. i = 1 , 2 , . . .n Eingab6:xi Eingab6: yi Wenn lhnen boi der Eingab sin Fohler untdaufsn ist, korigieren Sie ihn durch BerechnenSie R2 und die Rogrssiomkooffizinton d und b
rffii]
E
lffiTl @
(i)
E
liEl @)
Kurvenanpassung
Speichergre: Ol 6
Nr
6
Anweisung
BerechnenSie einenSchtzwert y zu einem gegebenenx-Wert W i e d e r h o l e n i e S c h r i t t6 f r S verschiedenex-Werte
Wert
x
Funktion
Anzeige
Y.=(9)
lmt
Wiederholen Sie Schritt 4 fr eine erneuteAusgabe der Ergebnisse W e n n S i e d a s P r o g r a m ma u f e i n e andere Datenmengeanwenden w o l l e n ,i n i t i a l i s i e r eS i e e s n mitund gehen Sie dann nach Schritt 3 Wenn Sie ein anderesProgramm ausfhren wollen, gehen Sie nach Schritt 2.
5E
10
Beispiel1: Fhren Sie eine lineare RegressionIiir folgende Koordinatenpaaredurch und berechnen SieQfiirx:37undx:35.
Anzeige: LIN
+o.s lEftEE-il 104.b El ge.o lEtrtEFTl 102El 100El 37.5 ENTEFTI 36:.2 IENiEFTI e7.5El gS.Z lEtrrenrl 95.5El 35.2 lEffitr-al 95.5El 95.5 35.1 IENTEFTI E g+.0 lENrERal 4 8 9
r.oo
2.OO 3.O0 4.OO 5.OO 4.OO 5.OO 6.OO R2 = O.99 a = 33.53 b = 1.76 Y. = 98.65 Y.:95.13
tr
tils-l tFt 37 tml 35 lR/sl
Tastenfolge: 116lt-riffi] gaP l-tPxal .72 lEiliEF+l 2 . 1 6 E t.gt lEFnTl 1 . 6 1 E 1.95lEffihTl 1 . 1 6 E 2.59lEffiEhTl.85E 3.15tEffihTl .05El g.t StEffiEl-il .05@ 3.14lEffiFR-il El 0.5
Anzeige: EXP 1.00 2.@ 3.OO 4,0O , 5.00 4.(Xl 5.OO R2 = O.98 a = 3.45 b.= -O.58 Y. = 1.44 Y.= 1.08
tr
@
E
1.5t-G-l
2.0mt
Beispiel 3:
Legen eine Logarithmusfunktiondurch folgendeKoordinatenpaare berechnen Sie und Sie fiir x : 8 und x = 14,5. f
Tastenfolge:
Anzeige: LOG 1.OO 2.OO 3.@ 4.00 5.00 4.OO 5.OO R2 = 0.98 a= -47.02 b = 41.39 Y.;39.06 Y. = 63,67
ITiFT-l LOGl-r-Hl E@] 3 IEffiEETIl.5 E 4 tEffiEhTts.3 El 6 lEffihTl2346 19lEffiEFTl 45.8 E 12Em+l 6.01E 12tEffiErTt6.01@ 12lEFEhTl60.1 E
tr
E
8@ 14.5m]
46
Kurvenanpassung
Ileispiel4: Legen Sie eine Potenzfunktion durch folgende Koordinatenpaare und berechnen Sie 9liirx:18undx:23.
Tastenfolge: trEoltLpHl POW fAr-PHAI 10 EMFTI 0.95E E 12 lEifrEhTl 1 . 0 5 15 tEffiEE-.] 1 . 2 5 E 17[@ 1.41 E IEFEhTI 1.73 20 El 22 lEffihTl 2.OO El 25 IEN-iFF-al 2.53E 27 lEffi-EI-al 2.e8E 30 EmERal 3.85E 32 lEiliEr-il 4.5eE 35 tFr,nen'd 60.21l 35 IENtrhTI 60.2Gl 35 EmhTl 6.02E
Anzeige: POW LOO 2.OO 3.OO 4.OO 5.OO 6.00 7.OO 8.00 9.(X)
Fehlerkorrektur.
tr
ml
E] 18 lx/s-l 23 E6r
Kernpunktim hogramm DiesesI'rogramm verwendetftir die meistenauszufhrenden Berechnungen einen nur einzigen Code.Da die Dateneingabe jede der vier Typender Kurvenanpassung liir unterschiedlicher ist, solltemanmeinen,dafr jedenKurventypein besonderes Art Programm erforderlich wre. Dieswird umgangen, indemdievorbereitenden Programme LIN, LOG, E)(P und POW einen Code in Register00 speichern. Wenn dann die AnweisungXEQ IND 00in Zeile 32ausgefiihrtwird,werden Eingabedaten die entsprechend derin Register Funktionsbezeichnung vier unterschiedliche 00 gespeicherten auf Weisenverarbeitet
Kurvenanpassung 47
E1+LE!"LIH 45+LEL 4. EtrL 47 FiCL 46 Ei:L 4'f E|]L 5E HEG 51 STtt 5? EL 53 ECL 54 F.:trL 5g FL-L 56 HEe 57 EL-L 5E .J 59 ST'l 66 tiEft BS EI 5TO 6e Er_:L 63 Rr_:L 64 FiCL 65 F.:CL 6. )iEG 67 ECL 6Ej 69 .iT 78+LEL Fl ECL iE EL ?3+ ?4 E':L P5 ECL + i. F7+ ?B F:CL
?q !i.t _/
Gerade.
EI..EHF., Bg GTa-r 1r..89+LEL..LOG lE 7 "LG" l1 13 GT 1f, "Prlt'.1 l3+LEL 14 S 15 " Frli.l " 16+LEL 13 1 7 H E E . .I H i rE r9 3E = 1 =E 5T BF FSTE EE SREG lE rlLE EEEF
Exponential.
A,bunda,b berechnen.
Logarithmisch
,.
Potenz.
3= trVrEH
E.1 STDF =5+LEL :r. !1i l"i 3i HE r.t E1l =E E29 STrlF 3E+LEL 31 H-i i'i f,E HEE EB f,3 E+ f,4 sTtrF f,S+LEL 3E Ll.{ =T RTH f,E+LEL ='J L]-{ 40+LEL 41 F:-l :"i 4? LH 43 l{.1 iT 44 ETt'l C I HII
R I I.ID
Dateneingabe.
12 15 E9 1= B3
87
Logarithmisch-
gB F.:CL 81 -. ge STit Ef,_ 84 EriL g5 F:trL EE_ .' Ei " F-:= " Be 83 HETI 98 ECL "s" 31 92 T.:E 93 ETL -h94
EE EE BE B5
R 0 5 =b R06: a
R07 = vemendet R08 = LINoder EXPoder LOGodsr POW R09 = (>,y)2/n
48
Kurvenanpassung
!5 GTir -Je,+LEL -J;+LEL '_l= Et.'.i 9:J+LEL .FJE+LEL .81 ETF] B=+LEL Ef,+ E4:lT E5 EIrt-l EE. + rtF CL r:1 1 rl,:_, r:1L1 EI5 f1; E3 Er Bestimmtheitsma 15f, 1=4 155 =F .7 [F 3:f F_:TH InverseTransformation 145+LEL a rlTr:r I l-lfl 14E gL= " rt{I 14i+LEL T" 14El r:LF.:G r:l 1 4 '-f f: F r:1 15r:1 CF rl 1 1= 1 CF Er= Neu initialisieren
Initialisierung
t];
:r grrri
I EI+LEL ET:1 11 "T..' 1:+LEL E 1 1f, "F:" 14 rlF.:a:L :'i l= tlirIEl.l r r. Fs? 55 l7 ajTrtF i1+ 1E+LEL 13 GT I T-]II trl 38+LEL L]E r35 e 1 Ef:L == GT i4+LEL :5 ECL EE+ =8+LEL 2:{ EI]L =El + f, 1 ETII f,?+LEL ET9 Ftr E= 12 berechnq. Wichtige Statuslnformation: Speichergre: 016 Ftx2
E:J FFBE E-
=4+LEL E5 f,5 ECL E= =E+ =i F.:CL EF== + f,:r GTr_r E!:r 4L]+LEL 8E "F=" 4l 4= trt?r:L :{ 4f, trV I Etd 44 ETl.t
49
Notizen
50
Vektor-Operationen
Mit diesem Programm kanndie Addition,subtraktion, Multiplikationund Divisionvon vekorendurchgefiihrtwerden.Die vektoren mssen folgt im stackangeordnet wie sein, bevor eineder Routinenausgelhrt werdenkann
Ursprngliche Stackanordnung Tvr Zut Yvz Xuz Die sich ergebendeAnzeige U:u,V:v
Spichoryre: OOO
Nr.
1
Anweisung
Geben Sie das Programm ein und ordnen Sie die Routinen folgenden (oder vier anderen) Tasten zu -
Wert
Funktion
Anzeige
CMULTIXJ
cDrv l+l
2a
Speichern Sie die Eingabewerte in die Rechenregister-Stapel lmaginrteil des eten Vektors R6alteil des ersten Vektors lmaginrteil des zweiten Vektors Rsalteil des zweiten Vektors Whlen Sie die gewnschte Funktion Vektoraddition Vsktorsubraktion Vektormultiplikation Vektordivision Wenn das Ergebnisals Tsil einer weiteren Berechnungvemendet werden soll, ist es nicht ntig, das Ergebniswieder einzugeben. FahranSie einfach mit der Vektoreingabe in Schritt 2b fort-
tEitrEhTl
ul
IENTER+I
2b
a
IEFtET-'
U2
Vektor-Operationen
Beispiel 1 Summieren I + i3 und4 + i6, Sie Tr$enfolge: I lTill 2 Anzeige: Whlen Sie ein passendes Anzeigeformat
51
U = 5.O0,V:9.OO
Anzeige:
2 tEffiEE+] IEffiEF-fl 3 2 lEilrEiTl 3 116l mifr_l CMULT ErpH-Fl lEffii+l 1 lXEo-l ITreml 6999 tlipHl
AddierenSiel+j0.
U = 5.00;V= 12.0O
: 'l' '
U-6,{X},V=12.0O
,._K
vielenProblemen wird zur Ausfiihrung einer gewnschten Funktion nur eine Datenbenfu!. Da Vektoren aberaus zwei Teilen bestehen, mu der Anwenderzwei Dateneingaben vomehmen,bevor er eine Berechnungdurchfhrenkann Durch eine wohlberlegte Verwendungdes Stacksbeim Eingebenvon Daten knnen viele Prograrnme wesentlich verkrztwerden. Hierwird gezeigl, knappein hogramm seinkann,wenn der Anwendermit den Einwie gabedaten vorsichtigumgehenmu.
sie, da die vier Routinen als Unterprogramme in Programmen verwendet
m. sich drfe auchals prattisch erweisen, vier Routinen den Tasten El , E. tr die so El zuzuordnen, dadie Funktionenim USER-Modus direktausgefhrtwerden
52
Vektor-Operationen
alirLEL
" t l = i _ : Subtrahieren.
Vozeichen d6 zweiten Vektors ndern und addieren. Addieren.
Ea F.:Itt.i rj1+ + r:1--i FtIrti lEl + 1 i F.:.t 'U'""' 1: CTll . . C I ri 1=+LEL i + F.:-F
Dividieren.
1= r:Tr-_t Eg " [:f.li_l 1:r+LEL LT.' :EI F,:_F r:1rl 3:+LEL :f, Frrrt{ =4 F,:Irl-.1 :F_. F.:'t 3i+ ?a+ f,t:1 F-:l
.Jt F-ts:
3:+LEL
Anzeigeroutine.
=i trirr:'r
ll5 "F, r'=" =F_. rlFlai-'i' .li |]1.rI El.J .]E F.'TH Wichtige Statuslnformation: Speichergre= OOO
53
Notizen
54
Blackjack
Elackjack
Mit diesemProgrammkann eine vereinfachte Versionvon ,BlackjacK'(Vingt-et-un "17und4")gespieltwerden. DerRechner, alsBan( hatl04Karten, er(ohneEmeuerung) die austeiltbiser nur noch13Kartenhat.Dannwirddas Kartenspiel gemischt. Spieler neu Der darfdenEinsatz beliebiger in Hhewhlen. Wenner keinenEinsatz angibt, wird dervorherige Wertin denBerechnungen verwendet. Der Spielerund die Bank erhaltenbeide zwei Karten, wobei eine Karte der Bank aufgedeckt kanndannentweder wird.Der Spieler weitere Kartenziehen oderpassen. Ziel Das desSpiels es,einenGesamtwert 2l abernichtdarber erreichen. Bildkarten ist von zu Die zhlenjeweils 10,AsseI oder 11Punkteund die restlichenKarten habenihren Nennwert Wenndie ersten zweiKartendesSpielers ergeben, er.Blackjack"und er erhltsofort 21 hat dasanderhalbfache seines Einsatzes, wenn die Bank nicht auch Blackjackhat Wenn der SpielereineKartezieht,die seinePunktezahl ber2l erhht,ist er banlrott und verliert seinenEinsate. Wenn der Spielerbei einer Punktezatrl von 21oder wenigerpat, grerals 16ist. mu die Bank so lange Karten ziehen, bisihre Punktezahlwenigstens DasBlattmit dergreren Punktezahl danngewonnen hat und die Kasse Spielers wird des auf denneuesten Standgebracht. Wenn Bankund Spielerdieselbe Trellerzahlhaben,gilt dasSpielalsunentschieden. Fr diesesProgrammmu der IIP4lC mit einem zusElichenSpeichermodul ausg+ stattetsein.
:i
I
i I
Blackjack
Geben Sie das Programm ein, aiberprtenSie den Status und ordnen Sie DL, HT und S drei beliebigen Tasten zu. Ein Startwert (0 < Startwert (1 ) kann in R@eingegeben wsrden. GebsnSi den Stand ihrer Kasse etn.
J
lffilzr lx6lsH
DL SHUFFLING I SHOW c' YOUHAVE1 YOUHAVE1 2I YOUHAVEKarten
5a t: '5b
HT
\,/
PassonSie. Die Bank;ifiiotzt Blatt und zieht dann woitsro Kartsn oder pat. WiederholenSie nach Wunsch Schritt 4 und folgende Schritto
ihr
I HAVEKarten
' Anmerkung: wsnn Sia in Schritt 4 Blackjack haben, erschsint BLACKJACK in dor Anzeig6 und [S(TAND]l (Pas$) wird automatisch ausgefhrt. c ist oine belibigs Karto, Karten bezisht sich auf eine Folge von Karten - die Bezeichnungen d6r Karten sind aneinander geksttet so da eins 1 O und oine als 1O7 angezeigt wrden.
foflischen das Kartenspiel,geben sie n als Startwertein und spielensie Blackjack sie von 52. mit einemEinsatz
Anzeige:
DL l,rFml [t'l HT l-riE-l l-1zl fft S l-'-FF-l Es wird nur FRC (n) verwendeL Anmerkung: Dl-Funktion Die wurdeder Taste l-fTl zugeordnet Bedenken dasichder Sie, Rechnerim USER-Modus behnden mu.damitSienicht>+ erbalten.
5P tetFFl
156121
E@
DL
oo
56
Blackjack
rsHow2
YOUHAVE107 I HAVE 2J I HAVE2JK Anmerkung: wurde Die S-FunKion der Taste lFlzugeordneL
BUST YOURBANKTS $2 DL HT HT S
tsHow6
YOU HAVEA5 YOUHAVEA5T YOU HAVE4575 I HAVE6K I HAVE6K8 BUST YOURBANK IS $4
Kernpunkt im Programm Sie knnen die 11Register,die nach dem Eingeben des Programms noch zur Verfiigung stehen,zur ProgrammierungeinfacherStrategien dasSpielenvon Blackjackverwenden. fiir Die unten aufgefhrte Routine berprft die im Programm verwendeten Register und Flags um zu entscheiden,ob weitere Karten gezogenwerden sollen oder Passenrichtiger wie. Wenn das Programm verliert, verdoppelt esjedesmal seinen Einsatz und gewinnt somit schlielich. Indem Sie weitere Speichermodule an ihren HP41C anschlieen, knnen Sie komplizierte Strategienentwickeln. Beachten Sie, da Sie liir dieses Programm die Speicherregisterzahlauf 28 erhhen mssen.
..PL,. i] 1 +LEL 1i : rl3 =F :: E14+LEL E1= E5 :{Er_r " IrL " BE+LEL ETL] Ei F-:t::L i4 EFJ 1. E9 EHTEFIT
neuer Einstz
rE
I I 13 14
15 I b lf
IE
F='t E!? = H.:. Y?
GTn F[-,, GT El Etg Ef
:=:iE 3 RCL 'J4 e.L.L 25 5TO E6'27 Ni-.:.FJ'.. EE tlT'-l 3:{ H=tl? 3 E E T ' : I B-Z 31 E 32 ET+ f,3 GT ; = f,4 El-{r'
Letzten Kassenstand retten Wenn Spiel gewonnen, neuen Einsatzeingeben. Wenn unentschieden, letzten Einsatz veruenden. Wenn Spiel verloren Einsatz verdoppeln.
Blackjack
57
SI+LEL
"CEEI
Zuf al lszahlengenerator
le sTo e6
13 RCL 14* 15 IHT 16 I ll+ 1F+LEL 1q RcL 15 \..-----' ?s $:?T 21 GTO 2214
47 FTRCL T 4S GTO 61 49+LBL EE 5E STrl 1E 51 CLX =e 1B 53 H=Y? 54 GTO "19' s5 I 56+ 57 H=Y-., 5E GTO J 531 6E+ 61 H=T-j 6Z GTD .'g '' E3 -F:" 64 GTD 81 65+LEL H "C66 E7 CF F? E GTS El 9+LEL.G" "r-1" 7g GTO 1 ;1 "E + L E L J 73 ".J 74 GTO g1 .18, 75+LEL ?6 "1ggl 17+LEL ?8 trsTE I? F9 RCL 16 SB ETN BI+LEL.5H. ." B? SHUFFL 1 HG. e3 RVIEH E4 1.813 E5 EHTEEf -q6 s g7+LEL l4 Bg gTO INE E9 9S 91 ?2 I5G GTO lE4 STO '/ t4 14
a3 rsG 15 99 ?4+LEL E5 GTO EZ E3 E6+LBL I NE ?7 I'SE l5 ?9 A8+LEL 29 DSE 14 3g 12 .31 RCL l4 32 H>Y? f,3 GT 84 -5H" 34 HE E4 35+LBL 36 ECL l5 37 5TO 16 3e 1E r-9 :'i{ =Y-i 46 GTE E6 41 I'i<.:Y 16 4e sT 43 1 44 H=T? 45 I]TD R 46 cLrl
Karto spichern.
F3 trLtr
58
Blackjack
t::F LIE CF Lf 1 =8. f,F EiE i-lF i:1= !F rtF B.i 9E 99 F.:Tt'{ " IrL " 113B+LEL |]F E= 181 1r_r= 5F El; 1rlf, tf E= i:r4 I t'{T 1 1El= Fg?C == == I B. =T8 I r:ri E-_:L = = 1Br_l STar =r:l rlE l rlF =F 1 1E l:Ltl 111 rfSTD =E 34 -J5 1 1= 1 1.+ 1 l r, 1 1i 1 1F_l I 1:r f i!:r 1= 1 1 ?= 1E3 1=+ itEr=l " cEn F:rlL itEi_l 1= " rlEIl
a i
F =
r J t
Blackjack.Kein As.
L.l3 + L.lE I1 r.1 I :,-,:*T ,, i.l: aiF Er:r F:i? Er9 i4f, i.l4 F.:Tt.{ t4f. =Ttt E.1 i'+; 1 - 5 i.+lr ':T+ Erl ..ELtri::}j:_lrl | 4:{ :: l.-." | 51 lfri I El.l "E" t51+LEL | 52 [F ErF_. r:ri | 5= F5l ErE | 5.1 ilT!:r t55 11 Frr::L =4 t 5E 1:1= l5E GT t 5= 1r:1 I F_.!l r_lT+ =4 I:15 L , 1 + L E L t F-= r_:F l:r i Ertr I F,f F5? l ,4 =_;F r:ri L8 . 5 F J I L I ; L :lTlr 15 L F-t ..iEQ Ll.1 tEE HE_l "nH' r:1; | 5-J F5? tTB GTI] Ei t;= t if, I74 FiiL if -,, :{* Y GT E7
llTir == CF EiE F:l? Eli :_;F !:rE 'lLrl rf F.:rlL 19 trEDL == tr5T :5
Verdeckte Karte der ' B a n kh o l e n . Blatt der Bank anzeigen Wenn kein As nach LBL 07 verzweigen.
=4 "CF:Il
Ete Karte des Spielers geben. Zweite Karte des Spielers geoen.
HEr=I " PH " " CF.:I' :iEA HEE! " FH " EcL =4 11:1
L7E 5T =] ..I L7; HqI.JE lLtrf,tiJlfr_: " I7-J lf? I EI,] IEE GTT-I E? LSl+LEL E
= = = = =
Zhler Wert derdgenbli;Kichen Karte Verdockte Karte der Bank nicht vemendet Augenblickliche Karte im ALPHA-Format
Blackjack
59
82
XEQ
"CEtl "EH" gi gb
e7
ECL 24
Bankrott berprfen.
s3 HEA 84+LBL 85 Fai? 86 GT 69 a7 FC? BS 88 GTD A A9 RCL 23 9q 17 9 1 H - .= Y ? 92 riTO EA E7 93 F5? 94 GTD BE 95 11 '-1f. EtL 3f, 97 R ?'12 98 ETi:r Et 'J? 7 Eg HiT? B I GTrl .Sf. EZ t4 Ef, 5T+ =f, E.++LEL EE
q :ll =
Zieht die Bank oder nicht? Wenn Spieler bankrott, dann abrechnen.Hat der Spieler Blackjack,dann Black,ack setzen.Hat die Bank mehr als 17 dann abrechnen. Wenn kein As. dann ziehen.
eeg H>Y? 238 RTN e31 "EUST" e3z Rv I E1..t 83f, GT B5 . .I r B . . e34+LBL "BU5T " r35 Z3t1 llV I Etl ?37 E a3E ETr-t 8 3 9 + L E L . . F H" =4E 5T+ =4 841 Ltl 242 FtFt[L:i. e4f, llF:cL 1? "'r'DU Htr+ -45 E" 24F_. tlRa:L =i' tl\r I EH +i I+E F-:TI.I . .I I H " 24!+LEL SEr:iT+ =.l 25: e5f, 254 :== trECL T= tlEf:L 1= trSTtr 25 " r HtrvE
Bank bankrott.
Fr As 1Odazuzhlen.
HE!l RrlL
-
Unentschieden berprfen. Bankrott-Fla9setzen wenn Spieler bankott und abrmhnen. Wenn Spieler verliert Einsatzabziehen.
t:
:,:Ert "F"
14 !-lF EtE I5+LEL El9 1. F:CL iE 1i F:;-l ErF_. l:{ =T+ : 1 3E "YI]UF.: EFI t'{l i I = + " =1 t:tEtL = 1 Ei tr'v'I Etl zf, F.:Tt{ .'HT.. ? E4+LEL " !::F.:fl HErl 35
-:J
25t t r 1 .I E H r a5E ETi'{ 25--i+LeL " F " tEB " tf FU=H " t61 rti.rrEH ?EE a_iT+ =il Wichtige StatusInformation = O28 Speichergre Fix0O cF29 Flag21solltemit Flag55 bereinstimmen.
Unentschieden bercksichtigen.
Neuen Kassenstand anzetgen. Spielerzieht. Neue Karte geben. Neues Blatt anzeigen.
zi.
:iEtt
" FH "
Ausahlen Kassedes Spielers belegt Punktezahlder Bank PunKezahl des Spiilers Blatt der Bank Blatt ds Soiele
veMendete Flags: FOGSpieler bankrott FO7 gesetzt = kein As / gelscht = As FO8 gesetzt Bank hat kein As gelscht = Bank hat As F09 gesetzt = kein Blackjack gelscht = Blackjack F29 gelscht um Dezimalpunktzu unterdrcken F21 sollte mit F55 (Druckervorhanden) bereinstimmen
V E R K A U F S - N I E D E R S S U N G N: LA E
Hewlett-Packard GmbH : . 6000 Frankfun 56, Bernerstrae 117, Postfach560140, Tel. (0611) 5004-1 7030 Bblingen, Herrenbergerstrae Tel. (07031) 667-1 110. 4000 Dsseldorf11, EmanuelLeutze-Strae (Seestern), 1 Tel. (021 ) 5 97 11 1 2000 Hamburg 60, Kapsradtring Tel. (040) 63804-1 5, 8021 Taufkirchen,Eschensttae Tel. (089) 6117-1 5, 3000 Hannover 91, Am cromarkt 6. Tel. (0511) 466001 8500 Nrnberg, Neumeyerstrae Tel. (0911) 522083/85 90, 1000 Berlin 30, Keithstrae 4, Tel. (030) 249086 2 Hewlett-Packard (Schweiz) AG : Allmend 2, CH-8967 Widen, Tel. (057) 501 :11 Hwlett-Packard Ggs.m.b.H.. fr sterreich/fr sozialistisclfe Staaten: WagramerstraeLiebgasse, 220 Wien A-1 Hwltt-Packard S.A.. Europa-Zentrale: 7, rue du Bois-du-Lan, Posttach,CH-1217 Meyrin 2-Gen{, Schweiz,"Tel. (O22) 827OOO
S E R V I C E - I E DE RL A S S U GE N: N N
Hewlett-Packard GmbH: 6000 FrankJun56, Bernerstrae 117, Postfach560140, Tel. (0611) 5004-1 Hewlett-Packard (Schweiz) AG : Allmend 2, CH-8967 Widen, Tel. (057) 501 11 Hewlett-Packard Gss.m.b.H., fr sterreich/fr sozialistische Staaten: WagramerstraeLiebgasse, l 220 Wien A-
ftDt H"=Y*'"TJ
0 0 0 4 1 - 9 0 0 2G e r m a n -7 K - 2 . 8 2 . | P C 7 Printed Singapore in