Add README.md
[pdp8.git] / sw / rescue / muenchen2013 / files / ueb10.pr
1 PROGRAM KREDIT (INPUT*);
2 (*IN DEM PROGRAMM WIRD JE NACH DEN GEGEBENEN DATEN,DIE TILGUNGSRATE,
3 DIE LAUFZEIT ODER DER KREDIT BERECHNET.*)
4
5 VAR ZEICHEN : CHAR;
6 TILG,RATE,ZINS,KAPITAL : REAL;
7 ZEIT : INTEGER;
8 FUNCTION HOCH (A:REAL;B:INTEGER):REAL;
9 BEGIN
10 HOCH := EXP(B*LN(A));
11 END;
12 FUNCTION KREDIT (RATE,PROZENT:REAL;JAHRE:INTEGER):REAL;
13 VAR Q,POTENZ : REAL;
14 BEGIN
15 Q := 1+PROZENT/100;
16 IF Q <> 1 THEN
17 BEGIN
18 POTENZ := HOCH (Q,JAHRE);
19 KREDIT := RATE*(POTENZ-1)/(POTENZ*(Q-1));
20 END
21 ELSE
22 KREDIT := RATE*JAHRE;
23 END;
24 FUNCTION TILGUNG (KAPITAL,PROZENT:REAL;JAHRE:INTEGER):REAL;
25 VAR Q,POTENZ : REAL;
26 BEGIN
27 Q := 1+PROZENT/100;
28 IF Q <> 1 THEN
29 BEGIN
30 POTENZ := HOCH (Q,JAHRE);
31 TILGUNG := KAPITAL*POTENZ*(Q-1)/(POTENZ-1);
32 END
33 ELSE
34 TILGUNG := KAPITAL/JAHRE;
35 END;
36 FUNCTION LAUFZEIT (KAPITAL,TILG,PROZENT:REAL):REAL;
37 VAR Q : REAL;
38 BEGIN
39 Q := 1+PROZENT/100;
40 RATE := KAPITAL*(TILG + PROZENT)/100; (*DIE TILGUNGSRATE WIRD BERECHNET*)
41 IF Q <> 1 THEN
42 LAUFZEIT := (LN(RATE)-LN(RATE-KAPITAL*(Q-1)))/LN(Q)
43 ELSE
44 LAUFZEIT := KAPITAL/RATE;
45 END;
46 BEGIN (*HAUPTPROGRAMM*)
47 WRITELN (TTY,' KREDITBERECHNUNG');
48 WRITELN (TTY,' ---------------------');
49 WRITELN (TTY);
50 WRITELN (TTY,'ES WIRD JE NACH DEN DATEN,DIE IN EINER DATEI GEGEBEN SIND');
51 WRITELN (TTY,'ENTWEDER DER KREDIT,DIE LAUFZEIT ODER ');
52 WRITELN (TTY,'DIE TILGUNGSRATE BERECHNET.');
53 WRITELN (TTY);
54 BREAK;
55 REPEAT
56 REPEAT
57 READ (ZEICHEN);
58 IF ZEICHEN IN ['K','T','L'] THEN
59 BEGIN
60 CASE ZEICHEN OF
61 'K':BEGIN
62 READ (RATE,ZINS,ZEIT);
63 WRITELN (TTY,'BEI EINER TILGUNGSRATE VON',RATE:15:2,' DM');
64 WRITELN (TTY,' EINEM ZINSSATZ VON',ZINS:15:2,' %');
65 WRITELN (TTY,' UND EINER LAUFZEIT VON',ZEIT:15,' JAHREN');
66 WRITELN (TTY,'BERECHNET SICH DER KREDIT MIT :');
67 WRITELN (TTY,' ',KREDIT (RATE,ZINS,ZEIT):15:2,' DM');
68 WRITELN (TTY);
69 BREAK;
70 END;
71 'T': BEGIN
72 READ (KAPITAL,ZINS,ZEIT);
73 WRITELN (TTY,' BEI EINEM KREDIT VON',KAPITAL:15:2,' DM');
74 WRITELN (TTY,' EINEM ZINSSATZ VON',ZINS:15:2,' %');
75 WRITELN (TTY,' UND EINER LAUFZEIT VON',ZEIT:15,' JAHREN');
76 WRITELN (TTY,'BERECHNET SICH DIE TILGUNGSRATE MIT :');
77 WRITELN (TTY,' ',TILGUNG (KAPITAL,ZINS,ZEIT):15:2,' DM');
78 WRITELN (TTY);
79 BREAK;
80 END;
81 'L':BEGIN
82 READ (KAPITAL,TILG,ZINS);
83 WRITELN (TTY,' BEI EINEM KREDIT VON',KAPITAL:15:2,' DM');
84 WRITELN (TTY,' EINER TILGUNG VON',TILG:15:2,' %');
85 WRITELN (TTY,'UND EINEM ZINSSATZ VON',ZINS:15:2,' %');
86 WRITELN (TTY,'BERECHNET SICH DIE LAUFZEIT MIT :');
87 WRITELN (TTY,' ',LAUFZEIT(KAPITAL,TILG,ZINS):15:2,' JAHRE');
88 WRITELN (TTY);
89 BREAK;
90 END;
91 END;
92 END
93 ELSE
94 BEGIN
95 WRITELN (TTY,' " ',ZEICHEN,' " IST EIN FALSCHES ZEICHEN,UEBERPRUEFEN SIE IHRE EINGABEN IN DER DATEI');
96 WRITELN (TTY,'UND VERBESSERN SIE SIE.');
97 WRITELN (TTY);
98 BREAK;
99 END;
100 UNTIL EOLN;
101 READLN;
102 UNTIL EOF;
103 END.
104