Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Многострочный If

Математика. Запись арифметических выражений | Типы данныхи точность вычислений | Порядок создания простого вычислительного проекта | Теперь нужно задать компьютеру действия, которые он должен проделать с исходными данными, чтобы получить результат. | Строковые переменные | Как выводить информацию оператором Print | Как выводить информацию в текстовое поле | Что такое выбор(ветвление) | Условный операторIf или как компьютер делает выбор | Правила записи однострочного оператора If |


Вспомним недавнюю задачу: Если a не равно 4, выполнить операторы b=3 и Print b, а в противном случае - операторы b=0, a=b+5 и с=0. Вот однострочный оператор If, решающий эту задачу:

If a <> 4 Then b=3: Print b Else b=0: a=b+5: с=0

Однако, часто количество операторов после Then и Else бывает гораздо большим, да и сами эти операторы бывают гораздо более сложными и длинными. В этом случае строка становится неудобочитаемой, да и вообще не умещается на экране. Для таких случаев создан многострочный (или блочный) оператор If. Вот как решается наша задача с его помощью:

If a <> 4 Then

b=3

Print b

Else

b=0

a=b+5

с=0

End If

Конструкция End If означает просто, что в этом месте оператор If заканчивается.

Часть Else может и отсутствовать. Например,

If a <> 4 Then

b=3

Print b

End If

 

Самое замечательное в блочном If то, что здесь можно одно за другим проверять несколько условий. Проиллюстрирую на примерах.

Задача: В компьютер вводится целое число a.

· Если a<0, то компьютер должен сказать "Число отрицательно".

· Если a=0, то компьютер должен сказать "Вы ввели нуль".

· Если a>100, то компьютер должен сказать "Число большое".

· В остальных случаях компьютер ничего не должен говорить, а только вычислить и напечатать его квадрат.

 

В любом случае после всего этого компьютер должен сказать "До свидания".

Вот программа:

Private Sub Command1_Click()

a = InputBox("Введите число")

If a < 0 Then

MsgBox ("Число отрицательно")

ElseIf a = 0 Then

MsgBox ("Вы ввели нуль")

ElseIf a > 100 Then

MsgBox ("Число большое")

Else

Print a ^ 2

End If

MsgBox ("До свидания!")

End Sub

ElseIf переводят так - "иначе если". Получается вот что: Если a < 0, то ……. иначе если a = 0, то …… иначе если a > 100, то ……

Блочный If выполняется так: Сначала проверяется первое условие (a < 0). Если оно не выполняется, то Visual Basic переходит к проверке второго условия(a = 0) и так далее. Наткнувшись наконец на условие, которое выполняется, Visual Basic выполняет операторы, стоящие после его Then и на этом заканчивает работу, даже если ниже есть условия, которые тоже выполняются. Если не выполняется ни одно из условий, Visual Basic выполняет операторы, стоящие за Else.

 

Вот синтаксис многострочного оператора If:

If условие Then

операторы

операторы

…………….

[ ElseIf условие Then

операторы

операторы

……………. ]

……………………….….

[ Else

операторы

операторы

……………. ]

End If

Частей ElseIf может быть сколько угодно или совсем не быть. Часть Else, если она есть, то одна и стоит последней.

Имейте в виду, что у вас нет права, экономя место по вертикали экрана, объединять строки многострочного оператора If, например, так:

If условие Then операторы ElseIf операторы

и я вам не советую (а часто вы и не сможете) переносить слова Then, ElseIf и другие со своего законного места, например, так:

If условие

Then операторы

ElseIf операторы

 

Задание 24: Компьютер спрашивает пользователя, как его зовут, а затем приветствует его в соответствии с именем: Колю - "Привет", Васю - "Здорово", Джона - "Hi", а остальных - "Здравствуйте". Для Васи, кроме этого, он красит форму в зеленый цвет.

 

Задание 25: Видоизменить диалог с компьютером, начатый в 4.9. Пусть компьютер, узнав возраст человека, дальнейшую беседу ведет по двум вариантам. Если возраст больше 17, то компьютер должен задать вопрос: "В каком институте ты учишься?" и получив ответ, глубокомысленно заметить "Хороший институт". Если же возраст меньше или равен 17, то соответственно - "В какой школе ты учишься?" и "Неплохая школа". После этого, каков бы ни был вариант, компьютер должен попрощаться: "До следующей встречи!".


Дата добавления: 2015-11-16; просмотров: 60 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Случайные величины| Вложенные операторы If. Логические операции и выражения

mybiblioteka.su - 2015-2024 год. (0.006 сек.)