- •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
- •Список литературы
5. Организация ветвлений
Алгоритм, в котором последовательность выполнения некоторых предписаний зависит от выполнения проверяемых исполнителем условий, называется нелинейным. Очевидно, что подавляющее большинство алгоритмов являются нелинейными. Простейшим проявлением нелинейности является ветвление.
Ветвление представляет собой выбор пути решения задачи в соответствии с выполнением или невыполнением некоторого условия выбора. В Visual Basic 2005 ветвление реализуется с помощью условного оператора, а условие выбора записывается в форме логического (условного) выражения.
5.1. Логические константы и переменные
Логические константы и переменные – это константы и переменные, имеющие тип Boolean.Boolean– тип данных для хранения логических величин. Может иметь только два значения:True(Истина) иFalse(Ложь). При переводе числовых данных значений в логические значения ноль становитсяFalse, а все другие значения –True. При обратном преобразованииFalseстановится нулем, аTrue – единицей. ИдентификаторыTrueиFalseявляются ключевыми словами Visual Basic 2005.
Как правило, логические переменные используются для хранения информации о состоянии какого-либо объекта. Например, отсортирован ли массив, найдено ли искомое значение и так далее. Пример использования логической переменной рассмотрен в разделе 7.16.
5.2. Операции сравнения
Для сравнения двух однотипных величин в Visual Basic 2005 предусмотрено шесть различных операций сравнения. Все они имеют одинаковый приоритет. Знаки операций сравнений приведены в таблице 7.
Таблица 7
Знак операции сравнения |
Пример использования |
Описание операции |
= |
a = b |
Равно. Операция возвращает значение True, если значения равны друг другу. Во всех остальных случаях результатом операции будет значениеFalse. |
< > |
a <> b |
Неравно. Операция возвращает значение True, если значения неравны друг другу. Иначе результатом операции будет значениеFalse. |
< |
a < b |
Меньше. Операция возвращает значение True, если значение переменнойaменьше значения переменнойb. Иначе результатом операции будет значениеFalse. |
<= |
a <= b |
Меньше или равно. Операция возвращает значение True, если значение переменнойaменьше или равно значению переменнойb. Иначе результатом операции будет значениеFalse. |
> |
a > b |
Больше. Операция возвращает значение True, если значение переменнойaбольше значения переменнойb. Иначе результатом операции будет значениеFalse. |
>= |
a >= b |
Больше или равно. Операция возвращает значение True, если значение переменнойaбольше или равно значению переменнойb. Иначе результатом операции будет значениеFalse. |
Обратите внимание, что если знак операции состоит из двух символов (например, неравно), то между символами пробел не ставится.
5.3. Логические операции
В Visual Basic 2005 реализованы четыре логических операции: Not,And,Or,Xor. Рассмотрим каждую их них.
Not– операция логического отрицания. Имеет высший приоритет среди логических операций. Изменяет логическое значение на противоположное. Отрицание Истины (True) будет Ложь (False). Отрицание Лжи (False) будет Истина (True).
And– операция логического умножения (логическое И). Имеет второй приоритет среди логических операций. Эта операция эквивалентна требованию одновременного выполнения обоих условий. Другими словами, операцияAndдает результат Истина (True), только если оба логических выражения, участвующих в операции, имеют значение Истина (True). Во всех остальных случаях результатом операции будет Ложь (False). Таким образом, Истина (True) И (And) Истина (True) будет Истина (True), остальное – Ложь (False).
Or– операция логического сложения (логическое ИЛИ). Имеет низший приоритет среди логических операций. Эта операция соответствует требованию выполнения хотя бы одного из двух условия, но допускает и одновременное выполнение обоих условий. Другими словами, операцияOrдает результат Ложь (False), только в том случае, если оба логических выражения, участвующих в операции, имеют значение Ложь (False). Во всех остальных случаях результатом операции будет Истина (True). Таким образом, Ложь (False) ИЛИ (Or) Ложь (False) будет Ложь (False), остальное – Истина (True).
Xor– исключающее ИЛИ. Имеет такой же приоритет, как и операцияOr. Но в отличие от нее требует, чтобы выполнялось только одно условие. Если оба логических выражения, участвующих в операцииXor, имеют одинаковые значения, то результатом операции будет Ложь (False). Если логические выражения имеют различное значение, то результатом операцииXorбудет Истина (True).
Все возможные значения логических операций приведены в таблице 8.
Таблица 8
A |
B |
Логические операции | |||
Not A |
A And B |
A Or B |
A Xor B | ||
True |
True |
False |
True |
True |
False |
True |
False |
False |
False |
True |
True |
False |
True |
True |
False |
True |
True |
False |
False |
True |
False |
False |
False |