русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Select Case


Дата добавления: 2015-06-12; просмотров: 787; Нарушение авторских прав


Для проверки переменной на соответствие нескольким условиям служит оператор Select Case. При этом в зависимости от значения переменной можно исполнить один из блоков кода. Общий вид данной конструкции выглядит следующим образом:

Select Case variant

Case varValue1

<список операторов 1>

Case varValue2

<список операторов 2>

...

Case varValueN

<список операторов N>

Case Else

<список операторов N+1>

End Select

Алгоритм выполнения данной конструкции:

1. значение переменной variant сравнивается со значением varValue1, если они равны, то выполняется список операторов 1;

2. в противном случае – значение переменной variant сравнивается со значением varValue2, если они равны, то выполняется список операторов 2;

...

n в противном случае – значение переменной variant сравнивается со значением varValueN, если они равны, то выполняется список операторов N;

n+1 в противном случае выполняется список операторов N+1

 

Пример использования:

Select Case x

Case 1

y=x+1

Case 2

y=x+2

Case 3

y=x+3

Case Else

y=0

End Select

 

В качестве параметра variant может использоваться переменная любого из подтипов типа Variant, например String, что делает этот оператор очень «удобным» в ситуациях выбора в зависимости от значения переменной с вариантами более двух!!!

Пример:

a=inputbox("Input")

Select Case a

Case "s1" msgbox("s1")

Case "s2" msgbox("s2")

Case "s3" msgbox("s3")

Case "s4" msgbox("s4")

Case Else msgbox("нет такого варианта")

 

End Select

ДЕМОНСТРАЦИОННЫЕ ПРИМЕРЫ

Пример 1

'Имя файла: If_Then.vbs

'программа, которая при x>0 вычисляет значение натурального логарифма 'Log(x), а в противном случае ничего не делает



 

x=CInt(inputbox("Введите параметр",_

"вычисление натурального логарифма","1"))

If x>0 Then

Msgbox "Ответ: "&(log(x)),vbSystemModal,"Результат"

End If

Пример 2

'Имя файла: If_Then_Else.vbs

'программа, которая при x>0 вычисляет значение натурального логарифма 'Log(x), а в противном случае выдаёт сообщение об ошибке, в которой 'говорится, что вычислить логарифм невозможно, так как введённое 'значение x не входит в область определения данного логарифма.

 

x=CInt(inputbox("Введите параметр",_

"вычисление натурального логарифма","1"))

If x>0 Then

Msgbox "Ответ: "&(log(x)),vbSystemModal,"Результат"

Else

Msgbox "x не входит в область определения данного логарифма",_

vbSystemModal+vbCritical,"ошибка ввода"

End If

Пример 3

'Имя файла: If_Then_ElseIf.vbs

'программа, иллюстрирующая конструкцию If...Then...ElseIf.

 

x=CInt(inputbox("Введите параметр",_

"вычисление натурального логарифма","1"))

If x=0 Then

Msgbox "Вы ввели 0",vbSystemmodal+vbcritical,"ошибка ввода"

ElseIf x<0 Then

Msgbox "Значение меньше нуля",vbSystemmodal+vbcritical,_

"ошибка ввода"

Else Msgbox "Ответ: "&(log(k)),vbSystemModal,"Результат"

End If

Пример 4

'Имя файла Bolshee.vbs

'Программа вычисляет большее из двух чисел

option explicit 'запрет на использование необъявленных переменных

dim x,y,z 'три рабочие переменные

' вводим переменные

x=Inputbox("Введите значение переменной x:",_

"Окно ввода значения переменной типа Integer")

y=Inputbox("Введите значение переменной y:",_

"Окно ввода значения переменной типа Integer")

'преводим x и y к типу Integer

x=CInt(x)

y=CInt(y)

If x>y Then z=x Else z=y

Msgbox "x = "&x&" ; "&" y = "&y&vbcrlf&_

"Большее из двух чисел: "&z

Пример 5

'Имя файла: Select_Case.vbs

'программа, в которой по введённому номеру дня недели выводиться его 'название.

x=CByte(inputbox("Введите номер дня недели от 1 до 7: ","Окно ввода","1"))

Select Case x

Case 1

MsgBox "Понедельник"

Case 2

MsgBox "Вторник"

Case 3

MsgBox "Среда"

Case 4

MsgBox "Четверг"

Case 5

MsgBox "Пятница"

Case 6

MsgBox "Суббота"

Case 7

MsgBox "Воскресенье"

Case Else

MsgBox "Введенному числу не соответствует ни один из дней недели"

End Select


Пример 6

'Имя файла: Examen.vbs

'в зависимости от оценки, полученной на экзамене, программа выводит тот 'или иной комментарий

option explicit 'запрет на использование необъявленных переменных

dim ball 'три рабочая переменная

' вводим переменную

ball=Inputbox("Введите свою оценку за экзамен:",_

"Окно ввода значения переменной типа Integer")

'преводим ball к типу Integer

ball=CInt(ball)

Select Case ball

Case 1

Msgbox "Очень плохо!!!",,"реакция:"

Case 2

Msgbox "Плохо!!!",,"реакция:"

Case 3

Msgbox "Удовлетворительно!!!",,"реакция:"

Case 4

Msgbox "Хорошо!!!",,"реакция:"

Case 5

Msgbox "Отлично!!!",,"реакция:"

End Select

Пример 7

'Имя файла: Game.vbs

'программа, которая предлагает угадать число от 0 до 10 за 3 попытки.

Randomize

a= Rnd(1) 'переменной a присваивается случайное число от 0 до 1

a=Fix(a*10) 'переменной присваивается случайное число от 0 до 10

x=CInt(inputbox("Введите параметр",_

"Угадайте число от 0 до 10 за 3 попытки!!!","5"))

If x>a Then

Msgbox "Загаданное число меньше! ",vbSystemModal,"результат: "

x=CInt(inputbox("Попытайтесь угадать ещё раз: ",_

"Осталось всего 2 попытки!!!","5"))

ElseIf x<a Then

Msgbox "Загаданное число больше! ",vbSystemModal,"результат: "

x=CInt(inputbox("Попытайтесь угадать ещё раз: ","Осталось всего 2 попытки!!!","5"))

End If

If x<a Then

Msgbox "Загаданное число больше!",vbSystemModal,"результат: "

x=CInt(inputbox("Попытайтесь угадать ещё раз: ",_

"Осталась всего 1 попытка!!!","5"))

ElseIf x>a Then

Msgbox "Загаданное число меньше! ",vbSystemModal,"результат: "

x=CInt(inputbox("Попытайтесь угадать ещё раз: ",_

"Осталась всего 1 попытка!!!","5"))

End If

If x=a Then

Msgbox "Вы угадали загаданное число!!! ",_

vbSystemModal,"результат: "

Else

Msgbox "Вам не удалось угадать загаданное число за 3 попытки!!! ", _ vbSystemModal,"результат: "

End If



<== предыдущая лекция | следующая лекция ==>
Логические операции | ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.058 сек.