matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenBASICVBA While - und Untilschleifen
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Geschichte • Erdkunde • Sozialwissenschaften • Politik/Wirtschaft
Forum "BASIC" - VBA While - und Untilschleifen
VBA While - und Untilschleifen < BASIC < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "BASIC"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

VBA While - und Untilschleifen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:42 So 23.10.2005
Autor: parodie17

Hallo zusammen.Ich hab schon alles versucht,bekomme aber diese WI-Hausaufgabe einfach nicht hin
Wann werde ich Halbmillionär (DM - Millionär)?
Kevin Müller möchte wissen, wann er seine erste halbe Million (DM Millionär) haben wird.Dazu schreibt er sich ein kleines VBA - Programm.Er gibt zunächst mit Hilfe von Input-Boxen folgende Parameter ein :
Sein Alter / sein momentanes Gehalt / die geschätzte Steigerung des Gehaltes pro Jahr in Prozent / Die geschätzte Verzinsung seines Sparkapitals in Prozent
Folgende Regeln gelten :
Unter 4000 Euro spart der 20 % seines Gehaltes, ab 4000 Euro 25 %, ab 5000 Euro 30 % . Die Steigerung seines Gehaltes soll alle 12 Monate einmal brücksichtigt werden. Die Verzinsung des Sparkapitals soll vereinfacht am Ende jeden Jahres erfolgen. Das Ergebnis soll in Jahren ausgegeben werden,außerdem das Alter zu diesem Zeitpunkt.

Also, ich habe das jetzt so gemacht :
Sub Millionär ()
Dim Gehalt as Curency
Dim Steigerung As Single
Dim Verzinsung As Single
Dim p As Single
Dim  age As Long

Gehalt = InputBox ("Bitte geben sie ihr Gehalt an.",  "Gehalt")
Steigerung = InputBoX ( Bitte geben Sie die geschätzte Steigerung des
Gehaltes pro Jahr in Prozent an.", "Steigerung Gehalt")
Verzinsung= inputbox("Bitte geben Sie die geschätzte Verzinsung Ihres Sparkapitals in Prozent an.", "Verzinsung Sparkapital")
age = inputbox("Bitte geben Sie Ihr Alter an.","Alter")

If Gehalt < 4000 Then
p = 20
Else
If Gehalt < 5000
p = 25
Else
p = 30

End if
End if

g = Gehalt
j = 1

Do until g > 500000
j = j + 1
age = age +1
v = g* Steigerung / 100
f = Verzinsung * g* p / 100
g = g + v+ f
Loop

Ende = Msgbox("Halbmillionär nach " & j & "Jahren und im ALter von " & age, 19, "Halbmillionär")

End Sub

Ich weiß nicht , wo mein Fehler liegt, denn als Lösung soll herauskommen:
bei einem Alter von 25 und einem Gehalt von 2500 und einer jährlichen Gehaltssteigerung von 2% und Bankzinsen von 2,5 % soll er nach 35/36 Jahren im Alter von 60 Jahren,Halbmilionär sein.

        
Bezug
VBA While - und Untilschleifen: Millionär nicht in diesem Lebe
Status: (Antwort) fehlerhaft Status 
Datum: 00:40 Mo 24.10.2005
Autor: rostwolf

Hallo Natascha,

ganz so schnell geht es wohl doch nicht. Nach meiner Rechnung dauert es 94 Jahre, um eine halbe Euromillion angespart zu haben. Nach 36 Jahren hat man gerade mal ca. 44.900 Euro angespart.

Hier meine VBA-Routine:

g = Gehalt ' Anfangsgehalt
    suspar = Gehalt / 100 * p      ' Sparkapital im 1. Jahr
    j = 0

    Do Until suspar > 500000
        j = j + 1
        age = age + 1
        sparzins = Verzinsung * suspar / 100  ' Zinsen auf Sparkapital
        g = g + g * Steigerung / 100    ' Gehaltssteigerung
        Select Case g
            Case Is < 4000
                p = 20
            Case Is < 5000
                p = 25
            Case Else
                p = 30
        End Select
        suspar = suspar + sparzins + p / 100 * g ' Sparkapital + Neuanlage
    Loop

    Ende = MsgBox("nach " + Str(j) + " Jahren - im Alter von " + Str(age) + " > 500000"

Ich hab mal eine Gegenrechnung in einer Excel-Tabelle gemacht - ergab dasselbe Ergebnis.

Rechne mal nach!
Gruß Wolfgang.



Bezug
                
Bezug
VBA While - und Untilschleifen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 06:52 Mo 24.10.2005
Autor: parodie17

Hallo rostwolf
Viieelen Dank für deine Mühe.Auf dieses Ergebnis bin ich bei vorherigen Versuchen auch gekommen.Vielleicht hat sich unser Lehrer auch vertan.Ich werde ihn nochmal fragen und melde mich dann wieder.Schließlich sollen die anderen, die auch bei dieser Aufgabe hängenbleiben nicht verwirrt werden, wenn das vorgegebene Ergebnis nicht stimmt.
Nochmals vielen Dank
Natascha

Bezug
                
Bezug
VBA While - und Untilschleifen: Korrektur
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:14 Di 25.10.2005
Autor: parodie17

Hallo rostwolf
Heute hatten wir wieder WI. Wir haben die Lösung von unserem Lehrer erhalten. Er musste sich selbst ganz schön konzentrieren.Ich glaube in der ganzen Klasse hatte niemand die richtige Anrwort.
Daran sieht man ja, dass die Aufgabe ganz schön verzwickt ist.
Also hier die Lösung:

Sub Millionär()
Dim Alter As Byte
Dim Gehalt As Currency
Dim Verzinsung As Single

Alter = InputBox("Alter?",  "Alter")
Gehalt = InputBox("Gehalt?",  "Gehalt")
Verzinsung = Inputbox("Verzinsung?",  "Verzinsung")
Steigerung = InputBox("Steigerung?",  "Steigerung")

K = 0
j = 0

Do Until K > 500000
Select Case Gehalt
Case Is < 4000
p = 0,2
Case Is < 5000
p = 0,25
Case Else
p = 0,3
End Select
K = K + 1
j = j + 1
Alter = Alter + 1
SB = Gehalt * 12 * p
Zinsen = (SB + K) * Verzinsung / 100
K = Zinsen + SB + K
Gehalt = Gehalt * Steigerung / 100 + Gehalt
Loop

Ende = MsgBox ("Halbmillionär nach "  & j &  " Jahren und im Alter von "  & Alter & " Jahren.", 16, "Halbmillionär")

ENd Sub

Nochmals vielen Dank für Deine Bemühungen.Ich hoffe, dass ich alles richtig abgetippt habe.
mfg Natascha

Bezug
                        
Bezug
VBA While - und Untilschleifen: so was dummes...
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 01:22 Do 27.10.2005
Autor: rostwolf

Hallo Natascha,

ja, dein Lehrer hat recht!

Mein Ansatz war schon gut, doch ich habe einen  dämlichen Fehler gemacht:

pro Jahr hatte ich nur  ein Gehalt und nicht 12 davon berechnen lassen. Dann geht das doch in diesem Leben...

Gruss von Wolfgang.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "BASIC"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]