A large commit.
[pdp8.git] / sw / src / pascal / BSPS.PS
CommitLineData
81e70d48
PH
1PROGRAM 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
43BEGIN 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
82END.