BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- VB Summe aller Zahlen von a bis b (http://www.black-board.net/thread.php?threadid=14843)


Geschrieben von ragtek am 26.11.2003 um 16:40:

  Summe aller Zahlen von a bis b

wie kann man mittels einer while schleife die summer aller zahlen von a bis b berechnen
also mittels gaus'sche regel?
und zwar mit vb

also soweit hab is scho

a=inputbox("bitte erste zahl eingeben")
b=inputbox("bitte 2. zahl eingeben")

und nun?*g*
als for schleife is ja leicht

Sub gauss()

Dim zahl As Integer
Dim summe As Integer
Dim zaehler As Integer
unten = inputbox("bitte geben sie die untere grenze an")
grenze = InputBox("Geben Sie die obere Grenze ein!")
summe = 0

For zaehler = unten To grenze
summe = summe + zaehler
Next zaehler

MsgBox ("Die Summe lautet " & summe)
End Sub



Geschrieben von Deef am 26.11.2003 um 17:08:

 

int i = a;
int zahl = 0;

while(i < b)
{
zahl = zahl + i;
i++;
}

Ich hab keine Ahnung von VB, aber so sollte es in C funzen ... Ich habs jetzt nicht an nem Beispiel getestet ... gut moeglich, dass da noch ein i < (b-1) oder ein i <= b draus werden muss, aber es ging ja ums Prinzip Augenzwinkern



Geschrieben von ragtek am 26.11.2003 um 17:33:

 

ja im netz hab is für c a gfunden
aber ich muss es in vba machn



Geschrieben von ragtek am 26.11.2003 um 17:40:

 

des prinzip versteh i a ned ganz und vom lehra krieg ma a ka große hilfe weils ja hü is
also erstmal muss i ja 2 eingabn habn erste und zweite zahl
nur was muss i nun machn???

die formel nach gauss lautet ja
sn=(n/2)(a1+an)



Geschrieben von phlox81 am 26.11.2003 um 18:06:

 

Zitat:
Original von spookykids
des prinzip versteh i a ned ganz und vom lehra krieg ma a ka große hilfe weils ja hü is
also erstmal muss i ja 2 eingabn habn erste und zweite zahl
nur was muss i nun machn???

die formel nach gauss lautet ja
sn=(n/2)(a1+an)


Ich hab nix bayern, aber hochdeutsch sollst schon schreiben,
damit es auch die Nordlichter lesen können.

Devil



Geschrieben von Medusa am 26.11.2003 um 18:09:

  RE: while schleife

Zitat:
Original von spookykids
a=inputbox("bitte erste zahl eingeben")
b=inputbox("bitte 2. zahl eingeben")


und dann hängst halt noch die for-schleife dran. Also von a bis b:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim Summe As Long

a = InputBox("bitte erste zahl eingeben")
b = InputBox("bitte 2. zahl eingeben")

For i = a To b
    Summe = Summe + i
Next i

MsgBox "Die Summe aller Zahlen von " & a & " bis " & b & " ist " & Summe & "."


Ich hab den Typ Integer gewählt, damit nur ganze Zahlen eingegeben werden können.
Wenn du jedoch größere Zahlen eingeben willst, musst du einen anderen Typ nehmen (z.b. long).



Geschrieben von ragtek am 26.11.2003 um 18:47:

 

ja aber statt for brauch i a while schleife



Geschrieben von ragtek am 26.11.2003 um 18:52:

 

das ist auch nicht bayern sondern österreichisch!
sorry



Geschrieben von phlox81 am 26.11.2003 um 20:23:

 

Zitat:
Original von spookykids
das ist auch nicht bayern sondern österreichisch!
sorry


Ob Bayrisch oder Österreichisch, der Punkt ist, es sollte
jeder Verstehen können, denn du willst ja hilfe von allen,
und nicht nur den Ösis.

Devil



Geschrieben von ragtek am 26.11.2003 um 20:48:

 

stimmt deshalb hab ich mich ja auch entschuldigt!



Geschrieben von Medusa am 26.11.2003 um 21:38:

 

Sorry, hab des mit while net gesehen Augenzwinkern

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim Summe As Long

a = InputBox("bitte erste zahl eingeben")
b = InputBox("bitte 2. zahl eingeben")
c = a

Do While c <= b
    Summe = Summe + c
    c = c + 1
Loop

MsgBox "Die Summe aller Zahlen von " & a & " bis " & b & " ist " & Summe & "."


Oder einfacher:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Dim a As Integer
Dim b As Integer
Dim Summe As Long

a = InputBox("bitte erste zahl eingeben")
b = InputBox("bitte 2. zahl eingeben")

Do While a <= b
    Summe = Summe + a
    a = a + 1
Loop

MsgBox "Die Summe ist " & Summe & "."



Nach Gauss:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
Dim a As Integer
Dim b As Integer
Dim Summe As Long

a = InputBox("bitte erste zahl eingeben")
b = InputBox("bitte 2. zahl eingeben")

Summe = (b / 2) * b + (b / 2) '// Das gilt, wenn bei 1 begonnen wird.
Summe = Summe - (((a - 1) / 2) * (a - 1) + ((a - 1) / 2)) '// Die Summe der Zahlen, die von vorn herein fehlen, wird abgezogen.

MsgBox "Die Summe ist " & Summe & "."



Geschrieben von ragtek am 27.11.2003 um 16:54:

 

erstmal danke danke danke
2. gibt es auch eine möglichkeit ohne schleifen?
weil ein freund hat mir gesagt das es auch mittels mod und div irgendwie geht



Geschrieben von ragtek am 27.11.2003 um 20:08:

 

da steht ja & summe &
das & zeichen is ja abkürzung für etwas oder?
ich weiß das ich das mal ghört hab es gibt ein kürzel für char,integer und co
könnt das wer hier nochmal hinschreibn
weil trotz langer suche in goggle hab i nix dazu gefunden



Geschrieben von phlox81 am 27.11.2003 um 20:16:

 

mit & verbindest du 2 Strings. (in VB)

Devil



Geschrieben von Medusa am 27.11.2003 um 23:49:

 

Wenn das &-Zeichen direkt hinter einer Variable steht, dann sagt das was über deren Typ aus. Bsp:
dim a&

Wenn aber das & mit Leerzeichen getrennt steht, dann ist das, wie Devil sagte, ein Verbindungs-Zeichen. Bei Strings kann man auch + nehmen. Bsp:
text = "du!"
msgbox "Hallo " + text

Wenn es aber kein String ist (hier: Summe), dann geht das schlecht, weil bei Zahlen das + für 'addieren' steht, und schlecht ein String und eine Zahle addiert werden können.


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH