[HP12C] Modulo - Konventionell und "Finanziell"

  • 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


    (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


    (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 P/R)

    (11 Programmschritte)



    Viel Spaß beim Ausprobieren! :)


    Grüße,
    Thorsten

    : RPN ."Register-Postfix-Notation" ;