- •Представление информации
- •Представление символов
- •Представление целых чисел (способ с фиксированной точкой)
- •Представление чисел с дробной частью (способ с плавающей точкой)
- •Некоторые важные итоги
- •О Visual Basic (далее vb) в сравнении с другими языками.
- •Основные типы данных vb
- •Типы Byte/Integer/Long
- •Типы Single/Double/Currency
- •Структура проекта
- •Переменные
- •Область видимости переменных
- •Время жизни переменных
- •Константы
- •Преобразование и совместимость типов
- •Ввод и вывод значений переменных Ввод данных с помощью функции InputBox
- •Вывод данных с помощью инструкции Print
- •Форматирование вывода
- •Лекция 6 Вывод данных с помощью функции MsgBox
- •Управление порядком выполнения инструкций
- •Условная инструкция If ... End If
- •Однострочный синтаксис
- •Блочный синтаксис
- •Инструкция выбора Select Case (выбрать в случае)
- •Инструкции цикла
- •1. Параметрический цикл For… Next
- •Лекция 7
- •2. Итерационный циклDoWhile...LoopилиDo...LoopWhile
- •3. Итерационный цикл Do Until...Loop или Do...Loop Until
- •Операции и функции
- •Лекция 8 Массив
- •1. Описание массива фиксированного размера
- •2. Описание динамического массива
- •3. Присвоение массивов
- •Лекция 9
- •Логические операции
- •Лекция 10 процедуры и функции
- •Виды процедур и функций
- •Вызов процедур и функций
- •Объявление процедур и функций
- •Именованные аргументы
- •Область действия имен процедур и функций
- •Пример 1.
- •Пример 2.
- •Лекция 11
- •Лекция 12
- •Перечень подзадач
- •Блок-схема алгоритма функции Проверка
- •Разработка программы
- •Лекция 13 Пример 4
- •Передача аргументов по ссылке и по значению
- •Лекция 14 Отладка
- •1. Режим отладки
- •2. Точка останова
- •3. Пошаговое выполнение программы
- •3.1. Шаг с заходом (Step into)
- •3.2. Шаг с обходом (Step Over)
- •3.3. Шаг с выходом (Step Out)
- •3.4. Выполнить до текущей позиции (Run To Cursor)
- •3.5. Список вызовов
- •4. Окна режима отладки
- •4.1. Окно подсказки Data Tips
- •4.2. Окно контрольного значения (WatchWindow)
- •4.3. Окно локальных переменных (LocalWindow)
- •4.4. Окно отладки (ImmediateWindow)
- •4.5. Инструкция Print
- •5. Обработка ошибок времени выполнения
- •5.1. Перехват ошибки
- •5.2 Проверка и устранение ошибки
- •5.3 Продолжение выполнения программы
- •Лекция 15 Пользовательский тип данных
- •ИнструкцияWith
- •Использование в качестве аргументов процедур и функции имен форм и элементов управления
- •Знаки типов
- •Графика
- •1. Система координат
- •1.1 Свойство ScaleMode
- •1.2. СвойстваScaleLeftиScaleTop
- •Лекция 16
- •1.3. СвойстваScaleWidthиScaleHeigt
- •1.4. МетодScale
- •2. Графические изображения
- •3. Графические управляющие элементы
- •4. Работа с рисунками
- •5. Графические методы
- •6. Построение графиков функций
- •Лекция 17 Файлы
- •Номер файла
- •Типы доступа к файлам
- •Последовательный доступ
- •Чтение из файла последовательного доступа
- •Запись в файл последовательного доступа
- •Произвольный доступ
- •Открытие файла
- •Ввод и вывод (Get- чтение,Put- запись)
- •Двоичный доступ
- •Открытие файла для двоичного доступа
- •Ввод и вывод
- •Лекция 18 События
- •События клавиатуры
- •Объекты, классы, коллекции
- •Экзаменационные вопросы
Лекция 7
2. Итерационный циклDoWhile...LoopилиDo...LoopWhile
Здесь While(пока) иLoop (цикл) зарезервированные слова. Циклы типа While предназначены для ситуаций, когда количество повторений тела цикла (итераций) заранее неизвестно. Вот синтаксис двух разновидностей цикла While:
Первый вариант:
Do While УсловиеПовторения
Группа инструкций
Loop
Здесь УсловиеПовторения – это выражение логического типа (подробнее), которое принимает либо значениеTrue, либо значениеFalse. Выполнение этой инструкции происходит так. Сначала вычисляется значение логического выражения УсловиеПовторения. Если оно имеет значениеTrue, то выполняются инструкции, помещенные между строкамиDo While и Loop. Затем все повторяется с начала. Если же логическое выражение имеет значениеFalse, то происходит выход из цикла. Следующей будет выполнена инструкция, помещенная ниже строкиLoop. Все это поясняет блок-схема на рис. 7.1.
Второй вариант:
Do
Группа инструкций
Loop While УсловиеПовторения
Блок-схема реализуемого алгоритма приведена на рис. 7.2. Различие между этими двумя вариантами заключается в том, что УсловиеПовторения (условие повторения выполнения тела цикла) проверяется в первом случае до выполнения тела цикла (цикл – пока), а во втором случае – после выполнения тела цикла (цикл - до).
Перейдем к примерам. Рассмотрим действие следующего участка программы.
Пример 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.
3. Итерационный цикл 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).