Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Sonstige Fragen (http://www.informatikerboard.de/board/board.php?boardid=25)
--- VBA-Aufgabe (http://www.informatikerboard.de/board/thread.php?threadid=972)


Geschrieben von Tamara20 am 18.06.2011 um 16:57:

  VBA-Aufgabe

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



Geschrieben von Karlito am 18.06.2011 um 18:51:

 

Hallo.

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



Geschrieben von Tamara20 am 18.06.2011 um 19:16:

 

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 ?)

danke nochmal für die schnelle antwort.

lieben gruß



Geschrieben von Karlito am 18.06.2011 um 20:31:

 

Hallöle,


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.

VG,

Karlito


Forensoftware: Burning Board, entwickelt von WoltLab GmbH