Hallo ich versuche eine alte Informatik Klausur zu lösen den ersten teil bekomme ich hin aber für den 2.Teil bräuchte ich Starthilfe.
Hier der 1.Teil
Aufgabenstellung
1=1
3=1+2
6=1+2+3
10=1+2+3+4
15=1+2+3+4+5
Programieren Sie eine Funktion welche die n-te Dreieckszahl liefert.
Bsp: n=3 liefert die Funktion den Wert 6.
Public Function nteDEZ(ByVal n As Integer) As Integer
Dim summe As Integer
summe = 0
Dim i As Integer
For i = 1 To n
summe = summe + i
Next i
nteDEZ = summe
End Function
Das habe ich hinbekommen und müsste so richtig sein.
2.Teil
Aufgabestellung
Programmieren Sie eine Funktion welche die Summe der ersten n Dreieckszahlen liefert.
Bsp: n=3 liefert die Funktion den Wert 10(=1+3+6).
Public Function SummeDezbisN (ByVal n As Integer) As Integer
.
.
.
End Function
Hier weiß ich nun nicht wie ich vorgehen soll.
1.Muss ich das vllt mit der funktiion da oben verknüpfen oder muss ich da ne neue formel herausbekommen.
Ich hoffe ich konnte meine Situation schildern :-).
Bitte um Hilfe, vielen dank
Ja die Verwendung der bereits geschriebenen Funktion bietet sich hier an.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Public Function SummeDezbisN (ByVal n As Integer) As Integer
Dim summe As Integer
summe = 0
Dim i As Integer
For i = 1 To n
summe = summe + nteDEZ(i)
Next i
SummeDezbisN = summe
End Function
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Karlito: 18.06.2011 18:51.
Ok mit meinen Gedanken lag ich zum Glück nicht weit entfernt davon.
Eine kleine Frage hätte ich da noch.
summe=summe+nteDez(i) (auf welche der beiden Funktion bezieht sich hier dieses i ?)
das i bezieht sich auf SummeDezbisN. D.h. immer wenn es in der Funktion SummeDezbisN erhöht wird, wird der erhöhte Wert an die Funktion nteDEZ übergeben.