Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТвМ-12-09-осень2013.doc
Скачиваний:
57
Добавлен:
01.04.2015
Размер:
4.2 Mб
Скачать

Программирование ветвлений

Ветвление в VISAULBASICорганизуется с использованием:

  • условного оператора IF

  • встроенной функции IIF

  • оператора выбора CASE

Условный оператор if

Для проверки одного условия и выполнения оператора или блока операторов используется оператор IF…THEN. Этот оператор можно использовать с разным синтаксисом: однострочным (линейным) и многострочным (блочным).

а) Однострочный:

If условие Then операторы1 [Else операторы2]

б) Блочный:

IfусловиеThen

блок операторов1

[Else

блок операторов2]

End If

Рис. 58. Пример решения задачи с использованием блочного оператора IF.

в) Для проверки более одного условия и выполнения одного из нескольких блоков операторов используется оператор вида:

If условие 1 Then

блок операторов 1

ElseIf условие 2 Then

блок операторов 2

……………

ElseIf условие n Then

блок операторов n

[Else

блок операторов Else]

End If

Пример:

Public Function Obr_Err (Err_Num As Integer) _

As Integer

Dim Txt As String

If Err_Num=6 Then

Txt=”переполнение” : Obr_Err=2

ElseIf Err_Num=11 Then

Txt=”деление на нуль” : Obr_Err=2

Else

Txt=”нераспознанная ошибка”&Err_Num : Obr_Err=3

EndIf

Err.Clear

MsgBox Txt, VbOkOnly, “Ошибки выполнения”

EndFunction

Функция IIF

IIF(условие,значение1,значение2)

Эта функция возвращает значение1, если условие истинно изначение2, если условие ложно.

В качестве условия можно использовать логическое выражение, возвращающее значение True (Истина) или False (Ложь), или любое арифметическое выражение (нулевое значение эквивалентно False, а ненулевое – True).

Оператор выбора SELECT CASE

Используется для проверки одного условия и выполнения одного из нескольких блоков операторов.

Формат записи оператора:

Select Case проверяемое выражение

Case список выражений 1

операторы 1

Case список выражений 2

операторы 2

Case список выражений 3

операторы 3

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

Case Else

операторы группы Else

End Select

Проверяемое выражение вычисляется в начале работы оператора Select Case. Это выражение может возвращать значение любого типа (логическое, числовое, строковое).

Список выражений – одно или несколько выражений, разделенных стандартным символом –разделителем(;).

При выполнении оператора проверяется, соответствует ли хотя бы один из элементов этого списка проверяемому выражению. Эти элементы списка выражений могут иметь одну из следующих форм:

  • выражение

  • выражение 1 To выражение 2

  • Is логический оператор(оператор сравнения) выражение

Например, Is >= 10

Рис.60. Пример решения задачи с использованием оператора SelectCase

Методы Print и Cls

Метод Print применяется для вывода данных в форму или на принтер. Для вывода на принтер используется метод Printer.Print, а для вывода в текущую форму достаточно просто написать Print.

Метод Cls убирает с формы весь текст, выведенный ранее. Если его не вызвать, после нескольких вызовов Print текст исчезает под нижним краем формы.

Программирование циклов

В VISAUL BASIC существуют три циклические конструкции операторов:

  1. For … Next

  2. While … Wend

  3. Do … Loop

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

Оператор цикла For…Next имеет формат:

For счетчик=началоToконец[Stepприращение]

операторы

Next [счетчик]

Рассмотрим пример решения задачи, использующей цикл со счетчиком. Требуется найти сумму 10 чисел.

Private Sub Command1_Click()

Dim b(10) As Integer, s As Integer

s = 0

For i = 1 To 10

b(i) = Val(InputBox("Введите число"))

s = s + b(i)

Next

Print s

End Sub

Оператор цикла WHILE…WEND

Используется для организации циклов с предусловием и имеет следующий формат:

While условие продолжения цикла

операторы тела цикла

Wend

Например, выведем в форму все значения, большие 1, причем каждое последующее значение получается путем деления предыдущего пополам:

Private Sub Command1_Click()

Dim y As Single

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

While y > 1

'MsgBox y

Print y

y = y / 2

Wend

End Sub

Оператор цикла DO…LOOP

Используется для организации циклов с неопределенным числом повторений (с предусловием и с постусловием).

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

а) Do Whileусловие продолжения цикла

операторы тела цикла

Loop

б) Do Untilусловие прекращения цикла

операторы тела цикла

Loop

Для организации цикла с постусловием этот оператор также может быть использован в двух модификациях:

в) Do

операторы тела цикла

Loop Whileусловие продолжения цикла

г) Do

операторы тела цикла

Loop Untilусловие прекращения цикла

На рис. 61 приведен пример использования цикла с постусловием для решения задачи сортировки одномерного массива по возрастанию элементов.

Рис. 61. Пример использования цикла с постусловием

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]