|
DataMuseum.dkPresents historical artifacts from the history of: Christian Rovsing CR7, CR8 & CR16 CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Christian Rovsing CR7, CR8 & CR16 CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2944 (0xb80) Types: TextFile Names: »AMORT.BAS«
└─⟦a2831e659⟧ Bits:30004217 MBASIC r5.21 og BASIC programmer └─ ⟦this⟧ »AMORT.BAS«
10 PRINT"Amortionsplan" 15 PRINT"=============" 20 PRINT 30 PRINT" Fast ydelse "; 40 INPUT R 50 PRINT" Antal år "; 60 INPUT Y 70 PRINT" Hovedstol "; 80 INPUT P 90 PRINT" Rentefod (% P.A.) "; 100 INPUT I 109 REM Omregn rentefod fra procent til decimal 110 I=I/100 120 PRINT" Antal ydelser pr. år "; 130 INPUT N 140 PRINT "Hvilken nr. ydelse i året startes der med "; 145 INPUT STNR 150 PRINT "overtagelses-rentebeløb "; 155 INPUT OTRB 159 REM Start udskrift ved år nr. 1 160 X=1 170 C1=0 175 SF=1 180 I2=0 190 I3=0 200 J0=0 210 N1=N 220 K=72 230 B0=P 240 A1=0 250 A2=0 260 IF INT(Y)>=1 THEN GOTO 270 261 REM justering af variabler så et år udskrives delvist 263 N1=((Y-INT(Y))*12)/12*N 264 J0=J0+1 265 GOTO 280 269 REM For-next-løkke for hvert år 270 FOR J0=1 TO INT(Y) 280 IF J0<X THEN GOTO 410 289 REM test om side er slut 290 IF K+N+3<64 THEN GOTO 400 298 REM gå frem til næste sides begyndelse 299 REM (der antages at være 72 linier pr. side 300 FOR K1=K+1 TO 72 310 LPRINT 320 NEXT K1 330 LPRINT 340 LPRINT "Amortionsplan" 345 LPRINT 350 LPRINT "Hovedstol =";P;"Kr." 355 LPRINT " Rentefod =";I*100;"% i";Y;"år" 360 LPRINT " Ydelse =";R;"Kr." 370 LPRINT 380 LPRINT "Ydelse nr.","Rentebeløb", 385 LPRINT "Afdrag","Restgæld","akkum. rente" 388 REM Variablen K tæller antal udskrevne linier pr. side 390 K=9 400 K=K+N+3 410 FOR J1=1 TO N1 418 REM beregn det rentebeløb den nuværende 419 REM ydelse dækker, og afrund resultatet 420 IF SF=1 THEN I1=OTRB ELSE I1=INT((B0*I/N)*100+.5)/100 422 SF=0 429 REM tæl antal ydelser til dato 430 C1=C1+1 438 REM Beregn det afdrag den nuværende 439 REM ydelse dækker, og afrund resultatet 440 IF SF=1 THEN A=0 ELSE A=R-I1 442 SF=0 449 REM samlet afdrag betalt til dato 450 A1=A1+A 459 REM Beregn ny restgæld 460 B0=P-A1 468 REM Hvis sidste ydelse, så skal 469 REM den ny restgæld være lig nul 470 IF C1<>N*Y THEN GOTO 520 480 R=R+B0 490 A=A+B0 500 A1=A1+B0 510 B0=0 519 REM Samlet rente betalt til dato 520 I2=I2+I1 529 REM Samlet rente betalt i år 530 I3=I3+I1 539 REM Samlet afdrag betalt i år 540 A2=A2+A 548 REM Begynd udskrift ? 549 REM Hvis ja, så udskriv beregnede værdier 550 IF J0<X THEN GOTO 570 553 IF SF=1 THEN J1=STNR 560 LPRINT J1,I1,A,B0,I2 570 NEXT J1 578 REM Sidste ydelse ? 579 REM Hviv ja, så rund af og udskriv 580 IF C1<>N*Y THEN GOTO 600 590 LPRINT "sidste ydelse ="; 595 LPRINT (INT(R*100+.5))/100 598 REM udskrift begyndt ? 599 REM Hvis ja, så udskriv årets renter og afdrag 600 IF J0<X THEN GOTO 640 610 LPRINT 620 LPRINT "år";J0;"=";,I3,A2 630 LPRINT 639 REM Løbetid slut ? 640 IF J0>Y THEN GOTO 720 649 REM Genetablering af 'årlige' variable 650 I3=0 660 A2=0 670 NEXT J0 675 J0=J0+1 678 REM Er der brug for at udskrive et år delvist 680 IF Y<>J0 THEN GOTO 263 720 PRINT 730 END «eof»