Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по информатике. VBA.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.32 Mб
Скачать

9. Лабораторная работа № 9. Программирование алгоритмов циклической структуры c использованием оператора цикла do

9.1 Цель работы: изучение методов алгоритмизации и программирования алгоритмов циклической структуры c использованием оператора цикла do

9.2 Теоретические сведения.

Цикл DoLoop

Повторяет блок операторов, пока заданное условие является истинным или пока оно не станет истинным.

Имеется четыре варианта синтаксиса этого цикла. В двух первых вариантах условие проверяется в начале цикла:

Do [{While | Until} условие]

тело цикла

Loop

В других вариантах условие проверяется в конце цикла:

Do

тело цикла

Loop [{While | Until} условие]

Здесь условие является числовым или строковым выражением со значениями True или False. Вообще, оно необязательно. Значение Null условия трактуется как False. Тело цикла – это последовательность операторов, которая будет выполняться, пока условие остается истинным, если перед ним стоит ключевое слово While, или пока оно остается ложным – в в варианте цикла с ключевым словом Until. Таким образом, циклы вида While условие эквивалентны циклам вида Until Not условие. Кроме того, в тело цикла может входить оператор Exit Do, выполнение которого сразу прекращает цикл и передает управление оператору, непосредственно следующему за Loop. В случае нескольких вложенных циклов Do…Loop оператор Exit Do завершает лишь самый внутренний цикл, в теле которого он расположен.

Пример.

В данном примере реализованы три варианта поиска по образцу с проверкой условия в начале цикла, в конце цикла, и в середине цикла для варианта поиска по образцу с барьером:

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 1 = 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

MsgBox “Найден образец!”

Else: MsgBox “Образец не найден!”

End If

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

i = 1: Found = False

Do

If X(i) = pat Then

Found = True

Else: i=i+1

End If

Loop Until Found 0r (i=Size+1)

If Found Then

MsgBox “Найден образец!”

Else: MsgBox “Образец не найден!”

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

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

MsgBox “Образец не найден!”

Else: MsgBox “ Образец найден!”

End If

End Sub

9.3 Задание к работе.

Вычислить таблицу значений функции для значений х в интервале от хн до хк с шагом ∆х. c использованием оператора цикла DO . Варианты заданий приведены в таблице 9.1. организовать вывод значения аргумента и вычисленного значения функции в виде таблицы.

Таблица 9.1. Таблица функции у(х).

Варианты задания

Расчетные формулы

Исходные данные

а

b

хн

хк

∆х

y=arctg bx/(1+sin2x)

-

0,75

1,35

6,5

0,8

19,6

7,6

14,6

34,8

6

1,38

-1,26

60

100

10

-

1,68

1,2

2,4

0,2

0,36

5,5

10

50

6

0,9

1,85

0

1,2

0,15

1,24

0,67

10,2

12,4

0,45

2,8

0,45

40

60

4,5

20,2

7,65

3,5

4

0,1

4,6

2,5

0,75

1,8

0,3

0,55

0,78

4,2

5,8

0,25

7,83

0,3

9

12

0,35

0,28

1,35

1,2

7,5

0,5

0,9

0,66

2,3

8,9

1,3

0,85

-

17,2

24,6

2

1,16

-

0,25

1,28

0,33

0,4

10,8

0,84

1,25

0,15

1,28

0,03

12,6

34,9

7,6

0,25

0,68

11,6

15,8

0,6

1,6

1,24

0,2

1,4

0,35

1,8

0,34

6,44

9,1

0,25

0,44

2,28

6,5

7,3

0,12

3,2

0,45

0,6

1,5

0,2

17,5

10,45

1,9

3,8

0,3

8,24

-

14,9

24,8

1,5