!Программирование ветвлений.ppt
- Количество слайдов: 21
«Программирование ветвлений» Лекция 4
Понятие ветвящегося процесса n Ветвящимся называется такой процесс, в котором имеются два или более параллельных путей решения. Например, вычисление функции Y=f(x): n Здесь может быть одно из двух решений n
Выбор (ветвление) в Visual Basic осуществляют в основном 3 оператора: n · условный переход IF. . . THEN. . . ELSE n · множественный выбор (переключатели) SELECT CASE n · безусловный переход GOTO n
Линейная конструкция условного оператора If IF условие THEN операторы1 ELSE операторы 2 Если условие истинно, то выполняется оператор1 , в противном случае выполняется оператор 2. n Например, Private Sub cmd. Вычислить_Click() n x=Input. Box(„ Введите x“) If x > 0 Then y=x^3 Else y=Sqr(x) Print y End Sub
2 Пример: n Если А больше или равно В, то удваивается значение числовой переменной А, а если А меньше В, удваивается значение числовой переменной В n If A>=B Then A=A*2 Else B=B*2 n
Блочная конструкция условного оператора If Допускается также использование формы синтаксиса в виде блока: n n Если всего 2 ветви: n IF условие THEN операторы ветви «Да» ELSE операторы ветви «Нет» END IF
n Если всего 3 и более веток: n IF условие 1 THEN операторы 1 ELSEIF условие 2 THEN операторы 2. . . ELSE операторы n … END IF
n Множественным ветвлением называют процесс, в котором более 2 -х параллельных путей решения, выбираемых в зависимости от условия. n Если количество ветвей ограничено, то при организации ветвления делают проверки не всех условий, а на одно меньше. Если не ограничено, то надо проверять все условия.
n n n Пример: Dim a , b , y Private Sub cmd. Вычислить_Click() a=Input. Box(„Введите a“) b=Input. Box(„Введите b“) If a > b Then y=a-b: Print y Else. If a
n n n n n Пример. Рассчитаем сумму, которую должен заплатить клиент за сеанс игры в большой теннис. Если клиент постоянный, то ему предоставляется скидка 5 %. Флажок номер один фиксирует клиент постоянный или нет. Стоимость одного часа составляет 600 руб. Сеанс может длиться несколько часов. 'Сумма – оплата за сеанс 'Стоимость сеанса хранится в переменной Стоимость 'Часы – указывают, сколько длился сеанс If Form 1. Check. Box 1. Value = True Then Сумма=Стоимость*Часы – Стоимость*Часы*0. 05 ELSE Сумма = Стоимость*Часы END IF
Правила записи блочной формы условного оператора В блочную структуру If можно включать любое количество условий Else. If. n Операторы If, Else. If, End If должны быть первыми операторами в строке. n Блок обязательно должен заканчиваться оператором End If. n
Условие – это логическое выражение, которое может содержать знаки сравнения и логические операции: n Меньше или равно <= n Больше или равно >= n Не равно <> n AND Логическое «И» n OR Логическое «ИЛИ» n NOT Логическое «НЕ» n
Если условие сложное, используются логические операции: n x>=0 AND x<=5 n x>=5 (x принадлежит лучу от 5 до бесконечности) n Пример: n If Rost >170 AND Ves < 80 Then ? «Вы подходите» Else ? «Таких не берут в космонавты» n
Множественный выбор (Переключатель) n n n n n Переключатель позволяет сделать выбор из нескольких альтернативных вариантов в зависимости от значения условного выражения: SELECT CASE Проверяемое выражение, переменная CASE Значение 1 'Оператор, выполняемый при совпадении Значения 1 и значения Выражения 1 оператор CASE Значение_2 2 оператор … CASE ELSE Значение_N END SELECT
Пример: n n n n Option Explicit Dim str. A As String Private Sub cmd 1_Click() str. A = Input. Box("Varianty: napravo, nalevo, prjamo", "Kuda pojdesch? ") Select Case str. A Case «направо» Print «Коня потеряешь» Case «налево» Print «Сам пропадешь» Case «Прямо» Print «Не завидую тебе» Case Else Print «Выбери одну из трех возможностей» End Select End Sub
n n n В операторе Select Case можно использовать операции отношения. Для этого надо включить в выражение ключевое слово Is или ключевое слово То. Ключевое слово Is дает указание компилятору сравнить значение проверяемой переменной со значением выражения, следующего за ключевым словом Is. Ключевое слово То задает диапазон значений. Например, нижеприведенный код фрагмента программы, использующий оператор Select Case, позволяет выставить оценку исходя из общего количества набранных баллов:
После слова Case может идти: Число – константа(Case 10, 20, 30) n Проверка условия(Case Is < 4) n Диапазон от до(Case 4 То 5) n Если ни одно из условий Case не выполняется, то работает блок команд n Case Else
n n n n n Select Case Правильный. Ответ. Text Case 8 То 10 'Если сумма баллов в диапазоне 8 -10 Балл. Text = «Отлично» Case 6 To 7 'Если сумма баллов в диапазоне 6 -7 Балл. Text = «Хорошо» Case 4 То 5 'Если сумма баллов в диапазоне 4 -5 Балл. Text = «Удовлетворительно» Case Is < 4 'Если сумма баллов меньше 4 Балл. Text = «Неудовлетворительно» End Select
Оператор безусловного перехода n n Оператор безусловного перехода предназначен для задания перехода на указанную строку внутри программы: GOTO номер_строки или метка - оператор перехода на указанную метку(строку) По этой команде управление безусловно передается команде, помеченной номером строки или меткой. Метка – набор символов, начинающийся с буквы, может содержать любое количество букв и цифр и должен заканчиваться двоеточием.
Задача: разработать приложение, в котором зарплата зависит от класса, если: за 1 класс надбавка 30%, за 2 класс – 20%, за 3 – 10% K=txt. Классность. Text n Z= txt. Зарплата. Text n n If K=1 Then Z = Z *1. 3: GOTO M: n If K=2 Then Z = Z *1. 2: GOTO M: If K=3 Then Z = Z *1. 1: GOTO M: n M: txt. Зарплата. Класс. Text= «Зарплата с учетом» & K & «класса=» & Z n
n n Пример: IF Is. Numeric(Text 1. Text) = False THEN GOTO Ошибка. . . Ошибка: Msg. Box "Ошибка при вводе чисел!" В приведенном примере выполняется проверка введения числа в поле ввода номер один. Если введено не число, то осуществляется переход на строку с меткой Ошибка, и на экран выводится сообщение.


