Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | PROGRAM BAUSPARKREDIT(INPUT,OUTPUT); |
2 | ||
3 | VAR ANFANG,GETILGT: BOOLEAN; | |
4 | DATUM,MONAT,QUARTAL,JAHR: INTEGER; | |
5 | DARLEHEN,SCHULD,ZINSEN,ZAHLUNG,TILGUNG,RATE: REAL; | |
6 | RSUMME,ZSUMME,TSUMME: REAL; | |
7 | ||
8 | PROCEDURE TRENNUNGSSTRICH; | |
9 | VAR I: INTEGER; | |
10 | BEGIN FOR I:=1 TO 60 DO WRITE("-"); WRITELN END; | |
11 | ||
12 | ||
13 | PROCEDURE KOPFZEILE; | |
14 | BEGIN | |
15 | WRITELN("BILANZ", JAHR:5, " ":3, "RESTSCHULD", | |
16 | " ":3, "ZAHLUNGEN", " ":6, "ZINSEN", " ":5, "TILGUNG"); | |
17 | TRENNUNGSSTRICH; | |
18 | RSUMME := 0; ZSUMME := 0; TSUMME := 0 | |
19 | END (* KOPFZEILE *); | |
20 | ||
21 | ||
22 | PROCEDURE QUARTALSBERICHT; | |
23 | BEGIN | |
24 | WRITELN(QUARTAL:2, ". QUARTAL ", SCHULD:12:2, | |
25 | ZAHLUNG:12:2, ZINSEN:12:2, TILGUNG:12:2); | |
26 | ANFANG := FALSE; | |
27 | RSUMME := RSUMME + ZAHLUNG; | |
28 | ZSUMME := ZSUMME + ZINSEN; | |
29 | TSUMME := TSUMME + TILGUNG | |
30 | END (* QUARTALSBERICHT *); | |
31 | ||
32 | ||
33 | PROCEDURE JAHRESABRECHNUNG; | |
34 | BEGIN | |
35 | TRENNUNGSSTRICH; | |
36 | WRITELN("ABRECHNUNG: ", SCHULD-ZAHLUNG:12:2, | |
37 | RSUMME:12:2, ZSUMME:12:2, TSUMME:12:2); | |
38 | WRITELN; WRITELN; WRITELN | |
39 | END (* JAHRESABRECHNUNG *); | |
40 | ||
41 | ||
42 | ||
43 | BEGIN WRITELN; WRITELN("B A U S P A R K R E D I T"); WRITELN; | |
44 | WRITE("HOEHE DES DARLEHENS LAUT VERTRAG S"); READ(DARLEHEN); | |
45 | WRITE("BIS TILGUNGSBEGINN ANGEWACHSEN AUF S"); READ(SCHULD); | |
46 | WRITE("DATUM DER 1. TILGUNGSRATE (JJMMTT)"); READ(DATUM); | |
47 | WRITELN; | |
48 | ||
49 | JAHR := DATUM DIV 10000 + 1900; | |
50 | MONAT := (DATUM MOD 10000) DIV 100; | |
51 | QUARTAL := (MONAT + 2) DIV 3; | |
52 | RATE := 7*TRUNC(DARLEHEN/1000 + 0.999); | |
53 | WRITELN("MONATLICHE TILGUNGSRATE S", RATE:9:2); | |
54 | WRITELN; | |
55 | ||
56 | ANFANG := TRUE; GETILGT := FALSE; | |
57 | ZAHLUNG := (3*QUARTAL - MONAT + 1)*RATE; | |
58 | ZINSEN := 0; | |
59 | TILGUNG := ZAHLUNG; | |
60 | ||
61 | REPEAT (* JAHR *) | |
62 | KOPFZEILE; | |
63 | REPEAT (* QUARTAL *) | |
64 | IF NOT ANFANG THEN | |
65 | BEGIN QUARTAL := QUARTAL + 1; | |
66 | ZINSEN := TRUNC(1.5*(SCHULD-ZAHLUNG))/100; | |
67 | SCHULD := SCHULD - ZAHLUNG + ZINSEN; | |
68 | ZAHLUNG := 3*RATE; | |
69 | IF SCHULD<=ZAHLUNG THEN | |
70 | BEGIN ZAHLUNG := SCHULD; | |
71 | GETILGT := TRUE | |
72 | END; | |
73 | TILGUNG := ZAHLUNG - ZINSEN | |
74 | END; | |
75 | QUARTALSBERICHT | |
76 | UNTIL (QUARTAL=4) OR GETILGT; | |
77 | JAHRESABRECHNUNG; | |
78 | JAHR := JAHR + 1; QUARTAL := 0; | |
79 | IF JAHR<1979 THEN SCHULD := SCHULD + 30 | |
80 | ELSE SCHULD := SCHULD + 40 | |
81 | UNTIL GETILGT | |
82 | END. |