- •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
- •Список литературы
6. Программирование повторений
Повторение – это многократное выполнение одного или нескольких действий алгоритма. Повторение – это еще одно проявление нелинейности алгоритма. Оно может быть реализовано явно (с помощью операторов цикла) или неявно (с помощью оператора безусловного перехода – см. раздел 5.9).
Циклы делятся на две категории: циклы с известным числом повторений (циклы со счетчиком) и циклы с неизвестным числом повторений (циклы с условием). В первом случае для организации цикла используется специальная переменная (счетчик), значение которой меняется в заданном диапазоне с некоторым шагом. Во втором случае счетчика нет. Цикл продолжается пока выполняется некоторое условие. Его еще называют условием цикла.
Классификация циклов приведена на рис. 24.
Рис. 24.Классификация циклов
6.1. Цикл со счетчиком
Цикл со счетчиком применяется в тех случаях, когда можно точно определить, сколько раз должны повториться операторы программы. В Visual Basic 2005 цикл со счетчиком реализуется с помощью оператора For. Рассмотрим его синтаксис.
For Счетчик = Нач. значение To Кон. Значение Step Шаг
Операторы тела цикла
Next
В синтаксической структуре принято выделять две части: заголовок цикла (первая строка оператора цикла) и тело цикла (блок операторов, стоящих между строками ForиNext). В старых версиях языка Basic после ключевого словаNextнеобходимо было указыватьСчетчикцикла. В Visual Basic 2005 это является необязательным.
Выполнение цикла со счетчиком происходит в несколько этапов.
Заголовок цикла проверяется на отсутствие противоречий. Это возможно в двух случаях.
Если Начальное значение меньшеКонечного Значения, тоШагцикла должен быть больше нуля.
Если Начальное значениебольшеКонечного Значения, тоШагцикла должен быть меньше нуля.
Visual Basic 2005 позволяет не указывать Шагв заголовке цикла, опуская при этом ключевое словоStep. В таких случаяхШагцикла считается равным единице. Если заголовок цикла является противоречивым, то цикл выполняться не будет, а работа программы будет продолжена с оператора, стоящего после ключевого словаNext.
Если в заголовке цикла нет противоречий, то переменная Счетчикстановится равнойНачальному значению.
При данном значении Счетчикавыполняются операторы тела цикла.
Значение счетчика изменяется на величину Шага. ЕслиШагположительный, то значениеСчетчикабудет увеличиваться. ЕслиШаготрицательный – уменьшаться. Если в заголовке цикла шаг не указан, то значениеСчетчикабудет увеличиваться на единицу.
Проверяется, попадает ли значение Счетчикав диапазон отНачального значения доКонечного значения. Если да, то происходит переход к пункту 3, и цикл выполняется еще раз. В противном случае работа цикла завершается.
Если среди операторов тела цикла встречается оператор Exit For, то выполнение цикла после этого оператора сразу прекращается независимо от значенияСчетчика.
В качестве примеров работы цикла со счетчиком рассмотрим три задачи: построения таблицы значений функции, вычисление факториала и обработку совокупности числе с известным числом элементов.