home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
kaufmann
/
pk3.bas
< prev
next >
Wrap
BASIC Source File
|
1997-10-09
|
12KB
|
229 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,36: PRINT "S P A R 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 "Das Programm SPAREN erlaubt Ihnen, die Zinseszinsrechnung unter allen"
102 LOCATE 8,2: PRINT "erdenklichen Gesichtspunkten zu betreiben. Es geht von 4 Größen aus: "
103 LOCATE 10,2: PRINT "ANFANGSKAPITAL = KA (in DM)"
104 LOCATE 11,2: PRINT "ENDKAPITAL = KE (in DM)"
105 LOCATE 12,2: PRINT "ZINSSATZ = Z (in % Jahr)"
106 LOCATE 13,2: PRINT "LAUFZEIT = N (in Jahren)"
107 LOCATE 15,2: PRINT "Zur Berechnung verwenden wir folgende Formeln:"
108 LOCATE 16,2: PRINT "ANFANGSKAPITAL KA = KE / ((1+Z / 100 ) ^ N) "
109 LOCATE 17,2: PRINT "ENDKAPITAL KE = KA * (1+Z / 100 ) ^ N "
110 LOCATE 18,2: PRINT "ZINSSATZ Z = 100* ((KE / KA) ^ (1 / N) - 1)"
111 LOCATE 19,2: PRINT "LAUFZEIT N = (LOG(KE) - LOG(KA)) / LOG (1+Z / 100)": GOSUB 70
120 GOSUB 60
121 LOCATE 10,30: PRINT "PROGRAMM - MENÜ"
122 LOCATE 12,27: PRINT "1) ANFANGSKAPITAL"
123 LOCATE 13,27: PRINT "2) ENDKAPITAL "
124 LOCATE 14,27: PRINT "3) ZINSSATZ "
125 LOCATE 15,27: PRINT "4) LAUFZEIT "
126 LOCATE 16,27: PRINT "5) LISTING "
127 LOCATE 17,27: PRINT "6) PROGRAMM-MENÜ LADEN"
128 LOCATE 20,27: PRINT "BITTE WÄHLEN SIE "
130 E$=INKEY$: IF E$="" THEN 130
131 IF E$="1" THEN 140
132 IF E$="2" THEN 170
133 IF E$="3" THEN 200
134 IF E$="4" THEN 220
135 IF E$=CHR$(27) THEN 19
136 IF E$="5" THEN 500
137 IF E$="6" THEN 19
138 GOTO 130
140 GOSUB 60
141 LOCATE 7,2: PRINT "DIESER PROGRAMMTEIL BERECHNET DAS ANFANGSKAPITAL, DAS FÜR EIN"
142 LOCATE 8,2: PRINT "GEWÜNSCHTES ENDKAPITAL ANGELEGT WERDEN MUSS."
143 LOCATE 10,2: PRINT "HÖHE DES ENDKAPITALS :"
144 ZZ$="": R=10: S=26: L=7: PK%=2: GOSUB 20: KE$=ZZ$: IF KE$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 144
145 KE=VAL(KE$): IF KE <=0 THEN BEEP: GOSUB 90: GOTO 144
146 GOSUB 95: LOCATE 12,2: PRINT "ZINSSATZ PRO JAHR % :"
147 ZZ$="": R=12: S=26: L=1: PK%=2: GOSUB 20: Z1$=ZZ$: IF Z1$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 147
148 Z=VAL(Z1$): IF Z <=0 THEN BEEP: GOSUB 90: GOTO 147
149 GOSUB 95: LOCATE 14,2: PRINT "LAUFZEIT JAHR >99 :"
150 ZZ$="": R=14: S=26: L=2: PK%=2: GOSUB 20: J$=ZZ$: IF J$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 150
151 J=VAL(J$): IF J <=0 THEN BEEP: GOSUB 90: GOTO 150
152 GOSUB 95: KA=KE/((1+Z/100)^J)
153 KA=INT(KA*100+.5)/100
160 LOCATE 16,2: PRINT "Bei einem Endkapital von ";KE$;" DM und einem Zinssatz von ";Z1$;"%"
161 LOCATE 17,2: PRINT "und einer Laufzeit von ";J$;" Jahren muß ein Anfangskapital"
162 LOCATE 18,2: PRINT "von DM ";KA;" vorhanden sein.": GOSUB 70: GOTO 120
170 GOSUB 60
171 LOCATE 7,2: PRINT "DIESER PROGRAMMTEIL BERECHNET DAS ENDKAPITAL"
172 LOCATE 10,2: PRINT "HÖHE ANFANGSKAPITAL : ": ZZ$="": R=10: S=25: L=7: PK%=2: GOSUB 20: KA$=ZZ$: IF KA$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 172
173 KA=VAL(KA$): IF KA <=0 THEN BEEP: GOSUB 90: GOTO 173
174 GOSUB 95
175 LOCATE 12,2: PRINT "ANZAHL DER JAHRE>10 : "
176 ZZ$="": R=12: S=25: L=2: PK%=2: GOSUB 20: J$=ZZ$: IF J$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 176
177 J=VAL(J$): IF J <=0 OR J>10 THEN BEEP: GOSUB 90: GOTO 176
178 GOSUB 95
179 LOCATE 14,2: PRINT "ZINSSATZ IN % : "
180 ZZ$="": R=14: S=25: L=2: PK%=2: GOSUB 20: Z$=ZZ$: IF Z$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 180
181 Z=VAL(Z$): IF Z <=0 THEN BEEP: GOSUB 90: GOTO 180
182 GOSUB 95: GOSUB 70
185 GOSUB 60
186 LOCATE 7,2: PRINT "JAHR","KAPITAL"
187 LOCATE 8,2: PRINT "=========================": LOCATE 9,2
188 FOR I=1 TO INT(J)
189 KE=KA*(1+Z/100)^I
190 KE=INT(KE*100+.5)/100
191 PRINT TAB(2)I,KE
192 NEXT: GOSUB 70: GOTO 120
200 GOSUB 60
201 LOCATE 7,2: PRINT "DIESER PROGRAMMTEIL BERECHNET DEN ZINSSATZ"
202 LOCATE 10,2: PRINT "HÖHE DES ANFANGSKAPITALS :"
203 ZZ$="": R=10: S=30: L=7: PK%=2: GOSUB 20: KA$=ZZ$: IF KA$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 203
204 KA=VAL(KA$): IF KA<=0 THEN BEEP: GOSUB 90: GOTO 203
205 GOSUB 95
206 LOCATE 12,2: PRINT "HÖHE DES ENDKAPITALS :"
207 ZZ$="": R=12: S=30: L=7: PK%=2: GOSUB 20: KE$=ZZ$: IF KE$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 203
208 KE=VAL(KE$): IF KE<=0 OR KE<=KA THEN BEEP: GOSUB 90: GOTO 207
209 GOSUB 95
210 LOCATE 14,2: PRINT "ANZAHL DER JAHRE >99 :"
211 ZZ$="": R=14: S=30: L=2: PK%=2: GOSUB 20: J$=ZZ$: IF J$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 211
212 J=VAL(J$): IF J<=0 THEN BEEP: GOSUB 90: GOTO 211
213 GOSUB 95
214 Z=100*((KE/KA)^(1/J)-1): Z=INT(Z*100+.5)/100
215 LOCATE 16,2: PRINT "Das Kapital war zu ";Z;"% Zinsen pro Jahr verzinst": GOSUB 70: GOTO 120
220 GOSUB 60
221 LOCATE 7,2: PRINT "DIESER PROGRAMMTEIL BERECHNET DIE ZEIT, FÜR DIE DAS ANFANGSKAPITAL"
222 LOCATE 8,2: PRINT "FESTGELEGT WAR"
223 LOCATE 10,2: PRINT "HÖHE DES ANFANGSKAPITAL :"
224 ZZ$="": R=10: S=30: L=7: PK%=2: GOSUB 20: KA$=ZZ$: IF KA$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 224
225 KA=VAL(KA$): IF KA<=0 THEN BEEP: GOTO 224
226 GOSUB 95
227 LOCATE 12,2: PRINT "HÖHE DES ENDKAPITALS :"
228 ZZ$="": R=12: S=30: L=7: PK%=2: GOSUB 20: KE$=ZZ$: IF KE$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 228
229 KE=VAL(KE$): IF KE<=0 OR KE<=KA THEN BEEP: GOTO 228
230 GOSUB 95
231 LOCATE 14,2: PRINT "ZINSSATZ PRO JAHR IN % :"
232 ZZ$="": R=14: S=30: L=1: PK%=2: GOSUB 20: Z$=ZZ$: IF Z$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 232
233 Z=VAL(Z$): IF Z<=0 THEN BEEP: GOTO 232
234 GOSUB 95
235 J=(LOG(KE)-LOG(KA))/LOG(1+Z/100)
236 J=INT(J*10+.5)/10
237 LOCATE 16,2: PRINT "Das Kapital war für ";J;" Jahre festgelegt.": GOSUB 70: GOTO 120
500 GOSUB 60
501 LOCATE 7,2: PRINT "DAS PROGRAMM-LISTING"
502 LOCATE 9,2: PRINT " 10 CLS"
503 LOCATE 10,2: PRINT " 20 PRINT 'MENÜ'"
504 LOCATE 11,2: PRINT " 30 PRINT '1) ANFANGSKAPITAL'"
505 LOCATE 12,2: PRINT " 40 PRINT '2) ENDKAPITAL'"
506 LOCATE 13,2: PRINT " 50 PRINT '3) ZINSSATZ '"
507 LOCATE 14,2: PRINT " 60 PRINT '4) LAUFZEIT '"
508 LOCATE 15,2: PRINT " 70 PRINT '5) PROGRAMMENDE'"
509 LOCATE 16,2: PRINT " 80 E$=INKEY$: IF E$='' THEN 80"
510 LOCATE 17,2: PRINT " 90 E=VAL(E$): ON E GOSUB 100,200,300,400,96"
511 LOCATE 18,2: PRINT " 95 GOTO 10"
512 LOCATE 19,2: PRINT " 96 CLS: END": GOSUB 70
515 GOSUB 60
516 LOCATE 7,2: PRINT "100 CLS 'BERECHNUNG ANFANGSKAPITAL"
517 LOCATE 8,2: PRINT "110 INPUT 'HÖHE ENDKAPITAL';KE"
518 LOCATE 9,2: PRINT "120 INPUT 'HÖHE ZINSSATZ ';Z"
519 LOCATE 10,2: PRINT "130 INPUT 'LAUFZEIT JAHRE ';J"
520 LOCATE 11,2: PRINT "140 KA=KE/((1+Z/100)^J)"
521 LOCATE 12,2: PRINT "150 KA=INT(KA*100+.5)/100"
522 LOCATE 13,2: PRINT "160 PRINT 'Bei einem Endkapital von ';z;' % im Jahr"
523 LOCATE 14,2: PRINT "170 PRINT 'und einer Laufzeit von ';j;' Jahren"
524 LOCATE 15,2: PRINT "180 PRINT 'muß ein Anfangskapital von ';ka; ' DM"
525 LOCATE 16,2: PRINT "190 PRINT 'vorhanden sein.'"
526 LOCATE 17,2: PRINT "195 PRINT 'Beliebige Taste drücken'"
527 LOCATE 18,2: PRINT "196 e$=inkey$: if e$='' then 196"
528 LOCATE 19,2: PRINT "197 goto 10": GOSUB 70
530 GOSUB 60
531 LOCATE 7,2: PRINT "200 CLS 'BERECHNUNG ENDKAPITAL"
532 LOCATE 8,2: PRINT "210 input 'HÖHE ANFANGSKAPITAL';KA"
533 LOCATE 9,2: PRINT "220 input 'ANZAHL DER JAHRE ';J"
534 LOCATE 10,2: PRINT "230 input 'ZINSSATZ IN % ';Z"
535 LOCATE 11,2: PRINT "240 PRINT 'JAHR', 'KAPITAL'"
536 LOCATE 12,2: PRINT "250 FOR I=1 TO INT(J)"
537 LOCATE 13,2: PRINT "260 KE=KA*(1+Z/100)^I"
538 LOCATE 14,2: PRINT "270 KE=INT(KE*100+.5)/100"
539 LOCATE 15,2: PRINT "280 PRINT I,KE"
540 LOCATE 16,2: PRINT "290 NEXT I"
541 LOCATE 17,2: PRINT "295 PRINT 'Beliebige Taste drücken'"
542 LOCATE 18,2: PRINT "296 e$=inkey$: if e$='' then 296"
543 LOCATE 19,2: PRINT "297 goto 10": GOSUB 70
550 GOSUB 60
551 LOCATE 7,2: PRINT "300 CLS 'BERECHNUNG ZINSSATZ"
552 LOCATE 8,2: PRINT "310 input 'HÖHE ANFANGSKAPITAL';KA"
553 LOCATE 9,2: PRINT "320 input 'HÖHE ENDKAPITAL ';KE"
554 LOCATE 10,2: PRINT "330 input 'ANZAHL JAHRE ';J"
555 LOCATE 11,2: PRINT "340 Z=100*((KE/KA)^(1/J)-1)"
556 LOCATE 12,2: PRINT "350 PRINT 'DAS KAPITAL WAR ZU '; Z; '% PRO JAHR"
557 LOCATE 13,2: PRINT "360 PRINT 'VERZINST'"
558 LOCATE 14,2: PRINT "370 PRINT 'Beliebige Taste drücken'"
559 LOCATE 15,2: PRINT "380 e$=inkey$: if e$='' then 380"
560 LOCATE 16,2: PRINT "390 goto 10": GOSUB 70
570 GOSUB 60
571 LOCATE 7,2: PRINT "400 CLS 'BERECHNUNG LAUFZEIT"
572 LOCATE 8,2: PRINT "410 input 'HÖHE ANFANGSKAPITAL';KA"
573 LOCATE 9,2: PRINT "420 input 'HÖHE ENDKAPITAL ';KE"
574 LOCATE 10,2: PRINT "430 input 'ZINSSATZ IN % ';Z"
575 LOCATE 11,2: PRINT "440 J=(LOG(KE)-LOG(KA))/LOG(1+Z/100)"
576 LOCATE 12,2: PRINT "450 J=INT(J*10+.5)/10"
577 LOCATE 13,2: PRINT "460 PRINT 'Das Kapital war für'";j;'" JAHRE FESTGELEGT"
578 LOCATE 14,2: PRINT "470 PRINT 'Beliebige Taste drücken'"
579 LOCATE 15,2: PRINT "480 e$=inkey$: if e$='' then 480"
580 LOCATE 16,2: PRINT "490 goto 10": GOSUB 70: GOTO 120