Оператор множественного выбора Select Case. Примеры

 

Оператор множественного выбораSelect Case

 

Используется при необходимости осуществить проверку более сложных условий.

Формат команды

 

Select Caseарифм_выражение или симв_выражение

Caseусловие 1

блок команд 1

Caseусловие 2

блок команд 2

...........................

Case Else

блок команд n

End Select

В поле операндов Select Case записывается произвольное арифметическое выражение или символьное выражение, которое в процессе выполнения программы принимает то или иное числовое, логическое или символьное значение.

В поле операндов каждого оператора Case надо указать условие в одном из трех форматов:

1. Case константа_1, константа_2,...

2. Case Is знак_отношения константа

3. Case константа_1 Toконстанта_2

Алгоритм множественного выбора заключается в следующем. Сначала вычисляется значение выражения, записанного в SelectCase. Далее проверяется, удовлетворяет ли это значение одному из указанных в Case условий. Если значение удовлетворяет какому-то условию, выполняется блок команд, следующий за данным Case. Если ни одно условие не удовлетворяется, выполняется блок команд, следующий за Case Else. При выполнении того или иного блока команд управление передается команде, следующей за End Select.

Пример:

Input A

Select Case A

Case 1,5

Print «А равно 1 или 5»

Case Is >5

Print «А больше 5»

Case -8 TO 2.5

Print «А не меньше -8, но не больше 2.5»

Case Else

Print «Ни одно условие не выполняется»

End Select


20. Организация циклов в Visual Basic. Цикл со счётчиком For … Next. Примеры.

 

Организация циклов

 

Цикл - это многократно повторяемая часть программы.

В языке Visual Basic предусмотрено два основных способа организации циклов:

  • повторение блока команд заданное количество раз (цикл со счетчиком);
  • циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие.

 

Цикл со счетчиком For ...Next (Для ... Следующий)

 

Цикл For ... Next - это цикл с заранее заданным количеством повторений.

 

For переменная_цикла=нач_значение Toконеч_значение [Stepшаг]

блок_команд

Nextпеременная_цикла

 

В поле операндов оператора For указываются:

  • числовая переменная, которая называется счетчиком илипеременной цикла.
  • начальное и конечное значение счетчика.

Если необходимо, укажите шаг изменения счетчика по окончании каждого цикла (по умолчанию этот шаг равен 1).

Конструкция завершается оператором Next.

Принцип работы оператора :

Переменной цикла присваивается начальное значение, после этого первый раз выполняется блок команд (тело цикла). Оператор NEXT увеличивает текущее значение переменной цикла на величину шага , и, если новое значение переменной цикла не превышает заданное конечное значение, в очередной раз выполняется блок команд.

Пример 1:Вывести 10 раз текст «привет»

For I=1 To 10

Print «привет»

Next I

 

Пример 2: Вывести все четные натуральные числа от 10 до 20.

For K=10 To 20 Step 2

Print K

Next K

 

Можно выйти из цикла не дожидаясь выполнения всех повторений при помощи оператора Exit For. Управление будет передано на оператор, стоящий после Next.

С помощью For ... Next можно организовывать вложенные циклы - каждый со своим For, Next и счетчиком.


 

21. Универсальный цикл Do…Loop. Примеры.

 

Наиболее гибкий и универсальный способ организации цикла по условию обеспечивает конструкция Do ...Loop. Конструкция имеет четыре формата:

 

Циклы с предусловием.

Блок_команд выполняется до тех пор, пока значение логич_выраженияистинно.

 

1. Do While логич_выражение

блок_команд

Loop

Блок_команд выполняется до тех пор, пока значение логич_выраженияложно.

 

 

2. Do Until логич_выражение

блок_команд

Loop

 

Циклы с постусловием

(при первом входе условие не проверяется, поэтому блок_команд будет выполнен хотя бы один раз).

Блок_команд выполняется до тех пор, пока значение логич_выраженияистинно.

 

3 . Do

блок_команд

Loop While логич_выражение

Блок_команд выполняется до тех пор, пока значение логич_выраженияложно.

 

4. .Do

блок_команд

Loop Until логич_выражение

 

Можно выйти из цикла не дожидаясь выполнения всех повторений при помощи оператора Exit Do. Управление будет передано на оператор, стоящий после Loop.