Алгоритмическая структура «ветвление» на языке Visual Basic Кирсанова Инна Викторовна МОУ лицей «РИТМ» Хабаровск
Ветвление В зависимости от истинности или ложности условия выполняется одна или другая серия команд. Неполная форма Полная форма Условие нетда Операторы1Операторы2 Условие нетда Оператор
Оператор ветвления If If условие Then операторы -1 Else операторы-2 End If Условие нетда Операторы1Операторы2 Полная форма (возможно 2 варианта решения задачи)
Задача 1. Компьютер должен перемножить 2 числа. Если полученное произведение превысит 1000, то он должен напечатать: ПРОИЗВЕДЕНИЕ БОЛЬШОЕ, иначе – ПРОИЗВЕДЕНИЕ МАЛЕНЬКОЕ. А после этого печатает само произведение. Dim a, b, p As Integer a = TextBox1.Text b = TextBox2.Text p = a * b If p > 1000 Then TextBox3.Text = "Произведение большое" Else TextBox3.Text = "Произведение маленькое" End if TextBox4.Text = p
Условие нетда Оператор If условие Then операторы Оператор ветвления If Неполная форма (один вариант или больше 2 вариантов) Прописывается столько раз, сколько вариантов решения задачи
Задача 2. Компьютер должен перемножить 2 числа. Если полученное произведение превысит 1000, то он должен напечатать это произведение. a = TextBox1.Text b = TextBox2.Text p = a * b If p > 1000 Then TextBox4.Text = p
оператор ы любой оператор VB или группа операторов условие два выражения, соединенных знаком сравнения Знаки сравнения >, >=, =, Пример: If 5*a+4
ФРАГМЕНТ ПРОГРАММЫ (что увидим на экране?) a=10 If a>2 Then TextBox1.text="!!!" Else TextBox1.text="!" a=4 If a>5 Then a=a+10 Else a=a-1 TextBox1.text=a s=6 If s-80 Then s=2*s TextBox1.text=s s=6 If s
Задача 3: Выяснить направление ветвей параболы. Dim a as integer … a = TextBox1.Text If a>0 Then TextBox2.Text = ветви направлены вверх Else TextBox2.Text = ветви направлены вниз End if
Задача 4: Выяснить количество корней квадратного уравнения. Dim a, b, c, d as integer … a = TextBox1.Text b = TextBox2.Text c = TextBox3.Text d = Math.Sqr(b) – 4*a*c If d>0 Then TextBox4.Text = 2 корня If d=0 Then TextBox4.Text = 1 корень If d
Логические операции And (и), Or (или) ФРАГМЕНТ РЕЗУЛЬТАТ a=8 : b=6 : If a>b And b>1 Then k=1 Else k=0 k=1 a=8 : b=6 : If a>b And b>7 Then k=1 Else k=0 k=0 If 8>2 And 3>5 Then k=1 Else k=0 k=0 If c>d And c
Несколько And и Or. Знаками And и Or можно объединять не только два, а сколько угодно условий. Например: If a>2 Or x=b Or c1 Then k=99 Else k=33 If a>2 And x=b And c1 Then k=99 Else k=33
Not. Кроме логических операций And и Or применяется еще логическая операция Not (по-русски – НЕ). Запись If Not a>b Then... переводится так – ЕСЛИ НЕПРАВДА, ЧТО a больше b, ТО.... Вот фрагмент: a=2: b=3: If Not a>b Then k=1 Else k=0 Здесь выполнится оператор k=1, так как неправда, что 2>3.
Фрагменты программ ФРАГМЕНТРЕЗУЛЬТАТ a=8: b=6: If a>b Or b>7 Then k=1 Else k=0k=1 a=8: b=6: If a 7 Then k=1 Else k=0k=0 If 1>2 Or 5
Решение задач
Задание 1. В компьютер вводятся два числа. Если первое больше второго, то напечатать их сумму, иначе – произведение. После этого компьютер должен напечатать текст ЗАДАЧА РЕШЕНА.
Задание 2. В компьютер вводятся три числа. Выяснить какое из трех чисел меньше.
Задание 3. Компьютер спрашивает пользователя, как его зовут, а затем приветствует его в соответствии с именем: Колю – «Привет», Васю – «Здорово», Джона – «Hi», а остальных – «Здравствуйте». Для Васи, кроме этого, он красит форму в зеленый цвет.
Задание 4. В компьютер вводятся длины трех отрезков. Компьютер должен ответить на вопрос, можно или нельзя из этих отрезков образовать треугольник. Указание: Для этого каждый отрезок должен быть меньше суммы длин двух других отрезков. Напишите 3 варианта программы: 1. без использования логических операций, 2. с использованием логических операций Or, 3. с использованием логических операций And.
Правило записи многострочного оператора If условие Then операторы ……………. [ ElseIf условие Then операторы ……………. ] ……………………….…. [ Else операторы ……………. ] End If ElseIf Ветвей ElseIf может быть сколько угодно или совсем не быть