Делай .. Пока ... Результат цикла - PullRequest
2 голосов
/ 22 марта 2011

Какими должны быть результаты следующего псевдокода:

Инициализировать счетчик на 10

Делать, пока счетчик <100 </p>

Отображать счетчик, умноженный на 2

Добавить 10 к счетчику

Конец цикла

Я думаю: 20, 60, 140

Это мой код:

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

Спасибо, ребята !!

1 Ответ

4 голосов
/ 22 марта 2011

Отображение счетчика, умноженное на 2

Ничто в этой инструкции не говорит об изменении счетчика.Исходя из строгой интерпретации ваших инструкций, вывод должен выглядеть следующим образом:

20 40 60 80 100 120 140 160 180

Однако ваш код соответствуетрезультаты, которые вы ожидаете.Если вам нужен код, который соответствует вашим инструкциям, сделайте это следующим образом:

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

И ради интереса мы могли бы сделать что-то вроде этого:

Label1.Text = Enumerable.Range(1, 9)
        .Select(Function(i) i * 10)
        .Aggregate("", Function(s, i) s = s & i.ToString() & ",")
...