Приложение: calk3.rar
Занятие 24. Итог. Примеры.
Оператор If-Then-End If
I. Неполная форма ветвления
Синтаксис записи:
Вариант 1. | Вариант 2. |
If <условие > Then |
If <условие > Then Оператор 1: Оператор 2: ………: Оператор n |
II. Полная форма ветвления
Синтаксис записи:
Вариант1. | Вариант 2. |
If <условие > Then <Операторы 1> Else <Операторы 2> |
If <условие > Then |
III. Многострочный оператор.
В языке Visual Basic.NET вложенные операторы ветвления If имеют вид:
Вариант 1. | Вариант 2. |
If <условие 1> Then <Операторы 1> Elself <условие 2> Then <Операторы 2> End If
|
if <условие 1> then <Операторы 1> else if <условие 2> then <Операторы 2> . . . else if <условие n-1> then <Операторы n-1> else <Операторы n> end if |
IV. Оператор Select Case выглядит следующим образом:
Select Case Имя_Переменной
Case X Проверь значение переменной Имя_Переменной.
|
Пример. Select Case Оценка Case 5 Case 2 |
Обратите внимание, что:
- здесь уже не нужно каждый раз повторять такие слова, как E l s e l f и Then.
- в операторе Select Case нет ограничения на количество строк Case, поэтому вы можете создать их столько, сколько нужно для учета всех возможных вариантов.
V. Использование оператора Select Case с операторами сравнения.
Обычно оператор Select Case проверяет точное совпадение значения переменной с несколькими заданными значениями. Но если использовать его совместно с операторами сравнения, такими как <, <=,>,>=,<>, можно проверять принадлежность значения переменной к разным диапазонам значений.
Чтобы оператор Select Case и операторы сравнения можно было использовать вместе, перед каждым оператором сравнения нужно добавить ключевое слово is :
Пример.
Select Case Показатель |
Этому коду эквивалентен код с использованием оператора If-Then: If Показатель > 20 Then |
Примеры реализации ветвления.
Пример 1
Интерфейс проекта
Программный код
Public r, g As Integer
Public b As Integer
Private Sub CheckBox1_CheckStateChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CheckBox1.CheckStateChanged
If CheckBox1.Checked Then
r = 255
Else
r = 0
End If
Me.BackColor = System.Drawing.ColorTranslator.FromOle(RGB(r, g, b))
End Sub
Private Sub CheckBox2_CheckStateChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CheckBox2.CheckStateChanged
If CheckBox2.Checked Then
g = 255
Else
g = 0
End If
Me.BackColor = System.Drawing.ColorTranslator.FromOle(RGB(r, g, b))
End Sub
Private Sub CheckBox3_CheckStateChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CheckBox3.CheckStateChanged
If CheckBox3.Checked Then b = 255 Else b = 0
Me.BackColor = System.Drawing.ColorTranslator.FromOle(RGB(r, g, b))
Me.BackColor = Color.Blue
End Sub
Private Sub Button1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button1.Click
End
End Sub
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
r = 0: g = 0 : b = 0
Me.BackColor = System.Drawing.ColorTranslator.FromOle(RGB(r, g, b))
End Sub
Пример 2.
Интерфейс проекта
Программный код
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
If RadioButton1.Checked = True Then Me.BackColor = Color.Red
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
If RadioButton2.Checked = True Then Me.BackColor = Color.Yellow
End Sub
Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged
If RadioButton3.Checked = True Then Me.BackColor = Color.Green
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.BackColor = Color.Blue
RadioButton1.Checked = False
RadioButton2.Checked = False
RadioButton3.Checked = False
End Sub
Пример 3. Разработка проекта "Арифметический калькулятор" (по страницам Интернет - редактирование)
Вариант 1
Интерфейс проекта
Программный код проекта
Dim x As Integer 'для хранения кода арифметической операции
Dim a As Single 'для хранения значения первого аргумента
Dim b As Single 'для хранения значения второго аргумента
Dim c As Single 'для хранения значения результата
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'процедуры Private Sub Button1_Click-Private Sub Button10_Click: формируется значение первого аргумента
TextBox1.Text = TextBox1.Text + "1"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = TextBox1.Text + "2"
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Text = TextBox1.Text + "3"
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
TextBox1.Text = TextBox1.Text + "4"
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
TextBox1.Text = TextBox1.Text + "5"
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
TextBox1.Text = TextBox1.Text + "6"
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
TextBox1.Text = TextBox1.Text + "7"
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
TextBox1.Text = TextBox1.Text + "8"
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
TextBox1.Text = TextBox1.Text + "9"
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
TextBox1.Text = TextBox1.Text + "0"
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
x = 1 'код операции сложения
a = Val(TextBox1.Text) 'набранный первый аргумент запоминается в переменной а
TextBox1.Text = "" 'освобождение текстового поля для ввода следующего аргумента
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
x = 2 'код операции вычитания
a = Val(TextBox1.Text)
TextBox1.Text = ""
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
x = 3 'код операции умножения
a = Val(TextBox1.Text)
TextBox1.Text = ""
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
x = 4 'код операции деления
a = Val(TextBox1.Text)
TextBox1.Text = ""
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click 'кн. Вычислить
b = Val(TextBox1.Text) 'набранный второй аргумент запоминается в переменной b
Select Case x 'выполняется анализ значения переменной х и выполняется согласно коду арифметическая операция
Case 1 : c = a + b
Case 2 : c = a - b
Case 3 : c = a * b
Case 4
If b <> 0 Then
c = a / b
Else
MessageBox.Show("Деление на 0 не допустимо!")
End If
End Select
TextBox1.Text = Str(c) 'вывод результата операции в текстовое поле
End Sub
Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click 'кн. Очистить
TextBox1.Text = ""
End Sub
Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click 'кн.Округление
a = Val(TextBox1.Text) 'результат операции присваивается переменной а
b = a - Int(a) 'переменной b присваивается десятичная часть результата операции
If b >= 0.5 Then
TextBox1.Text = Int(Val(TextBox1.Text)) + 1 'целая часть результата операции увеличивается на 1
Else
TextBox1.Text = Int(Val(TextBox1.Text))
End If
End Sub