Основы офисного программирования и язык VBA


Пример 7.5


Public Sub Loop1()

Const Size = 5

Dim X() As Integer

Dim i As Integer

Dim Found As Boolean

Const pat = 7

'Инициализация случайными числами в интервале [1 - 10]

ReDim X(1 To Size)

Randomize

For i = 1 To Size

X(i) = Int(11 * Rnd)

Next i

'Поиск по образцу с проверкой в начале цикла

i = 1: Found = False

Do While (i <= Size) And (Not Found)

If X(i) = pat Then

Found = True

Else: i = i + 1

End If

Loop

If Found Then

Debug.Print "Найден образец!"

Else: Debug.Print "Образец не найден!"

End If

'Поиск по образцу с проверкой в конце цикла

i = 1: Found = False

Do

If X(i) = pat Then

Found = True

Else: i = i + 1

End If

Loop Until Found Or (i = Size + 1)

If Found Then

Debug.Print "Найден образец!"

Else: Debug.Print "Образец не найден!"

End If

'Поиск с барьером

ReDim Preserve X(1 To Size + 1)

X(Size + 1) = pat

i = 1

Do

If X(i) = pat Then Exit Do

i = i + 1

Loop

If i = Size + 1 Then

Debug.Print "Образец не найден!"

Else: Debug.Print "Образец найден!"

End If

End Sub




- Начало -  - Назад -  - Вперед -