' tb-screen: 80x25
' Finanzmathematik (Spec konsolen-basisbibliothek): Endwert, Zahlung,
' Zins-/Tilgungsanteil, Abschreibungen, Kapitalwert und interner Zinsfuss.
' Vorzeichen wie beim Vorbild: ausgehende Zahlungen negativ.
PRINT USING "########.##"; FV#(0.05, 10, -100, 0, 0)
z# = PMT#(0.05, 10, 1000, 0, 0)
PRINT USING "########.##"; z#
' Zins- und Tilgungsanteil ergaenzen sich zur Zahlung.
PRINT IPMT#(0.05, 1, 10, 1000, 0, 0) + PPMT#(0.05, 1, 10, 1000, 0, 0) = z#
PRINT USING "#####.##  "; SLN#(1000, 100, 10); SYD#(1000, 100, 10, 1); DDB#(1000, 100, 10, 1)
DIM q#(1 TO 4)
q#(1) = -1000: q#(2) = 400: q#(3) = 400: q#(4) = 400
PRINT USING "#.######"; IRR#(q#(), 0.1)
PRINT USING "#.######"; MIRR#(q#(), 0.05, 0.06)
PRINT USING "#.######"; RATE#(10, z#, 1000, 0, 0, 0.1)
PRINT USING "###.##"; NPER#(0.05, z#, 1000, 0, 0)
' Fehlerfaelle: ungueltige Argumente und erfolglose Naeherung.
ON ERROR GOTO Fehler
x# = SLN#(1000, 100, 0)
W1:
x# = SYD#(1000, 100, 10, 11)
W2:
DIM p#(1 TO 2)
p#(1) = 100: p#(2) = 200
x# = IRR#(p#(), 0.1)
W3:
ON ERROR GOTO 0
PRINT "fertig"
END
Fehler:
PRINT "Fehler"; ERR
n% = n% + 1
SELECT CASE n%
    CASE 1: RESUME W1
    CASE 2: RESUME W2
    CASE ELSE: RESUME W3
END SELECT
