Frage von DerStuttgarter4, 85

Wie funktioniert dieses Programm genau?

Hallo Community,

bin gerade fleißig am Programmieren, habe im Buch einen Code gefunden, verstehe die Funktion, die da ausgeführt wird, aber nicht, wie? Kann mir jemand die Zwischenschritte erklären?:

TextWindow.WriteLine("Gib eine Zahl zwischen 1 und 10 ein !") Y = TextWindow.Read() If Y < 1 Then TextWindow.WriteLine("Fehler!") ElseIf Y < 11 Then i = 0 Summe = 0 While i <= Y Summe = Summe + i i = i + 1 Endwhile TextWindow.WriteLine(Summe) Else TextWindow.WriteLine("Fehler!") EndIf

Antwort
von SirSchinken, 40
TextWindow.WriteLine("Gib eine Zahl zwischen 1 und 10 ein !") 
Y = TextWindow.Read()
If Y < 1 Then
TextWindow.WriteLine("Fehler!")
ElseIf Y < 11 Then
i = 0
Summe = 0
While i <= Y
Summe = Summe + i
i = i + 1
EndWhile

TextWindow.WriteLine(Summe)
Else
TextWindow.WriteLine("Fehler!")
EndIf

Eingabe wird gefordert und eingelesen, es wird geprüft ob der eingabe wert kleiner ist als 1, sollte dem so sein wird "Fehler" ausgegeben, sollte der Wert größer als 11 sein wird ebenfalls "Fehler" ausgegeben, sollte der Wert größer als 1 aber kleiner als 11 sein (also 1 - 10) werden erst 2 Variablen (i & Summe) mit dem Wert 0 deklariert und anschließend wird solange Variable "i" kleiner oder gleich Variable "Y" (Eingabe) ist die While-Schleife Durchgeführt. In dieser While-Schleife werden die Werte der Variablen "Summe" und "i" jeweils um 1 erhöht (bis eben die Variable "i" größer ist als die zuvor eingegebene Zahl unter der Variable "Y", anschließend wird die Variable "Summe" ausgegeben dessen Wert zuvor immer in der Schleife erhöht wurde.

Kommentar von SirSchinken ,

Hier mal vereinfacht:

Fenster.TextAusgabe("Gib eine Zahl zwischen 1 und 10 ein !")
Eingabe = Fenster.EingabeDesNutzers

Wenn Eingabe istKleinerAls 1 Dann
Fenster.TextAusgabe("Fehler!")
OderWenn Eingabe istKleinerAls 11 Dann
Zähler = 0
Ergebnis = 0
Solang Zähler istKleinerAlsOderGleich Eingabe
Ergebnis = Ergebnis + 1
Zähler = Zähler + 1
EndeSolang

Fenster.TextAusgabe(<Ergebnis>)
Andernfalls
Fenster.TextAusgabe("Fehler!")
EndeWenn
Antwort
von drschlau99, 36

Anhand der Formatierung schwer zu erkennen. Könnte eine Summe über 1..n sein, wobei 0<n<11 gilt. Also für n=3 z.B. 0+1+2+3

Kommentar von DerStuttgarter4 ,

Meine explizite Frage geht darum, was hier:

i = 0

Summe = 0

While i <= Y

Summe = Summe + 1

i = i + 1 

bedeutet.

Kommentar von drschlau99 ,

Soll oben wohl Summe=Summe+i heißen. Ich denke das Programm berechnet die Summe der ersten Y (Usereingabe) natürlichen Zahlen. Summe wird im ersten Schritt um 0, dann um 1 , dann um 2 etc. erhöht. Man addiert also 1+2+3+...+Y, also die ersten Y Zahlen (Abbruchkriterium der While-Schleife).

Antwort
von applica, 27

Das am ähnelten dazu ist vb.net, da kenn ich mich aus, also würd ich sagen dass das Programm als erstes testet ob die Eingabe kleiner als 1 ist und ansonsten halt das Ergebnis ausgibt.

Die while schleife am Ende scheint mir unlogisch, unnötig und sinnlos :D

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten