- •7. Одномерные массивы 114
- •8. Обработка двумерных массивов (матриц) 162
- •9. Обработка строк 183
- •10. Тип данных, определенный пользователем. Структуры 214
- •11. Использование подпрограмм 228
- •Приложение 52 310 Список литературы 313 Введение
- •1. Этапы создания Windows-приложения
- •2. Среда Visual Basic 2005
- •2.1. Структура среды Visual Basic 2005
- •2.2. Создание нового проекта
- •2.3. Сохранение проекта
- •2.4. Выполнение приложения
- •2.5. Основные команды среды Visual Basic 2005
- •2.6. Методы тестирования
- •2.7. Отладка приложений в среде vb
- •3. Разработка интерфейса в среде vb. Основные элементы управления
- •3.1. Метка
- •3.2. Текстовое поле
- •3.3. Кнопка
- •3.4. Окно списка
- •3.5. Выравнивание положения элементов управления
- •4. Программа линейной структуры
- •4.1. Понятие переменной
- •4.2. Типы данных
- •4.3. Объявление переменных
- •4.4. Оператор присваивания
- •Оператор присваивания работает справа налево.
- •4.5. Константы
- •4.6. Арифметические операции
- •4.7. Математические функции
- •4.8. Арифметическое выражение
- •4.9. Окно ввода (InputBox)
- •4.10. Окно вывода сообщения (MsgBox)
- •4.11. Пример. Вычисление площади треугольника
- •4.12. Пример. Нахождение цифр числа
- •5. Организация ветвлений
- •5.1. Логические константы и переменные
- •5.2. Операции сравнения
- •5.3. Логические операции
- •5.4. Логическое выражение
- •5.5. Условный оператор
- •5.6. Функция iIf
- •5.7. Оператор множественного ветвления ElseIf
- •5.8. Оператор выбора Select Case
- •5.9. Оператор безусловного перехода GoTo
- •5.10. Пример. Решение линейного уравнения
- •5.11. Пример. Программа-калькулятор
- •6. Программирование повторений
- •6.1. Цикл со счетчиком
- •6.1.1. Табуляция функции
- •6.1.2. Вычисление факториала
- •6.1.3. Обработка совокупности чисел с известным числом элементов
- •6.2. Цикл с условием
- •6.2.1. Ввод с проверкой
- •6.2.2. Обработка совокупности чисел с неизвестным числом элементов
- •6.2.3. Вычисление суммы ряда по общей формуле
- •Вычисление суммы ряда с использованием рекуррентного соотношения
- •6.2.5. Вычисление произведения ряда
- •Решение нелинейных уравнений методом простой итерации
- •7. Одномерные массивы
- •Массивы всегда обрабатываются в цикле.
- •7.1. Ввод массива
- •Вывод массива в окно списка и в текстовое поле
- •7.3. Вычисление суммы и произведения элементов массива
- •7.4. Определение количества элементов массива, удовлетворяющих некоторому условию
- •7.5. Вычисление среднего арифметического и среднего геометрического элементов массива, удовлетворяющих некоторому условию
- •7.6. Нахождение максимального элемента массива
- •7.7. Нахождение минимального элемента массива, удовлетворяющего некоторому условию
- •7.8. Поиск первого элемента массива, удовлетворяющего некоторому условию
- •7.9. Поиск последнего элемента массива, удовлетворяющего некоторому условию
- •7.10. Замена одного элемента массива
- •7.11. Замена всех элементов массива, удовлетворяющих некоторому условию
- •7.12. Перестановка местами двух элементов массива
- •7.13. Формирование нового массива из некоторых элементов исходного массива
- •7.14. Проверка совпадения всех элементов массива
- •7.15. Проверка упорядоченности всех элементов массива
- •7.16. Сортировка массива методом пузырька
- •7.17. Линейная сортировка массива (методом поиска минимума)
- •Никогда нельзя использовать одновременно оба способа перестановки элементов массива.
- •8. Обработка двумерных массивов (матриц)
- •8.1. Ввод прямоугольной матрицы
- •8.2. Вывод прямоугольной матрицы в окно списка и в текстовое поле
- •8.3. Поиск максимального элемента матрицы
- •8.4. Обработка матрицы по строкам
- •8.5. Обработка матрицы по столбцам
- •8.6. Обработка квадратных матриц
- •Для обработки элементов, стоящих на любой диагонали, достаточно одного цикла. Для обработки элементов, принадлежащих к одному из треугольников, необходимо использовать вложенные циклы.
- •9. Обработка строк
- •9.1. Основные функции обработки строк
- •9.2. Посимвольная обработка строки
- •9.3. Формирование массива слов строки
- •9.4. Формирование строки из массива слов
- •9.5. Слова-палиндромы
- •9.6. Выделение чисел из строки
- •9.7. Сравнение строк
- •9.8. Обработка многострочного текста
- •10. Тип данных, определенный пользователем. Структуры
- •10.1. Описание структуры. Область видимости. Понятие метода
- •10.2. Оператор With
- •10.3. Ввод массива структур
- •10.4. Вывод массива структур
- •10.5. Поиск в массиве структур
- •10.6. Формирование нового массива из некоторых элементов исходного массива
- •10.7. Сортировка массива структур
- •11. Использование подпрограмм
- •11.1. Определение процедуры и функции. Описание процедуры и функции
- •11.2. Передача параметров по ссылке и по значению
- •11.3. Формальные параметры и фактические переменные
- •11.4. Локальные и глобальные переменные
- •11.5. Static-переменные
- •Приложение 1
- •Приложение 2
- •Приложение 3
- •Приложение 4
- •Приложение 5
- •Приложение 6
- •Приложение 7
- •Приложение 8
- •Приложение 9
- •Приложение 10
- •Приложение 11
- •Приложение 12
- •Приложение 13
- •Приложение 14
- •Приложение 15
- •Приложение 16
- •Приложение 17
- •Приложение 18
- •Приложение 19
- •Приложение 20
- •Приложение 21
- •Приложение 22
- •Приложение 23
- •Приложение 24
- •Приложение 25
- •Приложение 26
- •Приложение 27
- •Приложение 28
- •Приложение 29
- •Приложение 30
- •Приложение 31
- •Приложение 32
- •Приложение 33
- •Приложение 34
- •Приложение 35
- •Приложение 36
- •Приложение 37
- •Приложение 38
- •Приложение 39
- •Приложение 40
- •Приложение 41
- •Приложение 42
- •Приложение 43
- •Приложение 44
- •Приложение 45
- •Приложение 46
- •Приложение 47
- •Приложение 48
- •Приложение 49
- •Приложение 50
- •Приложение 51
- •Приложение 52
- •Список литературы
4.9. Окно ввода (InputBox)
Для ввода значений переменных традиционно используются текстовые поля (см. раздел 3.2). При этом для каждой переменной отводят свое отдельное текстовое поле. Но в ряде случаев такой подход оказывается достаточно неэффективным. Например, когда требуется задать большое количество различных значений. В таких случаях можно использовать специальное окно ввода (рис. 18). Оно вызывается с помощью функции InputBox. Рассмотрим ее параметры.
InputBox( Приглашение, Заголовок, Начальное значение)
Приглашение представляет собой строку текста, которая отображается в окне ввода. Для пользователя она является подсказкой, указывающей, какую информацию он должен ввести в поле ввода (рис. 18).
Заголовок– это строка текста, определяющая надпись, которая будет выводиться в заголовке окна (рис. 18).
Начальное значение – это значение, которое отображается в поле ввода значения (рис. 18). Если начальное значение является числом, то при передаче его в функцию InputBoxнеобходимо использовать преобразованиеStr.
Рис. 18. Окно вводаInputBox
Все аргументы функции InputBoxявляются строками. Их значения должны задаваться в кавычках. ПараметрПриглашениеявляется обязательным. Он всегда присутствует при вызове функцииInputBox. Два других параметра можно пропустить. Запятые при этом не ставятся. Если надо пропустить только параметрЗаголовок, а параметрНачальное значениенеобходимо оставить, тогда между первым и третьим параметрами ставятся две запятые.
Результат функции InputBoxвсегда имеет типString. Если функцияInputBoxиспользуется для ввода числовых значений, то ее результат необходимо преобразовать с помощью функцииVal.
a = Val(InputBox("Введите число"))
При вызове функции InputBoxна экране поверх формы появляется окно ввода (рис. 18). Работа программы приостанавливается до тех пор, пока окно не будет закрыто. После ввода информации пользователь должен нажать кнопкуOKили клавишуEnter. Тогда окно ввода исчезнет, а переменной будет присвоено введенное значение.
Пример использования окна ввода рассмотрен в разделе 4.12.
4.10. Окно вывода сообщения (MsgBox)
Как правило, в приложениях окна вывода сообщений используются для того, чтобы дать пользователю какие-либо указания или задать вопрос, на который возможен один из стандартных ответов. Для вывода таких окон предназначена функция MsgBox. Рассмотрим ее параметры.
MsgBox(Текст сообщения, Параметры окна, Заголовок)
Текст сообщения– надпись, которую увидит пользователь в окне сообщения. Максимальная длина текста – 1024 символа. Текст сообщения всегда берется в кавычки.
Заголовок– это строка текста, определяющая надпись, которая будет выводиться в заголовочной части окна.
Параметры окнаопределяют внешний вид окна: тип пиктограммы и набор кнопок. Этот параметр является целым числом, которое, как правило, записывается в виде суммы двух целых параметров. Первый из них определяет вид пиктограммы (тип сообщения). Возможные значения этого параметра приведены в таблице 4. Второе слагаемое определяет набор кнопок, которые будут выведены в нижней части окна. Возможные значения этого параметра приведены в таблице 5.
Таблица 4
Число |
Тип сообщения |
Пиктограмма |
Константа Visual Basic 2005 |
0 |
Без пиктограммы |
Нет |
Нет |
16 |
Критическое сообщение |
|
MsgBoxStyle.Critical |
32 |
Вопрос |
|
MsgBoxStyle.Question |
48 |
Предупреждение |
|
MsgBoxStyle.Exclamation |
64 |
Информация |
|
MsgBoxStyle.Information |
Таблица 5
Число |
Набор кнопок |
Константа Visual Basic 2005 |
0 |
OK |
MsgBoxStyle.OkOnly |
1 |
OK, Отмена |
MsgBoxStyle.OkCancel |
2 |
Прервать, Повтор, Отмена |
MsgBoxStyle.AbortRetryIgnore |
3 |
Да, Нет, Отмена |
MsgBoxStyle.YesNoCancel |
4 |
Да, Нет |
MsgBoxStyle.YesNo |
5 |
Повтор, Отмена |
MsgBoxStyle.RetryCancel |
При вызове функции MsgBox на экране поверх формы появляется дополнительное окно с текстом сообщения. Например, следующая строка программного кода приведет к появлению окна, представленного на рис. 19.
MsgBox("Деление на ноль", 16, "Ошибка")
Рис. 19. Окно вывода сообщения
После вывода окна сообщения работа программы приостанавливается до тех пор, пока пользователь не закроет окно. Функция возвращает код кнопки, которую нажал пользователь. Это значение можно использовать в программе для реализации соответствующих действий. Для этого необходимо результат функции записать в некоторую целую переменную.
Dim Otvet As Byte
Otvet = MsgBox ("Повторить вычисления?", 32 + 4, _ "Вопрос")
Пример анализа результата функции MsgBoxрассмотрен разделе 5.11. Все возможные варианты результата работы функцииMsgBoxприведены в таблице 6.
Таблица 6
Значение |
Кнопка |
Константа Visual Basic 2005 |
1 |
OK |
MsgBoxResult.Ok |
2 |
Отмена |
MsgBoxResult.Cancel |
3 |
Прервать |
MsgBoxResult.Abort |
4 |
Повторить |
MsgBoxResult.Retry |
5 |
Пропустить |
MsgBoxResult.Ignore |
6 |
Да |
MsgBoxResult.Yes |
7 |
Нет |
MsgBoxResult.No |