Visual Basic Schleifen Info?

... komplette Frage anzeigen

3 Antworten

Ich kann dir sagen, wie ich es realisieren würde:

double zahl = 3;
int anz = 0;
double res = 0;
for(int i=0; i<100000; i++){
   if(res > zahl){
      anz = i+1;
      break;
   }
res += 1.0/i;
}

Ich spreche leider kein VB, daher ist das in Java. Du solltest allerdings die Vorgänge verstehen können.

Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach.

LG Willibergi

PS: Ungetestet ;)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Dean1341
22.05.2016, 16:18

Ne sorry wir haben bis jetzt nur mit Visual Basic gearbeitet andere Programme noch gar nicht und wir sind noch komplett am Anfang trotzdem danke für deine Mühe wusstest du eventuell woran der Fehler bei mir liegen könnte ?

0

Hi Dean,

ich habe mal ein kleines Progrfamm geschrieben, weil mich das Thema interessiert hat. Ich wollte wissen, bis zu welche Summe man bei 100000 Schritten kommt. Und wie sieht es bei jeweils 1000 Schritten aus.

Für das Programm habe ich auf einer Form

  • 1 Button, 2 Label und 1 ListBox platziert.

Das Program erklärt sich glaube ich selbst und ist problemlos anzupassen

Viel Spaß!

Horst

  Private Start As Boolean = False

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Start = Not Start
Button1.Text = Start.ToString
Harmonische_Reihe()
End Sub

Sub Harmonische_Reihe()
Dim m As Long = 1
Dim s As Double = 0

Do
Application.DoEvents()
If Start = False Then Exit Do
Label1.Text = m.ToString
Label1.Refresh()

s = s + (1 / m)

Label2.Text = s.ToString
Label2.Refresh()

m = m + 1

If m Mod 1000 = 0 Then
ListBox1.Items.Add("M = " & m.ToString & " S = " & s.ToString)
End If

If m = 100000 Then Exit Do
Loop Until s = 10
End Sub
Antwort bewerten Vielen Dank für Deine Bewertung

So müsste es in VBA gehen (ungetestet):

Dim s, a As Double
Dim n As Integer

n=1
s=1

'Code um a einzulesen

While n<100000 And s<a
s=s+1/n
n=n+1
Wend

'Bei n=1 begonnen, weil das erste s =1 ist und 'man nicht durch 0 teilen kann

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?