КАТЕГОРИИ: Архитектура-(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 Итерационный цикл Do Until...Loop или Do...Loop Until Do Loop Итерационный цикл Do While...Loop или Do...Loop While Лекция 7 Здесь While (пока) и Loop (цикл) зарезервированные слова. Циклы типа While предназначены для ситуаций, когда количество повторений тела цикла (итераций) заранее неизвестно. Вот синтаксис двух разновидностей цикла While: Первый вариант:
Do While УсловиеПовторения Группа инструкций Здесь УсловиеПовторения – это выражение логического типа (подробнее), которое принимает либо значение True, либо значение False. Выполнение этой инструкции происходит так. Сначала вычисляется значение логического выражения УсловиеПовторения. Если оно имеет значение True, то выполняются инструкции, помещенные между строками Do While и Loop. Затем все повторяется с начала. Если же логическое выражение имеет значение False, то происходит выход из цикла. Следующей будет выполнена инструкция, помещенная ниже строки Loop. Все это поясняет блок-схема на рис. 7.1. Второй вариант:
Группа инструкций Loop While УсловиеПовторения
Перейдем к примерам. Рассмотрим действие следующего участка программы.
Пример 1
Счетчик = 0 Номер = 20 Do While Номер > 10 Номер = Номер – 1 Счетчик = Счетчик + 1 Loop MsgBox ("Выполнено " & Счетчик & " итераций цикла.")
При выполнении этого участка программы в окне функции MsgBox будет выведено:
Выполнено 10 итераций цикла.
В этой программе условие проверяется до входа в цикл. Если переменной Номер задать значение, равное 10 вместо 20, инструкции внутри цикла выполняться не будут.
Пример 2
В следующей программе инструкции внутри цикла выполняются только один раз до того, как условие не будет выполнено.
Счетчик = 0 Номер = 9 Do Номер = Номер – 1 Счетчик = Счетчик + 1 Loop While Номер > 10 MsgBox ("В цикле выполнено " & counter & " итераций.")
Инструкцию Do...Loop можно завершить досрочно с помощью инструкции Exit Do.
Until (до) – зарезервированное слово. По своей логике цикл Until подобен циклу Whileс той лишь разницей, что выполнение условия означает необходимость выхода из цикла. Как и в случае цикла While, проверка условия выхода в цикле Untilможет осуществляться перед очередным проходом или после него. Вот синтаксис этих двух вариантов. Первый вариант:
Do Until УсловиеВыхода Группа инструкций Блок-схема реализуемого алгоритма приведена на рис. 7.3. Второй вариант:
Группа инструкций 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). В расположенной далее таблице дан полный перечень операций, которые могут быть применены к числовым данным.
Если в выражении использовано несколько операций, то в первую очередь выполняются операции, имеющие наивысший приоритет. Если приоритет операций одинаковый, то они выполняются слева направо.
Таблица приоритетов.
Математические функции (углы выражаются в радианах).
Функции Int и Fix возвращают значение типа, совпадающего с типом аргумента, которое содержит целую часть числа. Синтаксис: Int(число) Fix(число) Обязательный аргумент число – это любое допустимое числовое выражение. Различие между функциями Int и Fix состоит в том, что для отрицательного значения аргумента функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а Fix ближайшее отрицательное целое число, большее либо равное указанному. Например, функция Int преобразует -8.4 в -9, а функция Fix преобразует -8,4 в -8. Функция Rnd возвращает значение типа Single, содержащее случайное число, меньшее 1 и большее или равное нулю. Перед первым вызовом функции Rnd надо использовать инструкцию Randomize без аргумента для инициализации генератора случайных чисел.
Дата добавления: 2014-12-07; Просмотров: 508; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |