Урок из серии: «Программирование на Visual Basic.NEN для школьников»
На предыдущем занятии вы познакомились с элементом управления ComboBox (Комбинированный список).
На этом занятии мы продолжим изучение операторов языка Visual Basic.Net, остановимся на операторах цикла.
Циклические алгоритмические структуры бывают трех видов:
- циклы со счетчиком, в которых тело цикла выполняется определенное количество раз;
- циклы для обработки массивов или коллекций;
- циклы по условию, в которых тело цикла выполняется, пока условие истинно (или до тех пор, пока условие не станет истинным).
На этом уроке рассмотрим оператор цикла со счетчиком (For . . . Next). Напишем проект с использованием этого оператора.
Цикл со счетчиком For . . . Next используется тогда, когда заранее известно, какое число повторений необходимо выполнить.
Блок-схема
Общий вид оператора
For Счетчик = НачЗнач To КонЗнач [Step шаг] Тело цикла Next [Счетчик]
Синтаксис оператора следующий: строка, начинающаяся с ключевого слова For, является заголовком цикла, а строка с ключевым словом Next — концом цикла, между ними располагаются операторы, являющиеся телом цикла.
Алгоритм выполнения оператора For . . . Next
- Значение переменной Счетчик устанавливается равным НачЗнач.
- Проверяется условие Счетчик <= КонЗнач
- Если условие выполняется, то выполняется тело цикла. Переменная Счетчик изменяется на величину шага: Счетчик = Счетчик + шаг.
- Когда переменная Счетчик достигает величины КонЗнач, происходит выход из цикла и выполняются следующие за ним операторы.
Преждевременный выход из цикла программист может организовать при помощи конструкции Exit For. При этом происходит автоматический выход из цикла и управление передается следующей за циклом команде.
Проект «Доход по вкладу»
Написать проект, который начисляет доход по вкладу, обеспечивает расчет простых и сложных процентов. Простые проценты начисляются в конце срока вклада, сложные — ежемесячно и прибавляются к первоначальной сумме вклада и в следующем месяце проценты начисляются на новую сумму. Рекомендуемый вид формы приведен на рисунке.
Технология выполнения
- Создать новый проект. Назвать его «Доход по вкладу».
- Разместите на форме 4 надписи Label, 3 текстовых поля TextBox, нарисуйте элемент управления GroupBox , добавьте два переключателя в группу путем рисования каждого элемента внутри группы.
В нижней части формы поместите кнопку и еще одну надпись (Label4) для вывода результатов.
- Настроить свойство Text для всех объектов формы и для самой формы в соответствии с образцом.
Для переключателя RadioButton1 для свойства Checked задайте значение True (при загрузке формы первый переключатель должен быть включен).
- Написать процедуру-обработчик события Button1_Click:
Dim sum As Single 'Сумма вклада Dim pr As Single 'Процентная ставка Dim srok As Integer 'Срок вклада Dim dohod As Single 'Доход по вкладу Dim buf As Single Dim i As Integer ' Плучение исходных данных sum = Val(TextBox1.Text) srok = Val(TextBox2.Text) pr = Val(TextBox3.Text) If RadioButton1.Checked = True Then 'выбран переключатель Простые проценты dohod = sum * (pr / 100) * (srok / 12) Else 'выбран переключатель Сложные проценты buf = sum For i = 1 To srok buf = buf + buf * (pr / 100) Next i dohod = buf - sum End If sum = sum + dohod Label4.Text = "Доход: " + Str(dohod) + vbNewLine + "Сумма вклада: " + Str(sum)
- Напишите программный код процедур-обработчиков для событий RadioButton1_CheckedChanged и RadioButton1_CheckedChanged. При изменении схемы вычисления процентов очищается области вывода (Label4.Text).
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, Label4.Text = "" End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,
Label4.Text = "" End Sub
- Запустить программу и выполнить несколько раз для проверки всех возможный ситуаций.
- Сохранить проект
В этом уроке было показано, как использовать цикл For…Next для повторения кода заданное число раз.
В следующем уроке будет описан элемент управления PictureBox, показано применение цикла For . . . Next при работе с файлами.
Следующий урок: Оператор цикла For … Next и элемент управления PictureBox