1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Zinsrechnung - Programm !!

    • Frage
  • shiZZle
  • 16. Oktober 2007 um 17:14
  • Unerledigt
  • shiZZle
    6
    shiZZle
    Mitglied
    Punkte
    380
    Beiträge
    65
    • 16. Oktober 2007 um 17:14
    • #1

    Da bin ich mal wieder :omg:

    Heute will ich gerne ein Zinssberechnungs-Program schreiben, das solche aufgaben leicht lösen soll:

    Aufgabe: 1527 verkauften die Indianer für 27 Dollar Manhatten.

    Wie hoch wäre heute das angewachsene Kapizal bei einer Verzinung von 3,7%

    mein Code:

    Code
    REM Kerem Ciftci
    REM Zinsberechnung
    DIM anfangsjahr AS INTEGER
    DIM aktuellejahr AS INTEGER
    DIM i AS DOUBLE
    DIM zinssatz AS DOUBLE
    DIM kapital AS DOUBLE
    DIM zins AS DOUBLE
    
    
    CLS
    
    
    PRINT "Dieses Program errechnet das angewachsene Kapital!"
    PRINT
    INPUT "Geben Sie bitte das Kapital ein:"; kapital
    PRINT
    INPUT "Geben Sie nun das Anfangsjahr ein, als sie den Gegenstand verkauften:"; anfangsjahr
    PRINT
    INPUT "Nun geben Sie das aktuelle Jahr ein:"; aktuellejahr
    PRINT
    INPUT "Zuletzt brauchen wir noch den Zinssatz (Bitte durch einen Punkt trennen):"; zinssatz
    
    
    [size=14][B]FOR zins = anfangsjahr TO aktuellesjahr - 1
      zins = (kapital / 100) * zinssatz
    NEXT zins[/B][/SIZE]
    
    
    PRINT zins
    END
    Alles anzeigen

    Mein Problem ist, dass er das nicht richtitig ausrechnen will. Er gibt komischer weise anstatt Print zins, Printet er mir das anfangsjahr.. Könntet ihr mal gucken was da so fehlgeschlage ist ? Natürlich würde ich mich auch um andere Verbesserungsvorschläge freuen.

    EIN FETTES LOB ! DANK EUCH WERDE ICH IN INFORMATIK IMMER BESSER BZW. ICH VERSTEHE WAS MEIN LEHRER MIR VESUCHT ZU SAGEN xD :coolsmile:

  • Erklärbär
    8
    Erklärbär
    Mitglied
    Reaktionen
    6
    Punkte
    661
    Beiträge
    130
    • 16. Oktober 2007 um 17:22
    • #2

    schau dir mal deinen fetten text genau an. was fällt dir bezüglich der schleifen-laufvariable und der variable, der du das ergebnis zuweist, besonders auf?
    weiters sind laufvariable vom typ double in diesem fall suboptimal (es werden ja hoffentlich keine gleitpunkt-jahreszahlen eingegeben :winking_face:

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • shiZZle
    6
    shiZZle
    Mitglied
    Punkte
    380
    Beiträge
    65
    • 16. Oktober 2007 um 17:32
    • #3

    ich finde das vollkommen korrekt in der schleife...ich finde en fehler einfach net xD kennt ihr das wenn man einfach vor nem rießen berg steht obwohl es nur nen haufen ist ?

  • Erklärbär
    8
    Erklärbär
    Mitglied
    Reaktionen
    6
    Punkte
    661
    Beiträge
    130
    • 16. Oktober 2007 um 17:41
    • #4
    Code
    DIM zins AS DOUBLE
    DIM i AS INTEGER
    DIM kapital AS DOUBLE
    ....
    
    
    FOR i = anfangsjahr TO endjahr - 1
      kapital = (kapital / 100) * zins
    NEXT i
    
    
    PRINT kapital
    Alles anzeigen

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • shiZZle
    6
    shiZZle
    Mitglied
    Punkte
    380
    Beiträge
    65
    • 16. Oktober 2007 um 17:53
    • #5

    hmm ich hab ehergedacht so:

    Code
    REM Kerem Ciftci
    REM Zinsberechnung
    DIM anfangsjahr AS INTEGER
    DIM aktuellejahr AS INTEGER
    DIM i AS DOUBLE
    DIM zinssatz AS DOUBLE
    DIM kapital AS DOUBLE
    DIM zins AS DOUBLE
    
    
    CLS
    
    
    PRINT "Dieses Program errechnet das angewachsene Kapital!"
    PRINT
    INPUT "Geben Sie bitte das Kapital ein:"; kapital
    PRINT
    INPUT "Geben Sie nun das Anfangsjahr ein, als sie den Gegenstand verkauften:"; anfangsjahr
    PRINT
    INPUT "Nun geben Sie das aktuelle Jahr ein:"; aktuellejahr
    PRINT
    INPUT "Zuletzt brauchen wir noch den Zinssatz (Bitte durch einen Punkt trennen):"; zinssatz
    
    
    [B]FOR i = anfangsjahr TO aktuellejahr
      zins = (kapital / 100) * zinssatz
    NEXT i
    
    
    angewachseneskapital = kapital + zins[/B]
    
    
    PRINT
    PRINT
    PRINT "Bei einem Zinssatz von "; zinssatz; "% betragen die Zinsen:"; zins
    PRINT
    PRINT "Das angewachsene Kapital betr„gt:"; angewachseneskapital; " Euro."
    END
    Alles anzeigen

    Geht das so nicht?

  • shiZZle
    6
    shiZZle
    Mitglied
    Punkte
    380
    Beiträge
    65
    • 16. Oktober 2007 um 18:18
    • #6

    sorry muss mich korregieren. Es funzt wirklich nicht wie ich das gemacht habe, aber irgendwie klappts mit dem code vom ERKLÄRBÄR auch net...hmm andere idden?

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 16. Oktober 2007 um 18:27
    • #7

    Gibt's keine Funktion zum Potenzieren in Basic? Kann mich nimma erinnern... die Schleife find' ich irgendwie schrecklich.

  • Paulchen
    1
    Paulchen
    Gast
    • 16. Oktober 2007 um 18:32
    • #8
    Zitat von gelbasack

    Gibt's keine Funktion zum Potenzieren in Basic? Kann mich nimma erinnern... die Schleife find' ich irgendwie schrecklich.

    Wenn ich mich recht erinnere:

    Code
    kapital = kapital * ((1 + zinssatz/100) ^ jahre)
  • shiZZle
    6
    shiZZle
    Mitglied
    Punkte
    380
    Beiträge
    65
    • 16. Oktober 2007 um 19:16
    • #9

    das prob ist das wir das mit ner zählerschleife machen sollen, die dann halt die jahre ausrechnet, wenn ihr versteht was ich meine?

    halt die schleife geht sagen wir mal von 2000 bis 2006 dann soll der bei jedem jahr halt die rechnnung übernehmen..

    müsste dann das net so aussehen:

    Code
    FOR i = anfangsjahr TO aktuellesjahr -1
    kapital = kapital * ((1 + zinssatz/100) ^ [B]i[/B])
    Next i 
    
    
    Print Kapital

    Könnte sas so gehen? das man halt nicht die jahre immer ausrechnen muss sonern die schleife dafür einsetzt?

  • Paulchen
    1
    Paulchen
    Gast
    • 16. Oktober 2007 um 19:33
    • #10
    Zitat von shiZZle

    Könnte sas so gehen? das man halt nicht die jahre immer ausrechnen muss sonern die schleife dafür einsetzt?

    Du darfst in einer Iteration der Schleife nur die Zinsen für ein Jahr berücksichtigen:

    Code
    FOR i = anfangsjahr TO aktuellesjahr -1
    kapital = kapital * (1 + zinssatz/100)
    Next i 
    
    
    Print Kapital

    Sonst rechnest du für's erste Jahr die Zinsen für ein Jahr, für's zweite Jahr die Zinsen für zwei Jahre usw.

    Sich mal auf einem Blatt Papier die Zinseszinsrechnung durchzuüberlegen, soll auch schon Wunder gewirkt haben. :winking_face:

  • shiZZle
    6
    shiZZle
    Mitglied
    Punkte
    380
    Beiträge
    65
    • 16. Oktober 2007 um 19:54
    • #11

    Aber wieso macht er mit immer probleme wenn ich z.b. für anfangsjahr 1900 anebe und für aktuelles jahr 2007 ? Er sagt immer: Überlauf

    Code
    REM Zinsberechnung
    DIM anfangsjahr AS INTEGER
    DIM aktuellejahr AS INTEGER
    DIM i AS DOUBLE
    DIM zinssatz AS DOUBLE
    DIM kapital AS INTEGER
    DIM zins AS DOUBLE
    
    
    DO
            CLS
    
    
            PRINT "Dieses Program errechnet das angewachsene Kapital!"
            PRINT
            INPUT "Geben Sie bitte das Kapital ein:"; kapital
            PRINT
            INPUT "Geben Sie nun das Anfangsjahr ein, als sie den Gegenstand verkauften:"; anfangsjahr
            PRINT
            INPUT "Nun geben Sie das aktuelle Jahr ein:"; aktuellejahr
            PRINT
            INPUT "Zuletzt brauchen wir noch den Zinssatz (Bitte durch einen Punkt trennen):"; zinssatz
    
    
            FOR i = anfangsjahr TO aktuellejahr - 2
             kapital = kapital * (1 + zinssatz / 100)
            NEXT i
    
    
            PRINT
            PRINT
            PRINT "Das angewachsene Kapital,von "; anfangsjahr; " bis "; aktuellejahr; ",bei einem Zinssatz von "; zinssatz;
            PRINT
            [B]PRINT USING "Betr„gt:"; kapital[/B]
            PRINT
            PRINT
            INPUT "Programm erneut starten mit j"; auswahl$
    
    
            auswahl$ = UCASE$(auswahl$)
    
    
    LOOP WHILE auswahl$ = "J"
    PRINT "Programmende!!"
    END
    Alles anzeigen


    Noch ne andere Frage..Mein Lehrer meinte man könnte mit Print USING die Währung machen...wisst ihr wie das geht? ich weis es nämlich net.

    PS: danke nochmal Paulchen, sehr hilfreich

  • Paulchen
    1
    Paulchen
    Gast
    • 16. Oktober 2007 um 20:13
    • #12
    Zitat von shiZZle

    Aber wieso macht er mit immer probleme wenn ich z.b. für anfangsjahr 1900 anebe und für aktuelles jahr 2007 ? Er sagt immer: Überlauf

    Naja, da wird halt irgendwo eine Zahl zu groß. Was nimmst du denn für Startkapital und Zinssatz?

    Zitat von shiZZle

    Noch ne andere Frage..Mein Lehrer meinte man könnte mit Print USING die Währung machen...wisst ihr wie das geht? ich weis es nämlich net.

    Ja, mit PRINT USING kann man Zahlen für die Ausgabe formatieren, zum Beispiel, wenn du willst, dass höchstens vier Vorkommastellen und immer zwei Nachkommastellen angezeigt werden sollen:

    Code
    PRINT USING "####.##"; kapital
  • shiZZle
    6
    shiZZle
    Mitglied
    Punkte
    380
    Beiträge
    65
    • 16. Oktober 2007 um 20:19
    • #13

    aso, hmm also ich gebe für startkapital 2000 ein, und zinssatz 5

    Zitat


    PRINT USING "####.##"; kapital

    Wenn ich das mache kommt vor dem Kapital immer: beispiel: 400 Euro = %400euro

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung