Урок из серии: «Программирование на Visual Basic.NET для школьников»
Существует несколько разновидностей циклов с неизвестным числом повторений.
На прошлом уроке мы рассмотрели цикл с предусловием Do While.
На этом уроке познакомимся с ещё одной разновидностью цикла с условием — циклом с постусловием, научимся его использовать.
Цикл называется циклом с постусловием, если условие выхода из цикла стоит в конце, после тела цикла.
Цикл с постусловием реализуется с помощью конструкции Do . . . Loop Until.
Общий вид оператора:
Do <тело цикла> Loop Until <условие выхода> |
Преждевременный выход из цикла программист может организовать при помощи конструкции Exit Do.
Проект «Проверка номера»
Смоделируйте ситуацию проверки правильности набора номера телефона в городе N. Будем считать, что телефон набран верно, если количество набранных цифр соответствует длине телефонного номера для данного города.
Технология выполнения
- Создайте интерфейс по образцу.
- Установите для текстового поля значение свойства MaxLength равным 9 (максимальное количество цифр, которое позволяется ввести в поле), выберите для надписи label2 значение свойства BorderStyle равным Fixed3D.
- В окне редактора кода после строки
«Код, автоматически созданный конструктором форм Windows»
введите строку кода:Const nmax = 6 'Константа, определяющая длину набора в данном городе
- Наберите программный код процедуры Button1_Click:
Dim n As Integer 'Введенный номер Dim k As Byte 'Счетчик цифр n = Val(TextBox1.Text) k = 0 Do k = k + 1 n = n \ 10 Loop Until n = 0 If k = nmax Then Label2.Text = "Соединение возможно" : Beep() ElseIf k < nmax Then Label2.Text = "Неправильно набран номер: не хватает цифр" Else Label2.Text = "Неправильно набран номер: слишком много цифр" End If
- Запустите программу несколько раз для проверки всех возможных ситуаций.
- сохраните программу.
Проект «Простые множители»
Требуется создать программу разложения произвольного целого числа на простые множители. Предлагается следующий алгоритм: сначала число делится на 2 до тех пор, пока не станет нечетным. Затем оно делится последовательно на 3, 5, 7, пока результат леления не станет равным 1.
Технология выполнения
- Создайте интерфейс по образцу.
- С помощью окна Свойства задайте следующие значения свойств:
Объект Свойство Значение Form1 Text «Простые множители» Label1 TextTextAlign «Введите число:»
MiddleCenterTextBox1 TextMax
Length
TextAlignпусто
10
CenterButton Text
TextAlign«Разложить»
MiddleCenterLabel2 Text
TextAlign
BorderStyleпусто
MiddleCenter
Fixed3DДля текстового поля TextBox1 свойство MaxLength задает максимальную длину числа при вводе данных с клавиатуры.
- Наберите текст программы
' Разложение на простые множители Dim n, n1 As Integer 'Исходное число и его дубликат Dim del As Byte 'Простой делитель Dim str As String 'Строка для вывода n = Val(TextBox1.Text) del = 2 n1 = n Str = "" Do If n Mod del = 0 Then n = n \ del 'В строку добавляется новый множитель str = str & CStr(del) 'Выводится "*" после всех множителей, кроме последнего If n <> 1 Then str = str & "*" Else 'После "2" все простые множители нечетны If del = 2 Then del = 3 Else del = del + 2 End If Loop Until n = 1 Label2.Text = n1 & "=" & str
- Сохраните программу.
- Доработайте программу таким образом, чтобы она подсчитывала количество множителей.
- Введите проверку на равенство подсчитанного количества множителей единице. Если равенство выполняется, выведите сообщение, что введенное число является простым
- Сохраните доработанную программу.
До встречи на следующем уроке.