home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
kaufmann
/
pk6.bas
< prev
next >
Wrap
BASIC Source File
|
1997-10-09
|
15KB
|
246 lines
1 WIDTH 80: COLOR 15,0,0
10 GOTO 100
15 LOCATE 20,1: PRINT STRING$(79,205)
16 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
17 LOCATE 21,25: PRINT "PROGRAMM WIRD GELADEN.BITTE WARTEN": COLOR 15,0
18 LOCATE 22,1: PRINT STRING$(79,205): RETURN
19 GOSUB 15: RUN "MENUE"
20 ZZ$=LEFT$(ZZ$,L):ZZ$=ZZ$+STRING$(L-LEN(ZZ$),95):Z2=0:Y=1
21 LOCATE R,S,O:PRINT ZZ$;
22 LOCATE R,S+Y-1,1
23 Z$=INKEY$: IF Z$="" THEN 23 ELSE Z=ASC(Z$): Z1=0: IF Z=0 THEN Z1=ASC(RIGHT$(Z$,1))
24 IF Z<>13 THEN 28 ELSE IF Z2 >0 THEN 23
25 IF Y=1 THEN ZZ$=CHR$(13):RETURN
26 IF RIGHT$(ZZ$,1)="_" THEN ZZ$=LEFT$(ZZ$,INSTR(ZZ$,"_")-1)
27 RETURN
28 IF Z<>0 THEN 48
29 IF Z1<>71 THEN 31 ELSE IF Y=1 OR Z2 THEN 23
30 Y=1:GOTO 22
31 IF Z1<>75 THEN 33 ELSE IF Y=1 OR Z2 THEN 23
32 Y=Y-1:GOTO 22
33 IF Z1<>77 THEN 35 ELSE IF MID$(ZZ$,Y,1)="_" OR Y>L THEN 23
34 Y=Y+1:GOTO 22
35 IF Z1<>79 THEN 39 ELSE IF Y>L OR Z2 THEN 23
36 IF MID$(ZZ$,Y,1)="_" THEN 23
37 Y=Y+1
38 IF MID$(ZZ$,Y,1)="_" THEN 22 ELSE 37
39 IF Z1<>82 THEN 42 ELSE IF RIGHT$(ZZ$,1)<>"_" THEN 23
40 IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
41 ZZ$=LEFT$(ZZ$,Y-1)+"_"+MID$(ZZ$,Y,L-Y):Z2=Z2+1:GOTO 21
42 IF Z1<>83 THEN 44 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
43 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+MID$(ZZ$,Y+1)+"_":GOTO 21
44 IF Z1<>117 THEN 46 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
45 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+STRING$(L-Y+1,95):GOTO 21
46 IF Z1<>119 THEN 23 ELSE IF Y=1 THEN 23
47 ZZ$=MID$(ZZ$,Y)+STRING$(Y-1,95):Y=1:GOTO 21
48 IF Z<>8 THEN 50 ELSE IF Y=1 THEN 23
49 ZZ$=LEFT$(ZZ$,Y-2)+MID$(ZZ$,Y)+"_":Y=Y-1:GOTO 21
50 IF Z<>27 THEN 51 ELSE ZZ$=STRING$(L,95):Y=1:Z2=0: GOTO 21
51 IF Z=95 OR Y>L THEN 23
52 ON PK% GOTO 55,53,54
53 IF Z<46 OR Z>58 THEN 23 ELSE 55
54 IF Z<>106 AND Z<>110 THEN 23
55 IF Z=44 THEN 23 ELSE GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+Z$+MID$(ZZ$,Y+1):PRINT Z$;:Y=Y+1:GOTO 22
56 IF Z2 THEN Z2=Z2-1
57 RETURN
60 CLS: LOCATE 2,1: PRINT STRING$(79,205)
61 LOCATE 3,1: COLOR 0,15: PRINT SPACE$(79): LOCATE 3,30: PRINT "KAUFMÄNNISCHES RECHNEN": LOCATE 4,1: PRINT SPACE$(79)
62 LOCATE 4,30: PRINT "(C) BY SIEGFRIED HÜBNER ESC =LADE MENÜ": LOCATE 5,1: PRINT SPACE$(79)
63 LOCATE 5,32: PRINT "H Y P O T H E K E N"
64 COLOR 15,0: LOCATE 6,1: PRINT STRING$(79,205): RETURN
70 LOCATE 20,1: PRINT STRING$(79,205)
71 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
72 LOCATE 21,29: PRINT "BELIEBIGE TASTE DRÜCKEN": COLOR 15,0
73 LOCATE 22,1: PRINT STRING$(79,205)
75 E$=INKEY$: IF E$="" THEN 75
76 IF E$=CHR$(27) THEN 19
77 RETURN
90 LOCATE 20,1: PRINT STRING$(79,205)
91 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
92 LOCATE 21,34: PRINT "FALSCHE EINGABE": COLOR 15,0
93 LOCATE 22,1: PRINT STRING$(79,205): RETURN
95 FOR T=1 TO 4: LOCATE 19+T,1: PRINT SPACE$(79): NEXT: RETURN
100 GOSUB 60
101 LOCATE 7,2: PRINT "Ein langfristiges Darlehen - etwa zum Bau eines Hauses - wird "
102 LOCATE 8,2: PRINT "Hypothekendarlehen genannt. Die Konditionen dafür mögen lauten:"
103 LOCATE 9,2: PRINT "Zins 7.5 % Tilgung 1 %"
104 LOCATE 10,2: PRINT "Für eine Hypothek von 100 000 DM bedeutet das:"
105 LOCATE 11,2: PRINT "- die jährlichen Zinsen betragen 7.500 DM"
106 LOCATE 12,2: PRINT "- die jährlicheTilgung - Rückzahlung der Schuld - 1.000 DM"
107 LOCATE 13,2: PRINT "- die Summe beider Größen - 8.500 DM müssen jährlich zurückgezahlt"
108 LOCATE 14,2: PRINT " werden. Diesen über die ganze Laufzeit gleichen Jahresbetrag "
109 LOCATE 15,2: PRINT " nennt man ANNUITÄT."
110 LOCATE 18,2: PRINT " Es folgt ein Programm, das Ihnen die mühsame Berechnung abnimmt.": GOSUB 70
120 GOSUB 60
121 LOCATE 8,2: PRINT "HÖHE DER HYPOTHEK IN DM :"
122 ZZ$="": R=8: S=30: L=7: PK%=2: GOSUB 20: H$=ZZ$
123 H=VAL(H$):IF H$=CHR$(13) OR H<=0 THEN BEEP: GOSUB 90: GOTO 122
124 GOSUB 95
125 LOCATE 9,2: PRINT "ZINSSATZ IN % / JAHR :"
126 ZZ$="": R=9: S=30: L=3: PK%=2: GOSUB 20: ZINS$=ZZ$
127 ZINS=VAL(ZINS$):IF ZINS$=CHR$(13) OR ZINS<=0 THEN BEEP: GOSUB 90: GOTO 126
128 GOSUB 95
129 LOCATE 10,2: PRINT "TILGUNG IN % :"
130 ZZ$="": R=10: S=30: L=3: PK%=2: GOSUB 20: T$=ZZ$
131 T=VAL(T$):IF T$=CHR$(13) OR T<=0 THEN BEEP: GOSUB 90: GOTO 130
132 GOSUB 95
135 A=(H*ZINS/100)+(H*T/100)
136 LOCATE 12,2: PRINT "DIE JÄHRLICHE BELASTUNG BETRÄGT :";A;" DM.": GOSUB 70: GOSUB 60
137 LOCATE 7,2: PRINT "DER ZEITLICHE ABBAU DER HYPOTHEK IST:"
138 LOCATE 8,2: PRINT "JAHR","DARLEHEN","ZINSEN","TILGUNG"
139 J=J+1
140 ZS=H*ZINS/100:TI=H*T/100
141 PRINT TAB(2)J,H,ZS,TI
142 J=J+1: H=H-TI: ZS=H*ZINS/100: ZS=INT(ZS*100+.5)/100: TI=A-ZS: TI=INT(TI*100+.5)/100
143 IF H<A THEN GOSUB 70: GOTO 153
144 IF J=9 THEN GOSUB 70: GOTO 150
146 GOTO 141
150 GOSUB 60
151 LOCATE 7,2: PRINT "JAHR","DARLEHEN","ZINSEN","TILGUNG"
152 PRINT TAB(2)J,H,ZS,TI
153 H=INT(H*100+.5)/100
154 PRINT TAB(2)"LETZTE RATE IM ";J;" JAHR MIT DM ";H: GOSUB 70
160 GOSUB 60
161 LOCATE 7,2: PRINT "DAS PROGRAMM-LISTING"
162 LOCATE 9,2: PRINT " 10 CLS 'BILDSCHIRM FREI"
163 LOCATE 10,2: PRINT " 20 INPUT 'HÖHE DER HYPOTHEK';H 'EINGABE SUMME "
164 LOCATE 11,2: PRINT " 30 INPUT 'HÖHE ZINSSATZ % ';Z 'EINGABE ZINSSATZ"
165 LOCATE 12,2: PRINT " 40 INPUT 'HÖHE TILGUNG % ';T 'EINGABE TILGUNG"
166 LOCATE 13,2: PRINT " 50 A=(H*Z/100)+(H*T/100) 'BERECHNUNG"
167 LOCATE 14,2: PRINT " 60 PRINT 'JÄHRLICHE BELASTUNG';A;'DM' 'TEXTAUSGABE"
168 LOCATE 15,2: PRINT " 70 PRINT 'ZEITLICHE ABBAU DER HYPOTHEK' 'TEXTAUSGABE"
169 LOCATE 16,2: PRINT " 80 PRINT 'JAHR','DARLEHEN','ZINS','TILGUNG' 'TEXT FORMATIEREN"
170 LOCATE 17,2: PRINT " 90 J=J+1 'JAHRE ZÄHLEN"
171 LOCATE 18,2: PRINT "100 ZS=H*Z/100 'BERECHNUNG"
172 LOCATE 19,2: PRINT "110 TI=H*T/100 'BERECHNUNG": GOSUB 70
175 GOSUB 60
176 LOCATE 7,2: PRINT "120 PRINT J,H,ZS,TI 'AUSGABE WERTE"
177 LOCATE 8,2: PRINT "130 J=J+1 'ZÄHLER"
178 LOCATE 9,2: PRINT "140 H=H-TI 'BERECHNUNG"
179 LOCATE 10,2: PRINT "150 ZS=H*Z/100 'BERECHNUNG"
180 LOCATE 11,2: PRINT "160 ZS=INT(ZS*100+.5)/100 'AUFRUNDEN"
181 LOCATE 12,2: PRINT "170 TI=A-ZS 'BERECHNUNG"
182 LOCATE 13,2: PRINT "180 TI=INT(TI*100+.5)/100 'AUFRUNDEN"
183 LOCATE 14,2: PRINT "190 IF H<A THEN 210 'VERGLEICHEN"
184 LOCATE 15,2: PRINT "200 GOTO 176 'RÜCKSPRUNG"
185 LOCATE 16,2: PRINT "210 H=INT(H*100+.5)/100 'AUFRUNDEN"
186 LOCATE 17,2: PRINT "220 PRINT 'LETZTE RATE';J;'MIT';H;'DM' 'TEXTAUSGABE": GOSUB 70
190 GOSUB 60
191 LOCATE 7,2: PRINT "Bei diesem Programm ist etwas unberücksichtigt geblieben."
192 LOCATE 8,2: PRINT "Üblicherweise zahlt die Bank die Hypothek nicht voll - nicht zu 100 % -"
193 LOCATE 9,2: PRINT "aus. Sie zieht Ihnen GELDBESCHAFFUNGSKOSTEN ab. Das sieht dann so aus: "
194 LOCATE 10,2: PRINT "HYPOTHEK 50.000 DM"
195 LOCATE 11,2: PRINT "ZINSSATZ 9.5 % "
196 LOCATE 12,2: PRINT "TILGUNG 2 % "
197 LOCATE 13,2: PRINT "AUSZAHLUNG 97 % "
198 LOCATE 14,2: PRINT "Obwohl Ihr Darlehen über 50.000 DM lautet, zahlt Ihnen die Bank davon nur"
199 LOCATE 15,2: PRINT "97 % aus, das sind 48.500 DM. Sind Sie auf den vollen Betrag von 50.000 "
200 LOCATE 16,2: PRINT "angewiesen, dann können Sie mit der Bank eine Vereinbarung treffen,die "
201 LOCATE 17,2: PRINT "Fachleute AUFSTOCKUNG des Darlehens unter gleichzeitiger Tilgungs- "
202 LOCATE 18,2: PRINT "streckung nennen. Sie erhalten die vollen 50.000 ausgezahlt,müssen "
203 LOCATE 19,2: PRINT "aber die 1.500 mitfinanzieren.": GOSUB 70
210 GOSUB 60
211 LOCATE 7,2: PRINT "HÖHE DER HYPOTHEK IN DM :"
212 ZZ$="": R=7: S=30: L=7: PK%=2: GOSUB 20: H$=ZZ$
213 H=VAL(H$): IF H$=CHR$(13) OR H<=0 THEN BEEP: GOSUB 90: GOTO 212
214 GOSUB 95
215 LOCATE 8,2: PRINT "HÖHE ZINSSATZ % / JAHR :"
216 ZZ$="": R=8: S=30: L=3: PK%=2: GOSUB 20: ZINS$=ZZ$
217 ZINS=VAL(ZINS$): IF ZINS$=CHR$(13) OR ZINS<=0 THEN BEEP: GOSUB 90: GOTO 216
218 GOSUB 95
220 LOCATE 9,2: PRINT "HÖHE TILGUNG % :"
221 ZZ$="": R=9: S=30: L=3: PK%=2: GOSUB 20: T$=ZZ$
222 T=VAL(T$): IF T$=CHR$(13) OR T<=0 THEN BEEP: GOSUB 90: GOTO 221
223 GOSUB 95
225 LOCATE 10,2: PRINT "AUSZAHLUNGSPROZENTSATZ :"
226 ZZ$="": R=10: S=30: L=5: PK%=2: GOSUB 20: AZ$=ZZ$
227 AZ=VAL(AZ$): IF AZ$=CHR$(13) OR AZ<=0 THEN BEEP: GOSUB 90: GOTO 226
228 GOSUB 95
229 Z1=100-AZ: H1=H*Z1/100
230 LOCATE 11,2: PRINT "TILGUNG IN JAHREN :"
231 ZZ$="": R=11: S=30: L=2: PK%=2: GOSUB 20: J1$=ZZ$
232 J1=VAL(J1$): IF J1$=CHR$(13) OR J1<=0 THEN BEEP: GOSUB 90: GOTO 231
233 GOSUB 95
234 A=(H*ZINS/100)+(H*T/100)
235 LOCATE 13,2: PRINT "DIE JÄHRLICHE BELASTUNG BETRÄGT AB DEM ";J1+1;".TEN JAHR DM ";A: GOSUB 70
240 GOSUB 60
241 LOCATE 7,2: PRINT "DER ZEITLICHE ABBAU DER HYPOTHEK IST:"
242 LOCATE 8,2: PRINT "JAHR","DARLEHEN","ZINSEN","TILGUNG"
243 J=J+1: Z1=H1*ZINS/100: ZS=H*ZINS/100: ZS=ZS+Z1: ZS=INT(ZS*100+.5)/100
244 TI=H1/J1
245 PRINT TAB(2)J,H,ZS,TI
246 J=J+1
247 H=H: H1=H1-TI: Z1=H1*ZINS/100: ZS=H*ZINS/100: ZS=ZS+Z1
248 IF J=J1+1 THEN 251
250 GOTO 245
251 ZS=H*ZINS/100: ZS=INT(ZS*100+.5)/100: TI=H*T/100: TI=INT(TI*100+.5)/100
252 PRINT TAB(2) J,H,ZS,TI
253 J=J+1: H=H-TI: ZS=H*ZINS/100: ZS=INT(ZS*100+.5)/100
254 TI=A-ZS: TI=INT(TI*100+.5)/100
255 IF H<A THEN 257
256 GOTO 252
257 PRINT TAB(2)"LETZTE RATE IM ";J;".TEN JAHR MIT DM ";H
258 PRINT: PRINT STRING$(79,205)
259 COLOR 0,15
260 PRINT TAB(29)"BELIEBIGE TASTE DRÜCKEN ": COLOR 15,0
261 PRINT STRING$(79,205): GOSUB 75
270 GOSUB 60
271 LOCATE 7,2: PRINT "DAS PROGRAMM-LISTING"
272 LOCATE 9,2: PRINT " 10 CLS 'BILDSCHIRM FREI"
273 LOCATE 10,2: PRINT " 20 INPUT 'HÖHE DER HYPOTHEK ';H 'EINGABE HYPOTHEK"
274 LOCATE 11,2: PRINT " 30 INPUT 'ZINSSATZ % / JAHR ';Z 'EINGABE ZINSSATZ"
275 LOCATE 12,2: PRINT " 40 INPUT 'TILGUNG % ';T 'EINGABE TILGUNG "
276 LOCATE 13,2: PRINT " 50 INPUT 'AUSZAHLUNGS-%-SATZ ';AZ 'EINGABE AUSZAHLUNG"
277 LOCATE 14,2: PRINT " 60 Z1=100-AZ 'BERECHNUNG "
278 LOCATE 15,2: PRINT " 70 H1=H*Z1/100 'BERECHNUNG "
279 LOCATE 16,2: PRINT " 80 INPUT 'TILGUNGSSTRECKE % ';J1 'EINGABE TILGUNG "
280 LOCATE 17,2: PRINT " 90 A=(H*Z/100)+(H*T/100) 'BERECHNUNG "
281 LOCATE 18,2: PRINT "100 PRINT 'JÄHRLICHE BELASTUNG BETRÄGT' 'TEXTAUSGABE "
282 LOCATE 19,2: PRINT "110 PRINT 'DEM';J1+1;'JAHR DM';A 'TEXTAUSGABE ": GOSUB 70
290 GOSUB 60
291 LOCATE 7,2: PRINT "120 PRINT 'ZEITLICHER ABBAU DER HYPOTHEK 'TEXTAUSGABE"
292 LOCATE 8,2: PRINT "130 PRINT 'JAHR',DARLEHEN','ZINS','TILGUNG' 'TEXT FORMATIERT"
293 LOCATE 9,2: PRINT "140 J=J+1 'JAHRE ZÄHLEN"
294 LOCATE 10,2: PRINT "150 Z1=H1*Z/100 'BERECHNUNG "
295 LOCATE 11,2: PRINT "160 ZS=H*Z/100 'BERECHNUNG "
296 LOCATE 12,2: PRINT "170 ZS=ZS+Z1 'BERECHNUNG "
297 LOCATE 13,2: PRINT "180 ZS=INT(ZS*100+.5)/100 'AUFRUNDEN "
298 LOCATE 14,2: PRINT "190 TI=H1/J1 'BERECHNUNG "
299 LOCATE 15,2: PRINT "200 PRINT J,H,ZS,TI 'AUSGABE DER WERTE"
300 LOCATE 16,2: PRINT "210 J=J+1 'JAHRE ZÄHLEN "
301 LOCATE 17,2: PRINT "220 H=H 'WERTZUWEISUNG"
302 LOCATE 18,2: PRINT "230 H1=H1-TI 'BERECHNUNG"
303 LOCATE 19,2: PRINT "240 Z1=H1*Z/100 'BERECHNUNG": GOSUB 70
310 GOSUB 60
311 LOCATE 7,2: PRINT "250 ZS=H*Z/100 'BERECHNUNG"
312 LOCATE 8,2: PRINT "260 ZS=ZS+Z1 'BERECHNUNG"
313 LOCATE 9,2: PRINT "270 IF J=J1+1 THEN 290 'VERGLEICH "
314 LOCATE 10,2: PRINT "280 GOTO 200 'RÜCKSPRUNG"
315 LOCATE 11,2: PRINT "290 ZS=H*Z/100 'BERECHNUNG"
316 LOCATE 12,2: PRINT "300 ZS=INT(ZS*100+.5)/100 'AUFRUNDEN "
317 LOCATE 13,2: PRINT "310 TI=H*T/100 'BERECHNUNG"
318 LOCATE 14,2: PRINT "320 TI=INT(TI*100+.5)/100 'AUFRUNDEN "
319 LOCATE 15,2: PRINT "330 PRINT J,H,ZS,TI 'AUSGABE DER WERTE"
320 LOCATE 16,2: PRINT "340 J=J+1 'ZÄHLER JAHRE"
321 LOCATE 17,2: PRINT "350 H=H-TI 'BERECHNUNG"
322 LOCATE 18,2: PRINT "360 ZS=H*Z/100 'BERECHNUNG": GOSUB 70
330 GOSUB 60
331 LOCATE 7,2: PRINT "370 ZS=INT(ZS*100+.5)/100 'AUFRUNDEN "
332 LOCATE 8,2: PRINT "380 TI=A-ZS 'BERECHNUNG"
333 LOCATE 9,2: PRINT "390 TI=INT(TI*100+.5)/100 'AUFRUNDEN "
334 LOCATE 10,2: PRINT "400 H=INT(H*100+.5)/100 'AUFRUNDEN "
335 LOCATE 11,2: PRINT "410 IF H<A THEN 430 'VERGLEICH "
336 LOCATE 12,2: PRINT "420 GOTO 330 'RÜCKSPRUNG"
337 LOCATE 13,2: PRINT "430 PRINT 'LETZTE RATE IM ';J;'.TEN JAHR' 'END TEXTAUSGABE"
338 LOCATE 14,2: PRINT "440 PRINT 'MIT DM ';H 'END TEXTAUSGABE"
340 LOCATE 20,1: PRINT STRING$(79,205)
341 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
342 LOCATE 21,1: PRINT " ENDE DES TEILS WIEDERHOLEN = W BEENDEN = E PROGRAMM-MENÜ LADEN = ESC ": COLOR 15,0
343 LOCATE 22,1: PRINT STRING$(79,205)
350 E$=INKEY$: IF E$="" THEN 350
351 IF E$="W" OR E$="w" THEN 100
352 IF E$="E" OR E$="e" THEN CLS: END
353 IF E$=CHR$(27) THEN 19
354 GOTO 350