HP12C: Modulo - Konventionell und "Finanziell"
1. Konventionell / the conventional way
Die Modulo-Operation, oft auch als "5. Grundrechenart" bezeichnet, gibt den Rest der ganzzahligen Division wieder. Ein Beispiel:
7/3 = 2 R: 1 => 7 mod 3 = 1
Allgemein geschrieben:
a/b = INT(a/b) + (a mod b)/b => a mod b = a - b×INT(a/b)
Gelegentlich wird mit einem Summanden (a/b) oder mit der Funktion FRAC anstelle von INTG gerechnet. Wegen möglicher Stellenauslöschung ist davon abzuraten.
Keine Funktion wurde wohl öfter auf programmierbaren Taschenrechnern nachgebildet. Zunächst zwei konventionelle Ansätze:
a) Der Stapel bleibt erhalten
b) Der Stapel wird überschrieben (Programm 1 Schritt kürzer)
1a) Modulo-Programm "Konventionell"
Der Stapel bleibt erhalten.
Programmeingabe:
f P/R, f Clear PRGM
x<>y #t z b a
STO n
x<>y #t z a b
÷ #t t z a/b
g LSTx #t z a/b b
x<>y #t z b a/b
g INTG
× #t t z b×INT
RCL n #t z b×INT a
-
CHS #t t z mod
g GTO 00 #Programmende
Alles anzeigen
(f P/R)
(12 Programmschritte)
Eingabe:
a ENTER b R/S
Ausgabe:
X: a mod b
Rechenbeispiele:
20 mod 7 = 6
200 mod 9 = 2
10 mod 6 = 4
40 mod 6 = 4
100 mod 6 = 4
1E9 mod 6 = 4
1b) Modulo-Programm "Konventionell"
Der Stapel bleibt nicht erhalten.
Programmeingabe:
f P/R, f Clear PRGM
ENTER #z a b b
ENTER #a b b b
- #a a b 0
R↓ #0 a a b
x<>y #0 a b a
g LSTx #a b a b
÷
g INTG
×
- #a a a mod
g GTO 00 #Programmende
Alles anzeigen
(f P/R)
(11 Programmschritte)
2. Modulo mittels Annuitätendarlehen / Modulo using annuity loans
Auf dem Finanzrechner HP12C steht eine ganze Reihe von Finanzfunktionen zur Verfügung, die auf einem gewöhnlichen programmierbaren Taschenrechner natürlich fehlen. Manchmal sind damit überraschende Berechnungen auch außerhalb finanzieller Anwendungen möglich. So wie in diesem Fall, wo wir die Modulo-Rechnung mittels einer zweckentfremdeten Annuitätenrechnung realisieren.
2a) Manuelle Modulo-Rechnung "Finanziell"
Beispiel: 7 mod 3
f Clear FIN
7
ENTER
CHS
PV #Stapelanhebung AUS
3 #überschreibt -7 in X
PMT
÷
n
FV
Ergebnis: 1
2b) Modulo-Programm "Finanziell"
Der Stapel bleibt erhalten.
Programmeingabe:
f P/R, f Clear PRGM
f Clear FIN #löscht alle Finanz-Register
PMT #Zahlung
x<>y #t z b a
CHS #t z b -a
PV #Barwert mit negiertem Vorzeichen
x<>y #t z -a b
÷
CHS #t t z n; reelle Anzahl Zahlungen
n
FV #t t z mod; Endwert mit ganzzahliger Anzahl Zahlungen
g GTO 00 #Programmende
Alles anzeigen
(f P/R)
(11 Programmschritte)
Viel Spaß beim Ausprobieren!
Grüße,
Thorsten