Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы по ДПВ-2.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
68.56 Кб
Скачать

12.2. Условный оператор If

Условный оператор If в VB может иметь однострочную или многострочную структуру.

Однострочная структура имеет вид:

If <ЛогическоеВыражение> Then <Оператор1> [Else <Оператор2>]

где:

  • <ЛогическоеВыражение> - логическое выражение;

  • <Оператор> - один или несколько операторов, разделенных двоеточием.

Выполнение:

  • Если <ЛогическоеВыражение> = True (Истина), выполняется <Оператор1>;

  • Если <ЛогическоеВыражение> = False (Ложь), выполняется <Оператор2>;

  • Далее управление передается на следующий за End If оператор (на следующую строку).

Многострочная структура имеет вид:

If <ЛогическоеВыражение1> Then

<Операторы1>

[ElseIf <ЛогическоеВыражение2> Then

[<Операторы2>]

……………………………………

ElseIf <ЛогическоеВыражениеN> Then

[<ОператорыN>]]

[Else

[<ОператорыN+1>]]

End If

Выполнение: Последовательно проверяются логические выражения начиная с первого. Выполняются те <ОператорыI>, для которых впервые <ЛогическоеВыражениеI> станет равным True. Далее управление передается за End If. Если нет логического выражения равного True выполняются <ОператорыN+1> и управление передается за End If.

If Ball >= 14 Then

Sball = “Отлично”

ElseIf Ball >= 10 Then

Sball = “Хорошо”

ElseIf Ball >= 5 Then

Sball = “Удовлетворительно”

Else ‘ Else : Sball = “Неудовлетворительно”

Sball = “Неудовлетворительно”

End If

Оператор If допускает вложения. Кратность вложения не ограничена.

12.3. Условный оператор Select Case

Условный оператор Select Case имеет следующий вид:

Select Case <Выражение>

[Case <Значение1>

[<Операторы1>]]

[Case <Значение2>

[<Операторы2>]]

……………………..

[Case <ЗначениеN>

[<ОператорыN>]]

[Case Else

[<ОператорыN+1>]]

End Select

Выполнение: Выполняются те первые <ОператорыI>, для которых <Выражение> = <ЗначениеI>. Далее управление передается за End Select. Если нет <ЗначенияI> равного <Выражению>, то выполняются <ОператорыN+1> и управление передается за End Select. Если для разных значений надо выполнить одни операторы, то их можно объединить, записав через запятую или использовать ключевое слово To, если их целый диапазон. Кроме того можно использовать операции отношения при использовании ключевого слова Is:

Select Case Ball ‘Ball - Переменная выбора

Case Is >= 14

Sball = “Отлично”

Case 10,11,12,13

Sball = “Хорошо”

Case 5 To 9 ‘5-9

Sball = “Удовлетворительно”

Case Else ‘Остальные

Sball = “Неудовлетворительно”

End Select

Можно одновременно использовать все три способа: Case 1,3, 7 To 15, Is >23.

Значения переменной выбора могут быть не только числовыми, но и строковыми. При этом строковые значения берутся в кавычки: Case "Москва".

12.4. Оператор цикла For … Next

Цикл – это оператор или группа операторов, которые в программе выполняются многократно.

В VB существуют два основных типа циклов – циклы со счетчиком (с известным числом повторений) и циклы с условием (с неизвестным числом повторений.

Цикл For…Next это цикл со счетчиком:

For <Счетчик> = <НачальноеЗначение> To <КонечноеЗначение> [Step <Шаг>]

[<Операторы>]

[Exit For]

Next [<Счетчик>]

где:

<Счетчик> - параметр цикла, числовая переменная, необязательно целого типа;

<НачальноеЗначение> - выражение, определяющее начальное значение пара­метра цикла, необязательно целого типа;

<КонечноеЗначение> - выражение, определяющее конечное значение пара­метра цикла, необязательно целого типа;

<Шаг> - выражение, определяющее значение на которое увеличивается (или уменьшается) значение параметра цикла, необязательно целого типа;

For, To, Step, Next – ключевые слова;

Exit For – оператор досрочного выхода из цикла.

Порядок работы:

  1. Вычисление и запоминание значений выражений, определяющих начальное и конечное значения параметра цикла, а также шаг;

  2. Присвоение параметру цикла начального значения;

  3. Сравнение параметра цикла с конечным значением и выполнение операторов, если параметр цикла не перешел за конечное значение, и выход из цикла в противном случае;

  4. Присвоение параметру цикла следующего значения, увеличенного или уменьшенного на значение шага;

  5. Переход к пункту 3.

Замечания:

  1. Если начальное, конечное значения параметра цикла и значение шага противоречивы, то операторы не выполняются ни разу;

  2. При выходе из цикла значение параметра цикла считается неопределен­ным, за исключением его искусственного прерывания;

  3. Параметр цикла не может входить в выражения: <НачальноеЗначение>, <КонечноеЗначение> и <Шаг>;

  4. Если опция Step не используется, то значение шага принимается равным единице;

  5. Цикл For допускает вложения. Число вложенных циклов не ограничено. Имя параметра каждого из циклов должно быть уникальным.

Пример 1:

For I1 = 5 To 1 Step –0.5

For I2 = 10 To 15

Print I1*I2

Next I2

Next I1 ‘Next I2, I1

Пример 2: Каково будет K при выходе из цикла?

K = 0: M = 0

For I = 1 To 10 – M Step 1 + M

K = K + 1: M = M + 1

Next I ‘ K = 10