von chrk » So, 31.08.2008 12:23
Hallo Hago,
das mit der einstelligen Quersumme hättest Du ja eher sagen können, aber so gibt's eben zwei Funktionen, jetzt hatte ich auch mal Zeit für ein Bißchen Kommentar, was da passiert:
Code: Alles auswählen
Function QUERSUMME(a as Integer) as Integer
dim b as Integer
dim meinString as String
meinString=CStr(a) 'Eingabe in String umwandeln, um Anzahl der Stellen zu ermitteln und mit den Stellen zu rechnen
for i=1 to len(meinString) 'Anzahl Stellen bestimmt Anzahl Durchläufe
b=b+CInt(mid(meinString,i,1)) 'Stelle für Stelle addieren
next i
QUERSUMME=b 'Ergebnis zurückgeben
End Function
Function QUERSUMMEEINSTELLIG(a as Integer) as Integer
'Benötigt QUERSUMME()!
Dim b as Integer
Dim meinString as String
meinString=CStr(a) 'Eingabe in String umwandeln, um Anzahl der Stellen zu ermitteln und mit den Stellen zu rechnen
While len(meinString) >1 'Rechne weiter bis einstellig
b=QUERSUMME(a) 'Berechne die QUERSUMME()
meinString=CStr(b) 'Belege meinString neu, damit im nächsten Umlauf die Anzahl der Stellen stimmt
a=b 'Belege a neu, damit die Quersumme errechnet werden kann
Wend
QUERSUMMEEINSTELLIG=b 'Ergebnis zurückgeben
End Function
QUERSUMMEEINSTELLIG() ruft QUERSUMME() auf, das heißt einerseits, dass Du sie nicht alleine irgendwohin kopieren kannst. Andererseits kannst Du QUERSUMME() für die einfache Quersumme weiter verwenden.
Die Kommentare scheinen hier vielleicht ein wenig flatterhaft, aber in der BASIC-IDE stimmen die Tabs.
Hallo Hago,
das mit der einstelligen Quersumme hättest Du ja eher sagen können, aber so gibt's eben zwei Funktionen, jetzt hatte ich auch mal Zeit für ein Bißchen Kommentar, was da passiert:
[code]Function QUERSUMME(a as Integer) as Integer
dim b as Integer
dim meinString as String
meinString=CStr(a) 'Eingabe in String umwandeln, um Anzahl der Stellen zu ermitteln und mit den Stellen zu rechnen
for i=1 to len(meinString) 'Anzahl Stellen bestimmt Anzahl Durchläufe
b=b+CInt(mid(meinString,i,1)) 'Stelle für Stelle addieren
next i
QUERSUMME=b 'Ergebnis zurückgeben
End Function
Function QUERSUMMEEINSTELLIG(a as Integer) as Integer
'Benötigt QUERSUMME()!
Dim b as Integer
Dim meinString as String
meinString=CStr(a) 'Eingabe in String umwandeln, um Anzahl der Stellen zu ermitteln und mit den Stellen zu rechnen
While len(meinString) >1 'Rechne weiter bis einstellig
b=QUERSUMME(a) 'Berechne die QUERSUMME()
meinString=CStr(b) 'Belege meinString neu, damit im nächsten Umlauf die Anzahl der Stellen stimmt
a=b 'Belege a neu, damit die Quersumme errechnet werden kann
Wend
QUERSUMMEEINSTELLIG=b 'Ergebnis zurückgeben
End Function[/code]
QUERSUMMEEINSTELLIG() ruft QUERSUMME() auf, das heißt einerseits, dass Du sie nicht alleine irgendwohin kopieren kannst. Andererseits kannst Du QUERSUMME() für die einfache Quersumme weiter verwenden.
Die Kommentare scheinen hier vielleicht ein wenig flatterhaft, aber in der BASIC-IDE stimmen die Tabs.