06.01.2015 Views

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

45<br />

Выражение<br />

[…]<br />

Loop Until ложноеЛогическоеВыражение [=False]<br />

Лексема Do помечает <strong>на</strong>чало этих упра<strong>в</strong>ляющих структур. Следующие за<br />

ней <strong>в</strong>ыражения последо<strong>в</strong>ательно исполняются до лексемы Loop, а затем<br />

происходит <strong>в</strong>оз<strong>в</strong>рат к пер<strong>в</strong>ому после Do <strong>в</strong>ыражению и <strong>в</strong>се по<strong>в</strong>торяется.<br />

Образуется замкнутый цикл, и, если не принять мер, он стано<strong>в</strong>ится<br />

бесконечным. Для упра<strong>в</strong>ления <strong>в</strong>ыходом из цикла используются операторы<br />

While и Until, которые можно размещать как за оператором Do, так и за<br />

сло<strong>в</strong>ом Loop. После операторо<strong>в</strong> While и Until долж<strong>на</strong> присутст<strong>в</strong>о<strong>в</strong>ать<br />

логическая операция. Если ее результат после While соот<strong>в</strong>етст<strong>в</strong>ует истине<br />

или ложен после Until, то цикл продолжает <strong>в</strong>ыполняться. В проти<strong>в</strong>ном<br />

случае программа переходит <strong>на</strong> следующее за упра<strong>в</strong>ляющей структурой<br />

<strong>в</strong>ыражение.<br />

Допускается, также, использо<strong>в</strong>ание упра<strong>в</strong>ляющей структуры<br />

While…Wend:<br />

Примеры<br />

While ИстинноеЛогическоеВыражение [=True]<br />

Выражение<br />

[…]<br />

Wend<br />

Sub Приглашение ()<br />

Do While <strong>в</strong>сего < 100<br />

гость = InputBox ("Имя гостя ")<br />

сопро<strong>в</strong>ождающие = InputBox ("Сколько с ним чело<strong>в</strong>ек ")<br />

<strong>в</strong>сего = <strong>в</strong>сего + сопро<strong>в</strong>ождающие + 1<br />

Loop<br />

MsgBox "Больше мест нет. Последний <strong>в</strong> списке " & гость<br />

End Sub<br />

Sub ПокаНалог ()<br />

доход = InputBox ("Ваш месячный доход")<br />

процент = Ста<strong>в</strong>каНалога (доход)<br />

Do While процент = 13<br />

<strong>в</strong>сего = <strong>в</strong>сего + доход<br />

процент = Ста<strong>в</strong>каНалога (<strong>в</strong>сего)<br />

месяц = месяц + 1<br />

If месяц > 13 Then Exit Do<br />

Loop<br />

MsgBox "Минималь<strong>на</strong>я ста<strong>в</strong>ка <strong>на</strong>лога удержи<strong>в</strong>ается " & _<br />

месяц - 1 & " месяце<strong>в</strong>"<br />

End Sub

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!