Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Оператор неопределенного цикла Do. Loop




 

Все неопределенные циклы строятся с помощью одного оператора цикла – Do. Оператор Do имеет много опций и является настолько гибким, что в действительности он предоставляет четыре различных конструкции цикла в двух базовых категориях.

Две базовые категории конструкций цикла Do – это циклы, которые тестируют условие до выполнения тела цикла, и циклы, которые тестируют условие после выполнения тела цикла.

 

– цикл Do... Loop с проверкой условия в начале:

 

В приведенном цикле проверка осуществляется через ключевое слово While. Цикл работает пока условие истинно. Как только условие становится ложным, цикл прекращает свою работу.

 

Do While условие

[блок_операторов]

Loop

В приведенном цикле проверка осуществляется через ключевое слово Until. Цикл работает пока условие ложно. Как только условие становится истинным, цикл прекращает свою работу.

 

Do Until условие

[блок_операторов]

Loop

 

– цикл Do... Loop с проверкой условия в конце:

 

Do

[блок_операторов]

Loop While условие

 

Do

[блок_операторов]

Loop Until условие

 

 

Таким образом, общий вид цикла Do…Loop можно представить в виде:

  Цикл “ПОКА” Цикл “ДО”
цикл с пост- условием parametr = начало shag = шаг DO [блок операторов – тело цикла] parametr = parametr + shag LOOP WHILE условие   parametr = начало shag = шаг DO [блок операторов – тело цикла] parametr = parametr + shag LOOP UNTIL условие  
цикл с пред- условием parametr = начало shag = шаг DO WHILE условие [блок операторов – тело цикла] parametr = parametr + shag LOOP   parametr = начало shag = шаг DO UNTIL условие [блок операторов – тело цикла] parametr = parametr + shag LOOP  

 

Здесь parametr – переменная, по которой организован цикл (параметр цикла); shag – шаг изменения значения переменной цикла.

 

Пример. Построить и заполнить таблицу значениями функции на интервале с шагом 4°.

– решение с использованием ключевого слова While (цикл с предусловием):

 

Sub Demo_Do_While_Loop()

Dim xStart, xEnd, xStep As Integer

Dim x As Integer

Dim i As Integer

Dim xradian, y As Single

xStart = Cells(2, 2)

xEnd = Cells(3, 2)

xStep = Cells(4, 2)

i = 1

x = xStart

' Пока x<= 40 выполняются следующие действия:

Do While x <= 40

xradian = 3.14 * x / 180

y = (2.51 * Sin(xradian) / (2 + 3 * Cos(xradian)) ^ (1 / 3))

i = i + 1

Cells(i, 4) = x

Cells(i, 5) = y

x = x + xStep

' Окончание цикла

Loop

End Sub

 

– решение с использованием ключевого слова While (цикл с постусловием):

 

Sub Demo_Do_Loop_While()

Dim xStart, xEnd, xStep As Integer

Dim x As Integer

Dim i As Integer

Dim xradian, y As Single

xStart = Cells(2, 2)

xEnd = Cells(3, 2)

xStep = Cells(4, 2)

i = 1

x = xStart

' Начало цикла

Do

xradian = 3.14 * x / 180

y = (2.51 * Sin(xradian) / (2 + 3 * Cos(xradian)) ^ (1 / 3))

i = i + 1

Cells(i, 4) = x

Cells(i, 5) = y

x = x + xStep

' Повторить действия, пока x<= 40

Loop While x <= 40

End Sub

 

– решение с использованием Until (с предусловием):

 

Sub Demo_Do_Until_Loop()

Dim xStart, xEnd, xStep As Integer

Dim x As Integer

Dim i As Integer

Dim xradian, y As Single

xStart = Cells(2, 2)

xEnd = Cells(3, 2)

xStep = Cells(4, 2)

i = 1

x = xStart

' Выполнять действия, пока x не превысит 40

Do Until x > 40

xradian = 3.14 * x / 180

y = (2.51 * Sin(xradian) / (2 + 3 * Cos(xradian)) ^ (1 / 3))

i = i + 1

Cells(i, 4) = x

Cells(i, 5) = y

x = x + xStep

' Конец цикла

Loop

End Sub

 

– решение с использованием Until (с постусловием):

 

Sub Demo_Do_Until_Loop()

Dim xStart, xEnd, xStep As Integer

Dim x As Integer

Dim i As Integer

Dim xradian, y As Single

xStart = Cells(2, 2)

xEnd = Cells(3, 2)

xStep = Cells(4, 2)

i = 1

x = xStart

' Начало цикла

Do

xradian = 3.14 * x / 180

y = (2.51 * Sin(xradian) / (2 + 3 * Cos(xradian)) ^ (1 / 3))

i = i + 1

Cells(i, 4) = x

Cells(i, 5) = y

x = x + xStep

' Повторить действия, пока x не превысит 40

Loop Until x > 40

End Sub

 

Пример. Вычислить с помощью цикла наибольшее положительное число n, удовлетворяющее условию .

 

Решение.

 

Sub n()

Dim n As Integer

n = 1

' Выполнять действия, пока истинно условие:

Do While 4 * n ^ 3 - n ^ 2 + 3 * n < 250000000#

n = n + 1

Loop

MsgBox "Наибольшее целое " & n - 1,, "Ответ задачи"

End Sub

 





Поделиться с друзьями:


Дата добавления: 2015-10-27; Мы поможем в написании ваших работ!; просмотров: 597 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2538 - | 2391 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.