- •Тема 1. Объекты, свойства, события
- •Задание 1.1
- •Технология выполнения задания.
- •Unload Me
- •Set frmColor = Nothing
- •Освоение режима отладки.
- •Задание 1.2
- •Задание 1.3 (дополнительное)
- •Задание 1.4
- •Этап 1. Знакомства с событиями Click и KeyPress.
- •Этап 2. Освоение режима отладки
- •Контрольные вопросы.
- •Задание 1.5 (дополнительное)
- •Тема 2. Стандартные типы данных
- •Задание 2.1
- •Технология выполнения задания
- •Контрольные вопросы.
- •Задание 2.1
- •Задание 2.2(дополнительное)
- •Технология выполнения задания
- •Контрольные вопросы
- •Задание 2.3
- •Контрольные вопросы
- •Задание 2.3 (дополнительное)
- •Задание 2.4
- •Технология выполнения задания.
- •Контрольные вопросы
- •Задание 2.5 (дополнительное)
- •Задание 2.6
- •Технология выполнения задания
- •Контрольные вопросы
- •3. Условные операторы.
- •3.1 Оператор IF THEN
- •Задание 3.1
- •Технология выполнения задания
- •Контрольные вопросы
- •3.2. Оператор IF...THEN ... ELSEIF ... END IF
- •Задание 3.2
- •Технология выполнения задания
- •Контрольные вопросы
- •3.3. Оператор SELECT CASE... END SELECT
- •Задание 3.3
- •4. Переключатели
- •Задание 4.1
- •Задание 4.2
- •5. Флажки. Элементы CheckBox.
- •Задание 5.2 (дополнительное)
- •6. Циклы.
- •Задание 6.1
- •Задание 6.2 (дополнительное)
- •6.2. Циклы для графических методов
Методические указания к выполнению лабораторной работы по программированию в VB
менной i и нажать кнопку ОК. Аналогичным образом добавить переменные intSum, intPar.
2. Выполнить команду Debug, Step Into (Отладка, Пошаговый ввод) или нажмите кнопку F8. Далее, в открывшемся окне программы выбрать один из пунктов меню. После того как высветится строка программного кода, нажимать кнопку F8 (или выполнять команду Debug, Step Into (Отладка, Пошаговый ввод)) для перехода к следующему оператору и наблюдать, как изменяются значения переменных.
Самостоятельные упражнения
1. Модифицируйте программный код программы задания 5.1 , заменив оператор цикла DO.While...Loop на оператор DO.Until...Loop.
Контрольные вопросы
1.Какая команда используется для создания меню?
2.Чем отличается цикл For...Next от циклов Do...Loop и. While...Wend?
3.Что означает конструкция txtTextBox(i).Text'.' Чем она отличается от конструкции txtTextBoxl.Text?
4.Для чего используется сочетание функции Trim(Str(i))? Что произойдет если отказаться от функции Trim()?
5.Для чего используется сочетание функции UCase(Left(x.Name, 3)) Что произойдет, если отказаться от функции UCaseQ?
6.Для чего используется режим отладки?
Задание 6.2 (дополнительное)
Создайте форму, а на ней создайте меню "Циклы", в котором будет 3 пункта: &For... Next, &Do... Loop, &While... Wend. При выборе пунктов меню генерируются события, которым соответствуют подпрограмм ы-обработчики событий.
Событие For... Next
Данному событию соответствует подпрограмма, которая посчитает сумму всех натуральных чисел от начального значения (НачЗначения) до конечного значения. (КонечЗначения), которые задаются пользователем через текстовые окна.
Событие Do... Loop
Данному событию соответствует подпрограмма, которая вычисляет сумму всех квадратов четных чисел в диапазоне or начального значения (НачЗначения) до конечного значения (КонечЗначения), которые задаются пользователем через текстовые окна.
Событие While...Wend
Данному событию соответствует подпрограмма, которая вычисляет сумму всех кубов нечетных чисел, находящихся в диапазоне от начальной значения (НачЗначенин) до конечного значения (КонечЗначения), которые задаются пользователем через текстовые окна.
При выборе пунктов меню должны выполняться соответствующая подпрограмма, результат выполнения которой выводится в элемент-надпись.
Вычисление среднего значения осуществляется при нажатии кнопки Среднее число.
Усков Ю.И. |
29 |
каф. МиИТ, |
2015 |
|
|
Методические указания к выполнению лабораторной работы по программированию в VB
6.2. Циклы для графических методов
Задание 6.2
Необходимо запрограммировать вычерчивание нестандартной шахматной доски размером 12x12 клеток. Клетки шахматной доски должны быть поочерёдно раскрашены двумя разными цветами.
Идея алгоритма такая. Строки и столбцы клеточного поля нумеруются от 1 до 12. Поле доски просматривается слева направо и сверху вниз. Если сумма номеров строки и столбца для очередной клетки нечетная, клетка закрашивается одним цветом, а если эта сумма чётная, то клетка закрашивается другим цветом. Как нельзя
лучше для этой цели подходят вложенные циклы. Вид программы показан на рис 6.2.
Технология выполнения задания.
Рис.6.2.
Этап 1. Разработка программы.
1.Создайте новый проект File, New Project (Файл, Новый проект).
2.Задайте свойству Caption формы значение Шахмат-
ная доска. Задайте размеры формы 5400x4500 (Свойства Height =5400, Width =4500)
3.Поместите кнопку в нижней части формы. Задайте свойству Name кнопки значение cmdStart, свойству Caption присвойте значение Пуск.
4.Перейдем к созданию программного кода. Вставьте следующий фрагмент в сек-
цию (General)(Declarations):
Option Explicit
Const Num1 = 12, Num2 = 12, DX = 350, DY = 350 Const X0 = 100,Y0 = 100
5.Запрограммируем событие Click для элемента cmdStart (кнопка Пуск)
Private Sub cmdStart_Click() Dim xi1, xi2, yj1, yj2 As Long Dim i, j As Integer
Dim lngColor As Long For i = 0 To Num1 -1 xi1 = X0 + i * DX
xi2 = X0 + (i +1)* DX ' For j = 0 To Num2-1 yj1 = Y0+j*DY
yj2 = Y0 + (j + 1)*DY
If i+j-Int((i+j)/2)*2 = 0 Then lngColor = vbGreen
Else
IngColor = vbRed
Усков Ю.И. |
30 |
каф. МиИТ, |
2015 |
|
|
Методические указания к выполнению лабораторной работы по программированию в VB
End If
Line(xi1,yj1)-(xi2, yj2), lngColor, BF Next j
Next i End Sub
Закрашенный прямоугольник рисуется с помощью метода Line... BF. В программе на каждом шаге внутреннего цикла производится проверка на чётность суммы i + j. Для этой цели используется арифметическая операция
i + j - Int((i + j)/2)*2 — остаток от деления
(в данном случае остаток от деления i + j на 2). Если остаток равен 0, число четное, если нет, то нечетное.
6.Сохраните проект и форму под именем z5-2.
7.Результат работы программы будет виден после запуска программы и нажатия кнопки.
Этап 2. Освоение режима отладки
1.Добавьте в отладочное окно переменные, з значениями которых мы хотим наблюдать в режиме отладки. Дня этого выполните команду Debug, Add Watch (Отладка, Добавить наблюдателя). В открывшемся окне в поле Выражение ввести имя переменной i и нажать кнопку ОК. Аналогичным образом добавить перемен-
ную j, lngCol.
2.Поставиь курсор на строку программного кода:
For i = 0 To Num1 -1
и выполнить команду Debug, Run To Cursor (Отладка, Выполнить до курсора). Далее в открывшемся окне программы нажать кнопку ПУСК. После того как высветится строка программного кода, нажимать кнопку F8 (или выполнить команду Debug, Step Into (Отладка, Пошаговый ввод)) для перехода к следующему оператору и наблюдать, как изменяются значения переменных.
3. Повторить предыдущий пункт два раза.
Самостоятельные упражнения
1.Измените программу задания 6.2 так, чтобы она рисовала шахматную доску других размеров, например, 8x8 клеток.
2.Модифицируйте программный код программы задания 6.2 , заменив оператор цикла For...Next на оператор DO...Loop.
Контрольные вопросы
1.Что означает ключевое слово Const при описании величин Numl, Num2 и т.д.
2.Почему в программе мы используем цикл For...Next? Можно ли использовать другие циклы?
3.Как можно по-другому в задании 6.2 проверять на чётность сумму i+j . Попробуйте использовать операцию Mod, например,
|
|
(i+j) Mod 2 вместо i + j - Int((i + j) / 2) * 2. |
|
5. |
Что изменится если значение BF флага метода LINE изменить на В? |
||
6. |
Какие |
рекомендации нарушены в данной программе |
при описании пере- |
|
|
|
|
|
|
|
|
Усков Ю.И. |
31 |
каф. МиИТ, |
|
2015 |
|
|
Методические указания к выполнению лабораторной работы по программированию в VB
менных?
7. Чем "Константа" отличается от переменных в смысле изменения значений по ходу выполнения программы?
Задание 6.3 (дополнительное)
Создать программу, которая вычисляет среднее арифметическое вводимых чисел, которое равно отношению суммы всех введенных чисел к количеству введенных чисел. Для этого программа должна иметь средство для ввода чисел (например, диалоговое Окно ввода InputBox). Так как оператор ввода чисел должен находиться в цикле, условием выхода из цикла является нулевое значение введенною числа. Полученное среднее число выводится в элемент-надпись.
Усков Ю.И. |
32 |
каф. МиИТ, |
2015 |
|
|