home *** CD-ROM | disk | FTP | other *** search
/ M.u.C.S. Disc 2000 / MUCS2000.iso / sigisoft / kaufmann / pk3.bas < prev    next >
BASIC Source File  |  1997-10-09  |  12KB  |  229 lines

  1. 1 WIDTH 80: COLOR 15,0,0
  2. 10 GOTO 100
  3. 15 LOCATE 20,1: PRINT STRING$(79,205)
  4. 16 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
  5. 17 LOCATE 21,25: PRINT "PROGRAMM WIRD GELADEN.BITTE WARTEN": COLOR 15,0
  6. 18 LOCATE 22,1: PRINT STRING$(79,205): RETURN
  7. 19 GOSUB 15: RUN "MENUE"
  8. 20 ZZ$=LEFT$(ZZ$,L):ZZ$=ZZ$+STRING$(L-LEN(ZZ$),95):Z2=0:Y=1
  9. 21 LOCATE R,S,O:PRINT ZZ$;
  10. 22 LOCATE R,S+Y-1,1
  11. 23 Z$=INKEY$: IF Z$="" THEN 23 ELSE Z=ASC(Z$): Z1=0: IF Z=0 THEN Z1=ASC(RIGHT$(Z$,1))
  12. 24 IF Z<>13 THEN 28 ELSE IF Z2 >0 THEN 23
  13. 25 IF Y=1 THEN ZZ$=CHR$(13):RETURN
  14. 26 IF RIGHT$(ZZ$,1)="_" THEN ZZ$=LEFT$(ZZ$,INSTR(ZZ$,"_")-1)
  15. 27 RETURN
  16. 28 IF Z<>0 THEN 48
  17. 29 IF Z1<>71 THEN 31 ELSE IF Y=1 OR Z2 THEN 23
  18. 30 Y=1:GOTO 22
  19. 31 IF Z1<>75 THEN 33 ELSE IF Y=1 OR Z2 THEN 23
  20. 32 Y=Y-1:GOTO 22
  21. 33 IF Z1<>77 THEN 35 ELSE IF MID$(ZZ$,Y,1)="_" OR Y>L THEN 23
  22. 34 Y=Y+1:GOTO 22
  23. 35 IF Z1<>79 THEN 39 ELSE IF Y>L OR Z2 THEN 23
  24. 36 IF MID$(ZZ$,Y,1)="_" THEN 23
  25. 37 Y=Y+1
  26. 38 IF MID$(ZZ$,Y,1)="_" THEN 22 ELSE 37
  27. 39 IF Z1<>82 THEN 42 ELSE IF RIGHT$(ZZ$,1)<>"_" THEN 23
  28. 40 IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  29. 41 ZZ$=LEFT$(ZZ$,Y-1)+"_"+MID$(ZZ$,Y,L-Y):Z2=Z2+1:GOTO 21
  30. 42 IF Z1<>83 THEN 44 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  31. 43 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+MID$(ZZ$,Y+1)+"_":GOTO 21
  32. 44 IF Z1<>117 THEN 46 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  33. 45 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+STRING$(L-Y+1,95):GOTO 21
  34. 46 IF Z1<>119 THEN 23 ELSE IF Y=1 THEN 23
  35. 47 ZZ$=MID$(ZZ$,Y)+STRING$(Y-1,95):Y=1:GOTO 21
  36. 48 IF Z<>8 THEN 50 ELSE IF Y=1 THEN 23
  37. 49 ZZ$=LEFT$(ZZ$,Y-2)+MID$(ZZ$,Y)+"_":Y=Y-1:GOTO 21
  38. 50 IF Z<>27 THEN 51 ELSE ZZ$=STRING$(L,95):Y=1:Z2=0: GOTO 21
  39. 51 IF Z=95 OR Y>L THEN 23
  40. 52 ON PK% GOTO 55,53,54
  41. 53 IF Z<46 OR Z>58 THEN 23 ELSE 55
  42. 54 IF Z<>106 AND Z<>110 THEN 23
  43. 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
  44. 56 IF Z2 THEN Z2=Z2-1
  45. 57 RETURN
  46. 60 CLS: LOCATE 2,1: PRINT STRING$(79,205)
  47. 61 LOCATE 3,1: COLOR 0,15: PRINT SPACE$(79): LOCATE 3,30: PRINT "KAUFMÄNNISCHES  RECHNEN": LOCATE 4,1: PRINT SPACE$(79)
  48. 62 LOCATE 4,30: PRINT "(C) BY SIEGFRIED HÜBNER       ESC =LADE MENÜ": LOCATE 5,1: PRINT SPACE$(79)
  49. 63 LOCATE 5,36: PRINT "S P A R E N"
  50. 64 COLOR 15,0: LOCATE 6,1: PRINT STRING$(79,205): RETURN
  51. 70 LOCATE 20,1: PRINT STRING$(79,205)
  52. 71 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
  53. 72 LOCATE 21,29: PRINT "BELIEBIGE TASTE DRÜCKEN": COLOR 15,0
  54. 73 LOCATE 22,1: PRINT STRING$(79,205)
  55. 75 E$=INKEY$: IF E$="" THEN 75
  56. 76 IF E$=CHR$(27) THEN 19
  57. 77 RETURN
  58. 90 LOCATE 20,1: PRINT STRING$(79,205)
  59. 91 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
  60. 92 LOCATE 21,34: PRINT "FALSCHE EINGABE": COLOR 15,0
  61. 93 LOCATE 22,1: PRINT STRING$(79,205): RETURN
  62. 95 FOR T=1 TO 4: LOCATE 19+T,1: PRINT SPACE$(79): NEXT: RETURN
  63. 100 GOSUB 60
  64. 101 LOCATE 7,2: PRINT "Das Programm SPAREN erlaubt Ihnen, die Zinseszinsrechnung unter allen"
  65. 102 LOCATE 8,2: PRINT "erdenklichen Gesichtspunkten zu betreiben. Es geht von 4 Größen aus: "
  66. 103 LOCATE 10,2: PRINT "ANFANGSKAPITAL  = KA    (in DM)"
  67. 104 LOCATE 11,2: PRINT "ENDKAPITAL      = KE    (in DM)"
  68. 105 LOCATE 12,2: PRINT "ZINSSATZ        =  Z    (in % Jahr)"
  69. 106 LOCATE 13,2: PRINT "LAUFZEIT        =  N    (in Jahren)"
  70. 107 LOCATE 15,2: PRINT "Zur Berechnung verwenden wir folgende Formeln:"
  71. 108 LOCATE 16,2: PRINT "ANFANGSKAPITAL  KA = KE / ((1+Z / 100 ) ^ N)  "
  72. 109 LOCATE 17,2: PRINT "ENDKAPITAL      KE = KA *  (1+Z / 100 ) ^ N   "
  73. 110 LOCATE 18,2: PRINT "ZINSSATZ         Z = 100* ((KE / KA) ^ (1 / N) - 1)"
  74. 111 LOCATE 19,2: PRINT "LAUFZEIT         N = (LOG(KE) - LOG(KA)) / LOG (1+Z / 100)": GOSUB 70
  75. 120 GOSUB 60
  76. 121 LOCATE 10,30: PRINT "PROGRAMM - MENÜ"
  77. 122 LOCATE 12,27: PRINT "1) ANFANGSKAPITAL"
  78. 123 LOCATE 13,27: PRINT "2) ENDKAPITAL    "
  79. 124 LOCATE 14,27: PRINT "3) ZINSSATZ      "
  80. 125 LOCATE 15,27: PRINT "4) LAUFZEIT      "
  81. 126 LOCATE 16,27: PRINT "5) LISTING       "
  82. 127 LOCATE 17,27: PRINT "6) PROGRAMM-MENÜ LADEN"
  83. 128 LOCATE 20,27: PRINT "BITTE WÄHLEN SIE "
  84. 130 E$=INKEY$: IF E$="" THEN 130
  85. 131 IF E$="1" THEN 140
  86. 132 IF E$="2" THEN 170
  87. 133 IF E$="3" THEN 200
  88. 134 IF E$="4" THEN 220
  89. 135 IF E$=CHR$(27) THEN 19
  90. 136 IF E$="5" THEN 500
  91. 137 IF E$="6" THEN 19
  92. 138 GOTO 130
  93. 140 GOSUB 60
  94. 141 LOCATE 7,2: PRINT "DIESER PROGRAMMTEIL BERECHNET DAS ANFANGSKAPITAL, DAS FÜR EIN"
  95. 142 LOCATE 8,2: PRINT "GEWÜNSCHTES ENDKAPITAL ANGELEGT WERDEN MUSS."
  96. 143 LOCATE 10,2: PRINT "HÖHE DES ENDKAPITALS  :"
  97. 144 ZZ$="": R=10: S=26: L=7: PK%=2: GOSUB 20: KE$=ZZ$: IF KE$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 144
  98. 145 KE=VAL(KE$): IF KE <=0 THEN BEEP: GOSUB 90: GOTO 144
  99. 146 GOSUB 95: LOCATE 12,2: PRINT "ZINSSATZ PRO JAHR %   :"
  100. 147 ZZ$="": R=12: S=26: L=1: PK%=2: GOSUB 20: Z1$=ZZ$: IF Z1$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 147
  101. 148 Z=VAL(Z1$): IF Z <=0 THEN BEEP: GOSUB 90: GOTO 147
  102. 149 GOSUB 95: LOCATE 14,2: PRINT "LAUFZEIT JAHR >99     :"
  103. 150 ZZ$="": R=14: S=26: L=2: PK%=2: GOSUB 20: J$=ZZ$: IF J$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 150
  104. 151 J=VAL(J$): IF J <=0 THEN BEEP: GOSUB 90: GOTO 150
  105. 152 GOSUB 95: KA=KE/((1+Z/100)^J)
  106. 153 KA=INT(KA*100+.5)/100
  107. 160 LOCATE 16,2: PRINT "Bei einem Endkapital von ";KE$;" DM und einem Zinssatz von ";Z1$;"%"
  108. 161 LOCATE 17,2: PRINT "und einer Laufzeit von ";J$;" Jahren muß ein Anfangskapital"
  109. 162 LOCATE 18,2: PRINT "von DM ";KA;" vorhanden sein.": GOSUB 70: GOTO 120
  110. 170 GOSUB 60
  111. 171 LOCATE 7,2: PRINT "DIESER PROGRAMMTEIL BERECHNET DAS ENDKAPITAL"
  112. 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
  113. 173 KA=VAL(KA$): IF KA <=0 THEN BEEP: GOSUB 90: GOTO 173
  114. 174 GOSUB 95
  115. 175 LOCATE 12,2: PRINT "ANZAHL DER JAHRE>10 : "
  116. 176 ZZ$="": R=12: S=25: L=2: PK%=2: GOSUB 20:  J$=ZZ$: IF  J$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 176
  117. 177  J=VAL(J$): IF  J <=0 OR J>10 THEN BEEP: GOSUB 90: GOTO 176
  118. 178 GOSUB 95
  119. 179 LOCATE 14,2: PRINT "ZINSSATZ IN %       : "
  120. 180 ZZ$="": R=14: S=25: L=2: PK%=2: GOSUB 20:  Z$=ZZ$: IF  Z$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 180
  121. 181  Z=VAL(Z$): IF  Z <=0 THEN BEEP: GOSUB 90: GOTO 180
  122. 182 GOSUB 95: GOSUB 70
  123. 185 GOSUB 60
  124. 186 LOCATE 7,2: PRINT "JAHR","KAPITAL"
  125. 187 LOCATE 8,2: PRINT "=========================": LOCATE 9,2
  126. 188 FOR I=1 TO INT(J)
  127. 189 KE=KA*(1+Z/100)^I
  128. 190 KE=INT(KE*100+.5)/100
  129. 191 PRINT TAB(2)I,KE
  130. 192 NEXT: GOSUB 70: GOTO 120
  131. 200 GOSUB 60
  132. 201 LOCATE 7,2: PRINT "DIESER PROGRAMMTEIL BERECHNET DEN ZINSSATZ"
  133. 202 LOCATE 10,2: PRINT "HÖHE DES ANFANGSKAPITALS :"
  134. 203 ZZ$="": R=10: S=30: L=7: PK%=2: GOSUB 20: KA$=ZZ$: IF KA$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 203
  135. 204 KA=VAL(KA$): IF KA<=0 THEN BEEP: GOSUB 90: GOTO 203
  136. 205 GOSUB 95
  137. 206 LOCATE 12,2: PRINT "HÖHE DES ENDKAPITALS     :"
  138. 207 ZZ$="": R=12: S=30: L=7: PK%=2: GOSUB 20: KE$=ZZ$: IF KE$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 203
  139. 208 KE=VAL(KE$): IF KE<=0 OR KE<=KA THEN BEEP: GOSUB 90: GOTO 207
  140. 209 GOSUB 95
  141. 210 LOCATE 14,2: PRINT "ANZAHL DER JAHRE >99     :"
  142. 211 ZZ$="": R=14: S=30: L=2: PK%=2: GOSUB 20:  J$=ZZ$: IF  J$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 211
  143. 212  J=VAL(J$): IF  J<=0 THEN BEEP: GOSUB 90: GOTO 211
  144. 213 GOSUB 95
  145. 214 Z=100*((KE/KA)^(1/J)-1): Z=INT(Z*100+.5)/100
  146. 215 LOCATE 16,2: PRINT "Das Kapital war zu ";Z;"% Zinsen pro Jahr verzinst": GOSUB 70: GOTO 120
  147. 220 GOSUB 60
  148. 221 LOCATE 7,2: PRINT "DIESER PROGRAMMTEIL BERECHNET DIE ZEIT, FÜR DIE DAS ANFANGSKAPITAL"
  149. 222 LOCATE 8,2: PRINT "FESTGELEGT WAR"
  150. 223 LOCATE 10,2: PRINT "HÖHE DES ANFANGSKAPITAL :"
  151. 224 ZZ$="": R=10: S=30: L=7: PK%=2: GOSUB 20: KA$=ZZ$: IF KA$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 224
  152. 225 KA=VAL(KA$): IF KA<=0 THEN BEEP: GOTO 224
  153. 226 GOSUB 95
  154. 227 LOCATE 12,2: PRINT "HÖHE DES ENDKAPITALS    :"
  155. 228 ZZ$="": R=12: S=30: L=7: PK%=2: GOSUB 20: KE$=ZZ$: IF KE$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 228
  156. 229 KE=VAL(KE$): IF KE<=0 OR KE<=KA THEN BEEP: GOTO 228
  157. 230 GOSUB 95
  158. 231 LOCATE 14,2: PRINT "ZINSSATZ PRO JAHR IN %  :"
  159. 232 ZZ$="": R=14: S=30: L=1: PK%=2: GOSUB 20: Z$=ZZ$: IF Z$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 232
  160. 233 Z=VAL(Z$): IF Z<=0 THEN BEEP: GOTO 232
  161. 234 GOSUB 95
  162. 235 J=(LOG(KE)-LOG(KA))/LOG(1+Z/100)
  163. 236 J=INT(J*10+.5)/10
  164. 237 LOCATE 16,2: PRINT "Das Kapital war für ";J;" Jahre festgelegt.": GOSUB 70: GOTO 120
  165. 500 GOSUB 60
  166. 501 LOCATE 7,2: PRINT "DAS PROGRAMM-LISTING"
  167. 502 LOCATE 9,2: PRINT " 10 CLS"
  168. 503 LOCATE 10,2: PRINT " 20 PRINT 'MENÜ'"
  169. 504 LOCATE 11,2: PRINT " 30 PRINT '1) ANFANGSKAPITAL'"
  170. 505 LOCATE 12,2: PRINT " 40 PRINT '2) ENDKAPITAL'"
  171. 506 LOCATE 13,2: PRINT " 50 PRINT '3) ZINSSATZ  '"
  172. 507 LOCATE 14,2: PRINT " 60 PRINT '4) LAUFZEIT  '"
  173. 508 LOCATE 15,2: PRINT " 70 PRINT '5) PROGRAMMENDE'"
  174. 509 LOCATE 16,2: PRINT " 80 E$=INKEY$: IF E$='' THEN 80"
  175. 510 LOCATE 17,2: PRINT " 90 E=VAL(E$): ON E GOSUB 100,200,300,400,96"
  176. 511 LOCATE 18,2: PRINT " 95 GOTO 10"
  177. 512 LOCATE 19,2: PRINT " 96 CLS: END": GOSUB 70
  178. 515 GOSUB 60
  179. 516 LOCATE 7,2: PRINT "100 CLS        'BERECHNUNG ANFANGSKAPITAL"
  180. 517 LOCATE 8,2: PRINT "110 INPUT 'HÖHE ENDKAPITAL';KE"
  181. 518 LOCATE 9,2: PRINT "120 INPUT 'HÖHE ZINSSATZ  ';Z"
  182. 519 LOCATE 10,2: PRINT "130 INPUT 'LAUFZEIT JAHRE ';J"
  183. 520 LOCATE 11,2: PRINT "140 KA=KE/((1+Z/100)^J)"
  184. 521 LOCATE 12,2: PRINT "150 KA=INT(KA*100+.5)/100"
  185. 522 LOCATE 13,2: PRINT "160 PRINT 'Bei einem Endkapital von ';z;' % im Jahr"
  186. 523 LOCATE 14,2: PRINT "170 PRINT 'und einer Laufzeit von ';j;' Jahren"
  187. 524 LOCATE 15,2: PRINT "180 PRINT 'muß ein Anfangskapital von ';ka; ' DM"
  188. 525 LOCATE 16,2: PRINT "190 PRINT 'vorhanden sein.'"
  189. 526 LOCATE 17,2: PRINT "195 PRINT 'Beliebige Taste drücken'"
  190. 527 LOCATE 18,2: PRINT "196 e$=inkey$: if e$='' then 196"
  191. 528 LOCATE 19,2: PRINT "197 goto 10": GOSUB 70
  192. 530 GOSUB 60
  193. 531 LOCATE 7,2: PRINT "200 CLS        'BERECHNUNG ENDKAPITAL"
  194. 532 LOCATE 8,2: PRINT "210 input 'HÖHE ANFANGSKAPITAL';KA"
  195. 533 LOCATE 9,2: PRINT "220 input 'ANZAHL DER JAHRE   ';J"
  196. 534 LOCATE 10,2: PRINT "230 input 'ZINSSATZ IN %      ';Z"
  197. 535 LOCATE 11,2: PRINT "240 PRINT 'JAHR', 'KAPITAL'"
  198. 536 LOCATE 12,2: PRINT "250 FOR I=1 TO INT(J)"
  199. 537 LOCATE 13,2: PRINT "260 KE=KA*(1+Z/100)^I"
  200. 538 LOCATE 14,2: PRINT "270 KE=INT(KE*100+.5)/100"
  201. 539 LOCATE 15,2: PRINT "280 PRINT I,KE"
  202. 540 LOCATE 16,2: PRINT "290 NEXT I"
  203. 541 LOCATE 17,2: PRINT "295 PRINT 'Beliebige Taste drücken'"
  204. 542 LOCATE 18,2: PRINT "296 e$=inkey$: if e$='' then 296"
  205. 543 LOCATE 19,2: PRINT "297 goto 10": GOSUB 70
  206. 550 GOSUB 60
  207. 551 LOCATE 7,2: PRINT "300 CLS        'BERECHNUNG ZINSSATZ"
  208. 552 LOCATE 8,2: PRINT "310 input 'HÖHE ANFANGSKAPITAL';KA"
  209. 553 LOCATE 9,2: PRINT "320 input 'HÖHE ENDKAPITAL    ';KE"
  210. 554 LOCATE 10,2: PRINT "330 input 'ANZAHL JAHRE       ';J"
  211. 555 LOCATE 11,2: PRINT "340 Z=100*((KE/KA)^(1/J)-1)"
  212. 556 LOCATE 12,2: PRINT "350 PRINT 'DAS KAPITAL WAR ZU '; Z; '% PRO JAHR"
  213. 557 LOCATE 13,2: PRINT "360 PRINT 'VERZINST'"
  214. 558 LOCATE 14,2: PRINT "370 PRINT 'Beliebige Taste drücken'"
  215. 559 LOCATE 15,2: PRINT "380 e$=inkey$: if e$='' then 380"
  216. 560 LOCATE 16,2: PRINT "390 goto 10": GOSUB 70
  217. 570 GOSUB 60
  218. 571 LOCATE 7,2: PRINT "400 CLS        'BERECHNUNG LAUFZEIT"
  219. 572 LOCATE 8,2: PRINT "410 input 'HÖHE ANFANGSKAPITAL';KA"
  220. 573 LOCATE 9,2: PRINT "420 input 'HÖHE ENDKAPITAL    ';KE"
  221. 574 LOCATE 10,2: PRINT "430 input 'ZINSSATZ IN %      ';Z"
  222. 575 LOCATE 11,2: PRINT "440 J=(LOG(KE)-LOG(KA))/LOG(1+Z/100)"
  223. 576 LOCATE 12,2: PRINT "450 J=INT(J*10+.5)/10"
  224. 577 LOCATE 13,2: PRINT "460 PRINT 'Das Kapital war für'";j;'" JAHRE FESTGELEGT"
  225. 578 LOCATE 14,2: PRINT "470 PRINT 'Beliebige Taste drücken'"
  226. 579 LOCATE 15,2: PRINT "480 e$=inkey$: if e$='' then 480"
  227. 580 LOCATE 16,2: PRINT "490 goto 10": GOSUB 70: GOTO 120
  228.  
  229.