
- •Процесс создания приложения. Основные понятия visual basic
- •Процесс создания Windows-приложения
- •Объекты и их свойства
- •Свойства в visual basic
- •События-процедуры
- •Режимы интерпретации и компиляции
- •Окна Project Explorer и Form Layout
- •Метод Move
- •Метод Print
- •Переменные
- •Константы
- •Глобальные, контейнерные и локальные переменные
- •Статические переменные
- •Таймеры
- •Линейки прокрутки
- •Урок №7
- •Операторы. Выражения. Функции.
- •Оператор присваивания
- •Урок №8
- •Системные функции
- •Msgbox Текст [Опция] [, Заголовок]
- •Обработка строковых выражений
- •Функции выделения подстроки
- •Урок №9
- •Простые и сложные условия, логические выражения.
- •Операторы управления
- •Программирование ветвлений.
- •Урок №10
- •Программирование сложных условий. Вложенный оператор if.
- •If условие1 then
- •Урок 11
- •Обработка событий мыши
- •Свойство MousePointer
- •Технология Drag-and-Drop
- •Графические объекты
- •Объект Комбинированное окно
- •Оператор Select Case
- •Функции задания цвета rgb и qbColor
- •Графические методы
- •События МouseDown и МouseUp
- •Элемент управления Shape
- •Функция rnd
- •Повторения и циклы.
- •Урок 18
- •Циклы с условием
- •Вложенные циклы
- •Массивы
- •Многомерный массив
- •Массив объектов
- •Пользовательские процедуры и функции
- •Процедуры
- •Функции
- •Программный модуль
- •Объекты для работы с дисками
- •Редактор меню
- •Создание контекстного меню
- •Типы файлов
- •Текстовые файлы
- •Открытие файла
- •Закрытие файлов
- •Запись в файл
- •Чтение из файла
- •Объект Общий Диалог
- •Диалог Open/Save As
- •Мультимедийные приложения
Вложенные циклы
Важной особенностью использования циклов является то, что с их помощью можно создавать так называемые вложенные структуры, когда один цикл располагается внутри другого.
For I=Iнач. To Iкон. Step Iшаг
For Y=Yнач. To Yкон. Step Yшаг
Повторяющиеся операторы
Next Y
Next I
Для каждого значения счетчика I из внешнего цикла полностью выполнится внутренний (вложенный) цикл по Y (операторы выполнятся для каждого значения счетчика Y: от Yнач. До Yкон.). Если Yнач=0 и Iнач=0, то повторяющиеся операторы выполнятся Iкон * Yкон раз.
Пример 3 При выполнении этой программы на форме будет напечатана таблица умножения. Внешний цикл выполняется от 1 до 9. Во внутреннем цикле печатается одна строка: таблица умножения на одну цифру.
For I = 1 to 9
For Y = 1 to 9
Print I "x" Y "=" I*Y;
Next Y
Print - переход на новую строку.
Next I
В конструкции с вложенными циклами могут использоваться и операторы For, и операторы Do. Возможны задачи, когда внешний цикл – For, а внутренний – Do, и наоборот. Также при необходимости возможно несколько внутренних циклов в одном внешнем. В таких конструкциях необходимо следить за правильной очередностью операторов Next: внутренний цикл должен кончаться раньше внешнего.
Задание 4.
Создайте приложение. При нажатии на кнопку рисуются кружочки по всей форме. Во внутреннем цикле рисуется один ряд кружочков, а потом осуществляется переход на следующую строку. Во внутреннем цикле меняется координата Х, а во внешнем – координата Y. Используйте циклы по условию. Выход из циклов осуществляется при достижении края формы ( Х > Form.Width, Y > Form.Height).
Задание 5.
Измените предыдущее задание. Надо напечатать пять рядов кружочков. В каждом следующем ряду радиус кругов больше, чем в предшествующем.
Домашнеее задание:
1. По нажатии на кнопку шарик катится до края формы и обратно по одной горизонтали. После это спускается ниже, и все повторяется, и так 5 раз.
2. Придумайте и создайте проект, где необходимо применить вложенный цикл.
Контрольные вопросы:
1. 4 формы оператора цикла по условию, их различие.
2. Смысл понятия «вложенный цикл».
3. Операторы преждевременного выхода из цикла.
4. От чего зависит последовательность операторов Next?
УРОК 19
Цель урока. Ознакомление студентов с понятиями теории массивов. Научить студентов описывать одномерный массив и работать с ним. Знакомство с основными способами и методами обработки массивов.
Массивы
В программах мы использовали переменные – это изменяемая часть программы, имеющая имя и значение. Но в более сложных программах приходится использовать массивы.
Массив – собранное воедино множество переменных одного типа. У них одно и то же имя, но разный индекс (номер). Массивы нужны для хранения большого числа данных одного типа, для удобной их обработки ( например, в циклических алгоритмах). Массивы бывают одномерные и многомерные.
Одномерный массив – такое средство языка программирования, которое позволяет ссылаться на любой элемент пронумерованного множества значений.
Одномерный массив представляет собой набор переменных с одним именем и разным индексом. Каждая такая переменная называется элементом массива. Количество хранящихся в массиве элементов называется размером массива. Размер массива ограничен объемом оперативной памяти и типом данных элементов массива. Часто пронумерованное множество (одномерный массив) называют последовательностью. Для того чтобы вызвать, обратиться на один элемент последовательности, необходимо указать имя последовательности и индекса элемента. Еще можно сказать, что одномерный массив - это переменная с индексом. Индекс элемента указывается в круглых скобках после имени массива. Элемент массива используется в программах как простая переменная.
ИмяПеременной(Индекс)
При объявлении массива в скобках указывается диапазон значений индекса (минимальное и максимальное его значение) и между ними слово To
Например: Dim A(1 To 100) As Integer
Допускаются отрицательные значения индексов. Минимальное значение можно не указывать. Dim A(100) As Single Тогда оно приравнивается 0, т.е. первый элемент массива будет А(0), а последний А(99). При компиляции VB отведет массиву определенный объем памяти, которой зависит от количества и типа элементов. Поэтому излишне большой диапазон значений не следует указывать.
Применение массивов позволяет меньший по объему и более простой код, так как можно устанавливать циклы, которые, используя индексы массива, эффективно обработают любое количество вариантов значений.
Для работы с массивами удобно применять циклы со счетчиком. В роли счетчика цикла выступает индекс массива.
For I = 1 to 10
Оператор Имя_Массива( I )
Next I
Обратите внимание, что переменная – счетчик цикла служит также для указания индекса элемента массива. И мы можем производить действия со всем массивом последовательно, написав оператор (например, Print или любой другой) только один раз. Увеличивается счетчик цикла – обрабатывается следующий элемент массива.
Задание 1. С помощью цикла со счетчиком функции RND заполнить массив 20 случайными целыми числами в интервале. Опишите массив в пункте General. При нажатии на одну командную кнопку массив создается. При нажатии на другую значения массива печатаются на форме.
При решении этой задачи можно было бы и не использовать массив, как мы делали раньше. Но если нам понадобится дальше в программе использовать и обрабатывать эти данные, уже без запоминания всего массива нам не обойтись.
Задание 2. Создайте командную кнопку, по щелчку на которую на форме печатаются значения суммы элементов массива и его среднее значение. Заново массив создавать не надо.
Очень часто в программировании приходится находить крайние значения массива (минимальное и максимальное). Это можно делать разными способами. Вам предлагается классический алгоритм нахождения минимального или максимального значения в числовом массиве:
1) Предположить, что первый элемент массива является максимальным (минимальным) элементом массива и присвоить переменной Мах (Min) его значение.
МАХ = А(1)
Этот оператор необходимо выполнить перед оператором цикла
2) С помощью цикла со счетчиком сравнить все элементы массива, начиная со второго, с Max (Min).При обнаружении элемента, который больше (меньше) Max (Min), его значени Max (Min) присваивается его значение.
IF MAX < A(I) THEN MAX = A(I)
Этот условный оператор надо поставить внутри цикла.
И дальнейшее сравнение производится уже с новым Max (Min).
3) В результате после просмотра и сравнения всех элементов в переменной МАХ запомнилось максимальное значение массива.
Задание 3. Создайте 2 командные кнопки, по щелчку на которые на форме печатаются максимальное и минимальное значения элементов.
Задание 4. Создайте командную кнопку, по щелчку на которую на форме печатается номер максимального элемента массива. Это задание аналогично предыдущему, только сначала предполагается Nmax = 1, а в цикле проверяется условие A(Nmax) < A(I).
Задание 5. При нажатии на кнопку элементы массива меняются местами, выстраиваются в обратном порядке: первый элемент стал последним, последний – первым и т.д. В этой задаче цикл со счетчиком должен выполняться не 20 раз ( по числу элементов в массиве), а в два раза меньше. Каждый раз в цикле идет обработка сразу двух элементов массива, они меняются значениями. Для этого используется промежуточная переменная.
C = А(I)
A(I) = A(20-I)
A(20-I) = C
Так же, как и переменные, массивы могут быть разных типов. Массивы могут быть контейнерными и глобальными, и соответственно описываются словами Dim или Public.
Задание 6. Ввести с помощью функции InputBox 5-10 фамилий, запомнить их в массиве. По кнопке печатается самая длинная фамилия и число букв в ней. Для решения вспомните функцию Len, определяющую длину строки.
Домашнее задание
По кнопке вводится одна фамилия ученика и 8 его отметок. Считается и запоминается средняя отметка. При вторичном нажатии вводятся следующие данные. На второй форме по одной кнопке выводится список класса, по другой – список класса и средние отметки, по третьей – фамилия лучшего ученика. Для решения этой задачи необходимо использовать два массива: строковый (фамилии) и числовой (средние отметки).
Контрольные вопросы:
Что такое массив переменных, когда он используется?
Что такое индекс элемента, размер массива?
Как описываются массивы?
Какой объем памяти компьютер выделит для массива из 100 чисел, у которых тип короткие целые?
УРОК 20
Цель урока: Ознакомление студентов с понятиями многомерного массива и массива объектов. Научить студентов описывать двухмерный массив и работать с ним. Научить создавать и использовать при программировании массивы объектов.