Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор Do…Loop

Оператор организует цикл с условием, т. е. цикл с неизвестным заранее числом повторений цикла.

Он имеет 4 формы записи.

а) цикл с предусловием б) цикл с постусловием

делать пока истина
Do оператор 1 оператор 2 … оператор m Loop While Условие  
Do While Условие

оператор 1

оператор 2

оператор m

Loop

Условие – это логическое выражение, имеющее значение «истина» или «ложь». Такие циклы выполняются пока Условие имеет значение «истина». Когда Условие принимает значение «ложь», происходит выход из цикла и выполняется оператор, следующий за циклом.

Вместо слова While можно использовать служебное слово Until (пока не):

в) цикл с предусловием г) цикл с постусловием

делать пока не истина
Do оператор 1 оператор 2 … оператор m Loop Until Условие  
Do Until Условие

оператор 1

оператор 2

оператор m

Loop

Эти циклы выполняются пока Условие имеет значение «не истина», т. е. «ложно». Выход из цикла происходит, когда Условие будет иметь значение «истина».

В циклах с предусловием условие выхода из цикла проверяется перед выполнением тела цикла, поэтому тело цикла может не выполниться ни разу. В циклах с постусловием тело цикла всегда выполнится хотя бы один раз, так как проверка условия окончания цикла происходит после выполнения тела цикла.

Возможен досрочный выход из цикла, не дожидаясь выполнения условия выхода. Для этого используется оператор Exit Do.

Рассмотрим несколько вариантов алгоритма решения задачи нахождения суммы 10 значений функции, используя для организации цикла различные формы оператора Do…Loop.

а) Do While …Loop

Блок-схема:

 

 

Программный код процедуры вычисления суммы.

Private Sub btnOption_Click()

Dim x, dx, S as single, i as byte

x=Val(txtX.Text)

dx=Val(txtdX.Text)

S=0

i=0

Do While i< 10

S=S+x+sin(x)

x=x+dx

i=i+1

Loop

txtS.Text=Str(S)

End Sub

b) Do …Loop While

Блок-схема: Программный код:

       
 
   
Private Sub btnOption_Click() Dim x, dx, S as single, i as byte x=Val(txtX.Text) dx=Val(txtdX.Text) S=0 i=0 Do S=S+x+sin(x) x=x+dx i=i+1 Loop While i< 10 txtS.Text=Str(S) End Sub
 

 

 


в) Do Until…Loop

Блок-схема та же как в случае а), отличается только условием:

 
 

 

 


Фрагмент программного кода:

Do Until i>= 10

S=S+x+sin(x)

x=x+dx

i=i+1

Loop

Задача 2

Вычислить произведение 10 значений функции f(x)=x+sinx при значениях аргументах, изменяющихся от начального значения х = хнач с шагом = dx, т. е. вычислить произведение P:

при х = хнач и шагом dx

Для вычисления произведения используем рекуррентное выражение Р=Р*f(xi), где f(xi) = xi+sinxi

Начальное значение Р возьмем равным 1. Алгоритм аналогичен алгоритму для вычисления суммы.

Фрагмент программного кода:

Р=1

i=0

Do

P=P*(x+sin(x))

x=x+dx

i=i+1

Loop Until i >= 10

<== предыдущая лекция | следующая лекция ==>
Оператор For…Next | Вложенные циклы
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 818; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.