Frage von Dean1341, 80

Visual Basic Schleifen Info?

Hallo ich habe ein grosses problem Ich sitze schon seit 2h dran und komme nicht auf die Lösung ich versuche mich morgen auf die Arbeit in Info vorzubereiten und Aufgabe nr 4 auf dem aufgsbenblatt krieg ich nicht raus bitte Hilfe hier ist mein Quellcode (abgehangene Bilder)

Antwort
von horstfh, 15

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
Expertenantwort
von Willibergi, Community-Experte für Schule, 22

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

Kommentar von Dean1341 ,

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 ?

Kommentar von Tschoo ,

Nee, weil du keinen Fehler angegeben hast

Antwort
von Orsovai, 19

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

Keine passende Antwort gefunden?

Fragen Sie die Community