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!!

È stato utile?

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
scroll top