Студопедия

КАТЕГОРИИ:

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


Итерационный цикл Do Until...Loop или Do...Loop Until




Until (до) – зарезервированное слово. По своей логике цикл Until подобен циклу Whileс той лишь разницей, что выполнение условия означает необходимость выхода из цикла. Как и в случае цикла While, проверка условия выхода в цикле Untilможет осуществляться перед очередным проходом или после него. Вот синтаксис этих двух вариантов.

Первый вариант:

 

Do Until УсловиеВыхода

Группа инструкций

Loop

Блок-схема реализуемого алгоритма приведена на рис. 7.3.


Второй вариант:

 

Do

Группа инструкций

Loop Until УсловиеВыхода

 

Блок-схема реализуемого алгоритма приведена на рис. 7.4.


Перейдем к примерам.

 

Пример 3

Рассмотрим действие участка программы:

 

Счетчик = 0

Номер = 20

Do Until Номер = 10

Номер = Номер – 1

Счетчик = Счетчик + 1

Loop

 

Переменная Счетчик получит значение 10.

 

Пример 4

 

Счетчик = 0

Номер = 1

Do

Номер = Номер + 1

Счетчик = Счетчик + 1

Loop Until Номер = 10

 

Переменная Счетчик получит значение 9.

 

Инструкцию Do...Loop можно завершить досрочно с помощью инструкции Exit Do.

 

Пример 5

 

Задана строка символов. Получить новую строку символов, отличающуюся от исходной тем, что из нее удалены все пробелы.

Так, например, строки “Это тест” и “ Это тест ” должны считаются идентичными.

Применим некоторые стандартные функции VB, предусмотренные для обработки строк:

Len(Строка) – возвращает количество символов в аргументе Строка;

InStr([Начало], Строка1,Строка2) – возвращает номер позиции, начиная с которой Строка2 входит в Строку1 или 0, если Строка2 не входит в Строку1, аргумент Начало – номер позиции, с которой начинается поиск;

Left(Строка, КоличествоСимволов) – возвращает строку, включающую первые КоличествоСимволов аргумента Строка;

Right(Строка, КоличествоСимволов) – возвращает строку, включающую последние КоличествоСимволов аргумента Строка.

 

Function УдалениеПробелов(Строка As String) As String

Dim Длина As Long, Позиция As Long, Старт As Long

Старт = 1

Do

Длина = Len(Строка)

Позиция = InStr(Старт, Строка, " ")

If Позиция > 0 Then Строка = Left(Строка, Позиция – 1) _

& Right(Строка, Длина – Позиция)

Старт = Позиция

Loop Until Позиция = 0

УдалениеПробелов = Строка

End Function

 

В этой функции в цикле определяется номер позиции от начала заданной строки, в которой стоит пробел. Затем из строки вырезается эта позиция с пробелом. Цикл прекращается, когда в строке не остается ни одного пробела (в этом случае функция InStr(Старт, Строка, " ") возвратит 0).


Поделиться:

Дата добавления: 2014-12-03; просмотров: 211; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты