
- •Материалы по дпв-2 программированию Алфавит языка vb
- •Объектный тип
- •Прочие типы
- •Переменные
- •6.7. Неявное объявление переменных
- •7. Массивы
- •7.1. Объявление статических массивов
- •7.2. Объявление динамических массивов
- •7.3. Присвоение массивов
- •11.1. Арифметические операции
- •11.2. Логические операции
- •11.3. Операции отношения
- •11.4. Операции с символьными строками
- •11.5. Порядок вычисления выражений
- •12. Операторы
- •12.1. Оператор безусловного перехода (GoTo)
- •12.2. Условный оператор If
- •12.3. Условный оператор Select Case
- •12.4. Оператор цикла For … Next
- •12.5. Оператор цикла Do … Loop
- •13.1. Процедуры
- •13.2. Функции
- •13.4. Встроенные функции языка vb
- •Алгоритмы
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 – оператор досрочного выхода из цикла.
Порядок работы:
Вычисление и запоминание значений выражений, определяющих начальное и конечное значения параметра цикла, а также шаг;
Присвоение параметру цикла начального значения;
Сравнение параметра цикла с конечным значением и выполнение операторов, если параметр цикла не перешел за конечное значение, и выход из цикла в противном случае;
Присвоение параметру цикла следующего значения, увеличенного или уменьшенного на значение шага;
Переход к пункту 3.
Замечания:
Если начальное, конечное значения параметра цикла и значение шага противоречивы, то операторы не выполняются ни разу;
При выходе из цикла значение параметра цикла считается неопределенным, за исключением его искусственного прерывания;
Параметр цикла не может входить в выражения: <НачальноеЗначение>, <КонечноеЗначение> и <Шаг>;
Если опция Step не используется, то значение шага принимается равным единице;
Цикл 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