PROGRAM KREDIT (INPUT*); (*IN DEM PROGRAMM WIRD JE NACH DEN GEGEBENEN DATEN,DIE TILGUNGSRATE, DIE LAUFZEIT ODER DER KREDIT BERECHNET.*) VAR ZEICHEN : CHAR; TILG,RATE,ZINS,KAPITAL : REAL; ZEIT : INTEGER; FUNCTION HOCH (A:REAL;B:INTEGER):REAL; BEGIN HOCH := EXP(B*LN(A)); END; FUNCTION KREDIT (RATE,PROZENT:REAL;JAHRE:INTEGER):REAL; VAR Q,POTENZ : REAL; BEGIN Q := 1+PROZENT/100; IF Q <> 1 THEN BEGIN POTENZ := HOCH (Q,JAHRE); KREDIT := RATE*(POTENZ-1)/(POTENZ*(Q-1)); END ELSE KREDIT := RATE*JAHRE; END; FUNCTION TILGUNG (KAPITAL,PROZENT:REAL;JAHRE:INTEGER):REAL; VAR Q,POTENZ : REAL; BEGIN Q := 1+PROZENT/100; IF Q <> 1 THEN BEGIN POTENZ := HOCH (Q,JAHRE); TILGUNG := KAPITAL*POTENZ*(Q-1)/(POTENZ-1); END ELSE TILGUNG := KAPITAL/JAHRE; END; FUNCTION LAUFZEIT (KAPITAL,TILG,PROZENT:REAL):REAL; VAR Q : REAL; BEGIN Q := 1+PROZENT/100; RATE := KAPITAL*(TILG + PROZENT)/100; (*DIE TILGUNGSRATE WIRD BERECHNET*) IF Q <> 1 THEN LAUFZEIT := (LN(RATE)-LN(RATE-KAPITAL*(Q-1)))/LN(Q) ELSE LAUFZEIT := KAPITAL/RATE; END; BEGIN (*HAUPTPROGRAMM*) WRITELN (TTY,' KREDITBERECHNUNG'); WRITELN (TTY,' ---------------------'); WRITELN (TTY); WRITELN (TTY,'ES WIRD JE NACH DEN DATEN,DIE IN EINER DATEI GEGEBEN SIND'); WRITELN (TTY,'ENTWEDER DER KREDIT,DIE LAUFZEIT ODER '); WRITELN (TTY,'DIE TILGUNGSRATE BERECHNET.'); WRITELN (TTY); BREAK; REPEAT REPEAT READ (ZEICHEN); IF ZEICHEN IN ['K','T','L'] THEN BEGIN CASE ZEICHEN OF 'K':BEGIN READ (RATE,ZINS,ZEIT); WRITELN (TTY,'BEI EINER TILGUNGSRATE VON',RATE:15:2,' DM'); WRITELN (TTY,' EINEM ZINSSATZ VON',ZINS:15:2,' %'); WRITELN (TTY,' UND EINER LAUFZEIT VON',ZEIT:15,' JAHREN'); WRITELN (TTY,'BERECHNET SICH DER KREDIT MIT :'); WRITELN (TTY,' ',KREDIT (RATE,ZINS,ZEIT):15:2,' DM'); WRITELN (TTY); BREAK; END; 'T': BEGIN READ (KAPITAL,ZINS,ZEIT); WRITELN (TTY,' BEI EINEM KREDIT VON',KAPITAL:15:2,' DM'); WRITELN (TTY,' EINEM ZINSSATZ VON',ZINS:15:2,' %'); WRITELN (TTY,' UND EINER LAUFZEIT VON',ZEIT:15,' JAHREN'); WRITELN (TTY,'BERECHNET SICH DIE TILGUNGSRATE MIT :'); WRITELN (TTY,' ',TILGUNG (KAPITAL,ZINS,ZEIT):15:2,' DM'); WRITELN (TTY); BREAK; END; 'L':BEGIN READ (KAPITAL,TILG,ZINS); WRITELN (TTY,' BEI EINEM KREDIT VON',KAPITAL:15:2,' DM'); WRITELN (TTY,' EINER TILGUNG VON',TILG:15:2,' %'); WRITELN (TTY,'UND EINEM ZINSSATZ VON',ZINS:15:2,' %'); WRITELN (TTY,'BERECHNET SICH DIE LAUFZEIT MIT :'); WRITELN (TTY,' ',LAUFZEIT(KAPITAL,TILG,ZINS):15:2,' JAHRE'); WRITELN (TTY); BREAK; END; END; END ELSE BEGIN WRITELN (TTY,' " ',ZEICHEN,' " IST EIN FALSCHES ZEICHEN,UEBERPRUEFEN SIE IHRE EINGABEN IN DER DATEI'); WRITELN (TTY,'UND VERBESSERN SIE SIE.'); WRITELN (TTY); BREAK; END; UNTIL EOLN; READLN; UNTIL EOF; END.