Урок 14. Цикл с предусловием Do While

Урок из серии: «Программирование на Visual Basi.Net для школьников»

На предыдущем занятии было показано, как использовать оператор цикла For…Next для повторения блока кода заданное число раз. Но что делать, если количество повторов кода зависит от определенных условий?

На этом и следующем занятии будет показано применение операторов Do…While и Do…Until, которые позволяют повторять блок кода, пока значение определенного условия равно True, или до тех пор, пока значение определенного условия не станет равно True.

Существует две разновидности циклов с условием: циклы с предусловием и циклы с постусловием.

На этом уроке мы рассмотрим цикл с предусловием Do While. Создадим проект с использованием этого цикла.

Цикл называется циклом с предусловием, если условие выполнения цикла стоит в начале, перед телом цикла.

Visual-Basic.NET-Do-While-Urok14-1

На языке Visual Basic.Net цикл с предусловием реализуется с помощью конструкции Do While . . . Loop

Общий вид оператора:

Do While Условие
   Тело цикла
Loop

Алгоритм выполнения оператора:

1. С помощью ключевого слова While (пока) проверяется условие продолжения цикла.

2. Если условие истинно (True), то выполняется тело цикла, алгоритм повторяется с пункта 1.

3. Если условие ложно(False) — цикл завершается.

Особенностью этого цикла является то, что если при первой проверке условие ложно, то тело цикла не выполнится ни разу.

Преждевременный выход из цикла программист может организовать при помощи конструкции Exit Do.

Проект «Делимость чисел»

В среде программирования Visual Basic.NET создайте новый проект  с именем «Делимость чисел».

  1. Создайте новый проект с именем «Делимость чисел».
  2. Создайте интерфейс пользователя по образцуVisual-Basic.NET-Urok14-2
  3. Напишите программный код процедур-обработчиков, которые будут обрабатывать щелчки на кнопках
    Private Sub Button1_Click( . . .
       ' Делимость на 3 определяется по сумме цифрDim n, n1, sum As Integer
       Dim cifra As Byte
       n = Val(TextBox1.Text) 'Исходное число
       n1 = n 'создаем дубликат числа, сохраняем исходное число для вывода
       sum = 0
       Do While n1 <> 0
          cifra = n1 Mod 10 'отделяем последнюю цифру числа
          sum = sum + cifra
          n1 = n1 \ 10 'отбрасываем последнюю цифру
      Loop
      If n <> 0 Then
         If sum Mod 3 = 0 Then
            Label2.Text = "Число " & n & " делится на 3"
         Else
            Label2.Text = "Число " & n & " не делится на 3"
        End If
     Else
        Label2.Text = "Вы ввели 0"
    End If
    End Sub
    Private Sub Button2_Click( . . .
       ' делимость на 4 определяется по двум последним цифрам
       Dim n, ost As Integer
       n = Val(TextBox1.Text) 'исходное число
       If n <> 0 Then 'отделяем последние две цифры числа
          ost = n Mod 100
          If ost Mod 4 = 0 Then
             Label2.Text = "Число " & n & " делится на 4"
          Else
             Label2.Text = "Число " & n & " не делится на 4"
         End If
      Else
         Label2.Text = "Вы ввели 0"
     End If
    End Sub
    Private Sub Button3_Click(. . .
       Dim n, ost As Integer
       n = Val(TextBox1.Text) 'исходное число
       If n <> 0 Then
          ost = n Mod 10 'отделяем последнюю цифру числа
          If ost = 0 Or ost = 5 Then
             Label2.Text = "Число " & n & " делится на 5"
          Else
             Label2.Text = "Число " & n & " не делится на 5"
         End If
       Else
          Label2.Text = "Вы ввели 0"
    
       End If
    End Sub
  4. Запустите программу несколько раз, вводя разные числа.
  5. Сохраните проект.

В этом разделе было показано применение цикла с предусловием Do…While для условного
повторения кода.

На следующем уроке будет рассмотрен цикл с постусловием Do…Until.

Следующий урок: Цикл с постусловием Do … Loop Until

Подписаться
Уведомить о
guest

1 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Женис
Женис
12 лет назад

Трудно вспомнить признак делимости на 3,4 и 5, из за этого программный код кажется очень тяжелым. Хорошо, что дается готовый программный код, составленный очень хорошо, что программа получается. Спасибо БОЛЬШОЕ админу!!!!!!