Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
alej
Anmeldungsdatum: 02.10.2009 Beiträge: 9
|
Verfasst am: 02.10.2009, 13:29 Titel: FOR ... NEXT Ich komme nicht weiter |
|
|
Hallo zusammen,
Ich schreibe ein kleines Programm was mir den Jährlichen Abschreibungsbetrag den Buchwert am Jahresende und den Abschreibungssatz berechnen soll.
Das Problem ist nur,dass in meiner FOR ... NEXT Schleife sich der Buchwert nicht um den Abschreibungsbetrag verringert, außer im ersten Jahr...
Im ersten Jahr passt alles, nur dann müsste eigentlich der Buchwert am Jahresende als Buchwert des Jahresanfangs im 2. Jahr stehen usw.
Vielleicht ist es auch nur ein Logikfehler, mache das sonst immer auf Papier ... Und da ich recht neu bin in Sachen Basic-Programmierung, will ich ein Logikfehler nicht ausschließen.
Code: |
DIM Anschaffungskosten AS INTEGER
DIM Nutzungsdauer AS INTEGER
DIM Abschreibungssatz AS INTEGER
DIM BuchwertJahresanfang AS INTEGER
DIM BuchwertJahresende AS INTEGER
DIM AbschreibungProJahr AS INTEGER
DIM Buchwert AS INTEGER
DIM Schleife AS INTEGER
input "Anschaffungskosten : ", Anschaffungskosten
input "Nutzungsdauer : ", Nutzungsdauer
print "Abschreibung pro Jahr : ", Anschaffungskosten / Nutzungsdauer
Abschreibungssatz = 100 / Nutzungsdauer
print "Abschreibungssatz : ", Abschreibungssatz
BuchwertJahresanfang = Anschaffungskosten
AbschreibungProJahr = Anschaffungskosten / Nutzungsdauer
BuchwertJahresende = BuchwertJahresanfang - AbschreibungProJahr
print "Jahr Anfang Ende Abschreibung"
print "======================================================="
for Schleife=1 to Nutzungsdauer
Buchwert = BuchwertJahresanfang - AbschreibungProJahr
print Schleife, BuchwertJahresanfang, BuchwertJahresende, AbschreibungProJahr
next Schleife
print "======================================================="
sleep
|
MfG
alej |
|
Nach oben |
|
 |
frebas
Anmeldungsdatum: 20.06.2008 Beiträge: 245
|
Verfasst am: 02.10.2009, 13:57 Titel: |
|
|
In deiner For schleife ändert sich die variable "schleife", deine Variablen haben alle sehr lange namen...
Für mal am ende der schleife folgenedes ein:
"BuchwertJahresanfang=buchwert"
Vielleicht ist es das was du erreichen willst, ich verstehe nicht was dein programm machen soll. |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 02.10.2009, 13:59 Titel: |
|
|
Hi und willkommen im Forum.
Dein Problem ist, dass du die Werte nur einmal berechnest, du musst sie aber in der Schleife aktualisieren:
Code: | FOR Schleife=1 TO Nutzungsdauer
Print Schleife, BuchwertJahresanfang, BuchwertJahresende, AbschreibungProJahr
BuchwertJahresanfang = BuchwertJahresanfang - AbschreibungProJahr
BuchwertJahresende = BuchwertJahresanfang - AbschreibungProJahr
NEXT Schleife |
Übrigens muss nach dem NEXT nichts stehen, würde also auch ohne das "Schleife" gehen.
Noch ein Tipp für die Variablen:
Code: | DIM AS Integer Anschaffungskosten, Nutzungsdauer, Abschreibungssatz, BuchwertJahresanfang, AbschreibungProJahr, Schleife
|
So lässt es sich schneller arbeiten.
edit: mist, war nicht erster
Aja und noch eine Sache, du berechnest nur lineare Afa, versuch noch die degressive einzubauen  |
|
Nach oben |
|
 |
alej
Anmeldungsdatum: 02.10.2009 Beiträge: 9
|
Verfasst am: 02.10.2009, 14:21 Titel: |
|
|
Hi,
danke für die schnelle Antwort.
Ich will vorerst auch nur die lineare berechnen die degressive soll dann später kommen, inklusive des idealen Wechselzeitpunktes.
Danke @MOD
Code: |
Print Schleife, BuchwertJahresanfang, BuchwertJahresende, AbschreibungProJahr
BuchwertJahresanfang = BuchwertJahresanfang - AbschreibungProJahr
BuchwertJahresende = BuchwertJahresanfang - AbschreibungProJahr
|
Genau das wars Vielen Dank!!!!!
@frebas
Bin noch am üben und deshalb die langen Namen für die Variablen, erleichtert mir etwas die Übersicht...
MfG
alej |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 02.10.2009, 14:28 Titel: |
|
|
Der ideale Wechselzeitpunkt ist in 99,999% der Fälle nach (Nutzungsdauer - 4) Jahren. Da gibt es zwar eine Rechnung, wie man auf den Wert kommt, aber das entsprach eigentlich immer dem, was ich mit meiner Art gerechnet hab, kann mich an keine Ausnahme erinnern. |
|
Nach oben |
|
 |
alej
Anmeldungsdatum: 02.10.2009 Beiträge: 9
|
Verfasst am: 02.10.2009, 14:44 Titel: |
|
|
@Mod
ich habe das mit dem idealen Wechselzeitpunkt so gelernt...
i = n - 100 / p + 1
n = Nutzungsdauer
p = degressiver Abschreibungssatz
MfG
alej |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 02.10.2009, 14:55 Titel: |
|
|
i = 8 - 100/20 + 1 = 4, womit meine Aussage stimmt.
Zu meiner Zeit war der Höchstsatz 20%, vor kurzem gab es keine degressive Afa mehr und jetzt ist der Höchstsatz glaub 25%.
Die Formel muss man halt dem Prozentsatz angleichen  |
|
Nach oben |
|
 |
alej
Anmeldungsdatum: 02.10.2009 Beiträge: 9
|
Verfasst am: 02.10.2009, 15:04 Titel: |
|
|
@Mod
x 2,5 des linearen bzw. max. 25 % ...
Unglaublich, da ist man in einem Programmierforum und trifft gleichgesinnte Rechnungswesen-Fanatiker
Na mal schauen was man mit FreeBasic noch so alles anstellen kann, wollte mal wegkommen von den ewigen Excel-Spielerein...
MfG |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 03.10.2009, 12:56 Titel: |
|
|
Die ganze Programmiererei hat zur Folge, dass man gut rechnen, oder zu mindest sehr interessiert in Mathe ist, denke ich. Kann natürlich auch andersherum sein
Ich zu mindest "liebe" Mathe. Ich mach meinen Lehrer damit manchmal richtig fertig.  _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
alej
Anmeldungsdatum: 02.10.2009 Beiträge: 9
|
Verfasst am: 03.10.2009, 18:28 Titel: |
|
|
Hi,
so weit so gut, die lineare Abschreibung wird wunderbar berechnet, allerdings hakt es bei der degressive Abschreibung, da der jährliche Abschreibungsbetrag ja keine Konstante ist.
Nut wie sage ich das FreeBasic, auf dem Papier wie immer kein Problem nur mit der Umsetzung tue ich es mir noch etwas schwer...
Code: |
dim as integer anschaffungskosten, nutzungsdauer, afasatz
dim as integer buchwertanfang, buchwertende, abschreibung
dim as integer schleife
dim as integer anfang, ende
anschaffungskosten = 40000
nutzungsdauer = 4
afasatz = 20
buchwertanfang = anschaffungskosten
abschreibung = buchwertanfang*afasatz/100
buchwertende = anschaffungskosten - abschreibung
print "Jahr Anfang Ende Abschreibung"
print "======================================================="
for schleife = 1 to nutzungsdauer
print schleife, buchwertanfang, abschreibung, buchwertende
buchwertanfang = buchwertanfang - abschreibung
buchwertende = buchwertanfang - abschreibung
next
print "======================================================="
sleep
|
Buchwert Jahresanfang stimmt, auch der Abschreibungsbetrag nur ab dem 2. nicht mehr, da irgendwie der Betrag aus dem ersten übernommen wird...
Auf dem Papier sieht das wunderbar aus
1. Jahr 40.000 * 0,2 (=8.000) = 32.000
2. Jahr 32.000 * 0,2 (=6.400) = 25.600
usw.
nur in Basic nicht...  |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 03.10.2009, 18:31 Titel: |
|
|
Abschreibungsbetrag muss in der Schleife aktualisiert werden:
Code: | FOR schleife = 1 TO nutzungsdauer
PRINT schleife, buchwertanfang, abschreibung, buchwertende
buchwertanfang = buchwertanfang - abschreibung
abschreibung = buchwertanfang*afasatz/100
buchwertende = buchwertanfang - abschreibung
NEXT |
|
|
Nach oben |
|
 |
|