Do.. Sebbene ... risultato loop
Domanda
Quali dovrebbero essere i risultati del seguente pseudocodice:
Inizializza il contatore a 10
Fare mentre conta <100
Visualizza il contatore moltiplicato per 2
Aggiungi 10 al contatore
End Loop
Sto pensando: 20, 60, 140
Questo è il mio codice:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim multiplied As Integer
Dim counter As Integer = 10
Do While counter < 100
multiplied = counter * 2
Label1.Text = Label1.Text & ControlChars.NewLine & multiplied.ToString
counter = multiplied + 10
Loop
End Sub
Grazie ragazzi!!
Soluzione
Visualizza il contatore moltiplicato per 2
Nulla in quell'istruzione dice di modificare il contatore. Sulla base di una rigorosa interpretazione delle istruzioni, l'output dovrebbe apparire così:
20 40 60 80 100 120 140 160 180
Il tuo codice, tuttavia, corrisponde ai risultati che ti aspetti. Se vuoi un codice che corrisponda alle tue istruzioni, fallo in questo modo:
Dim counter As Integer = 0
Dim result As New StringBuilder()
Dim delimiter As String = ""
Do While counter < 100
result.Append(delimiter).Append( (counter*2).ToString() )
delimiter = Environment.NewLine
counter += 10
Loop
Label1.Text = result.ToString()
E per divertimento potremmo fare qualcosa del genere:
Label1.Text = Enumerable.Range(1, 9)
.Select(Function(i) i * 10)
.Aggregate("", Function(s, i) s = s & i.ToString() & ",")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow