
- •Тема 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
чае её закрытия, т.е. при нажатии кнопки закрытия в верхнем правом углу формы. 12. Дважды щелкните на форме Form1, чтобы открыть окно программных кодов. В левом верхнем окне выберите из списка объектов Form, а в правом верхнем окне выберите событие Unload. Вставьте в подпрограмму Unload следующий фрагмент.
Private Sub Form_Unload(Cancel As Integer)
If МsgВох("Уверены?", vbYesNo, "Выход?") = vbYes Then Unload Me
Set frmPriern = Nothing Else
Cancel = 1 End If
End Sub
Обратите внимание на то, что в программном коде используется не процедура, а функция MsgBox. Она возвращает целое значение, которое соответствует нажатой кнопке. Второй аргумент функции MsgBox задается константой vbYesNo, значение которой определяет наличие двух кнопок в окне сообщений Yes и No. Таким образом функция MsgBox может возвращать значение vbYes (нажата кнопка Yes) или vbNo (нажата кнопка No). Другие константы приведены в табл. 33 Приложения: 3.
12. Сохраните проект программы командой File, Save Project As (Файл, Сохранить проект как) с именем z3-l, а также сохраните модуль формы командой File, Save frmPriem.frm As (Файл, Сохранить frmPriem.frm как) с именем z3-l
13. Запустите программу командой Run, Start (Пуск, Старт). Вводим фамилию, имя, число баллов и нажимаем кнопку Прием. Можно убедиться, что программа выдает сообщения при любом числе баллов.
Контрольные вопросы
1.Чем отличается однострочный оператор If Then от многострочного?
2.Куда передается управление, если условие в операторе If Then Else истинно?
3.Куда передается управление, если условие в операторе If Then Else ложно?
4.Какие события используются в программе?
3.2.Оператор IF...THEN ... ELSEIF ... END IF
Задание 3.2
Усовершенствуйте программу задания 3.1, так чтобы |
она в зависимости от |
|
числа баллов давала следующие сообщения: |
|
|
а) больше 100: принят на бюджетную ставку |
|
|
б) от 80 до 100: принят по контракту |
|
|
в) от 75 до 79: вопрос о приеме будет решаться после собеседования |
||
д) меньше 75: не принят (а). |
|
|
|
|
|
Усков Ю.И. |
15 |
каф. МиИТ, |
2015 |
|
|

Методические указания к выполнению лабораторной работы по программированию в VB
Технология выполнения задания
1.Откройте проект z3-l командой File, Open Project (Файл, Открыть Проект).
2.Откройте код процедуры и откорректируйте процедуру cmdPriem_Click()
Private Sub cmdPriem_Click() Dim intNuin As Integer intNum = Val(txtNum.Text)
If intNum > 100 Then IblResol.Caption = IxIName.Texl &_ " принят(а) на бюджетную ставку"
Elself intNum >= 80 Then
IblResol.Caption = txtName.Text & " принят(а) по контракту" Elself intNum >= 75 Then
IblResol.Caption = txtName.Text &_
" вопрос о приеме будет решаться после собеседования" Else
IblResol.Caption = txtName.Text & " не принят(а)" End If
End Sub
3. Запустите программу командой Run, Start (Пуск, Старт). Вводим фамилию, имя, число баллов и нажимаем кнопку Прием. Можно убедиться, что программа выдает сообщения при любом числе баллов.
4. Добавим в программу кнопку сдачи экзаменов. Число баллов, набранных во время экзамена, будем определять с помощью датчика случайных чисел.
5. В Visual Basic случайные числа генерируются с помощью функции функцию Rnd(), которая генерирует случайное число в интервале от 0 до 1. Для задания
псевдослучайной последовательности используется |
подпрограмма Randomize. |
Обращение к этому подпрограмму Randomize k, где k |
случайное число. Если пара- |
метр k у подпрограммы Randomize отсутствует, то по умолчанию в качестве случайного числа используется значение функции Timer/
Добавьте кнопку на форму cmdPriem . В окне свойств задайте свойству Name значение cmdExam, а свойству Caption задайте значение &Сдача экзаменов. Измените размер и начертание шрифта: 14, полужирный (свойство Font) (рис. 3.2).
7. Дважды щелкните на кнопке Сдача экзаменов, чтобы открыть окно программы. Откорректируйте процедуру события Click кнопки:
Private Sub cmdExarn_Click()
Dim intNum As Integer
Randomize intNum = lnt(Rnd(1) * 150) + 1
Рис. 3.2
8.Сохраните проект и форму с именем z3-2.
9.Запустите программу командой Run, Start (Пуск, Старт). 1милию, имя и нажимаем сначала
16 |
каф. МиИТ, |

Методические указания к выполнению лабораторной работы по программированию в VB
кнопку «Сдача экзаменов», а затем «Прием»
Контрольные вопросы
1.Как работает оператор If Then Elself?
2.Что возвращает функция Rnd()?
3.Для чего нужен оператор Randomize?
4.Какие события возникают при работе программы?
5.Что означает знак подчеркивания _ , используемый в программном коде задания
3.2?
3.3. Оператор SELECT CASE... END SELECT
Задание 3.3
Напишите программу, которая бы загадывала число от 1 до 10 и предлагала бы Пользователю угадать число. Примерный вид программы показан на рис. 3.3.
Рис. 3.3
Технология выполнения задания
Этап 1. Создание программы
1. Создайте новый проект File, New Project (Файл, Новый проект).
2. Задайте свойству Name формы значение frmMain, а у свойства Caption измените значение на Выберите число.
3.Создайте на форме две кнопки. Задайте свойству Name первой кнопки значение cmdGetSecretNumber, а свойству Caption задайте значение Начать игру.
4.Укажите для свойства Name второй кнопки значение cmdGuess, а для свойства Caption измените значение на &Угадай Число.
5.Создайте в верхней части формы два элемента-надписи (Label). Задайте свойству Caption первой этикетки значение Попытка, а свойству Name второй этикетки ука-
жите значение lblTry. Задайте размер шрифта 14, полужирный (свойство Font)
6. |
Дважды щелкните на форме frmMain. чтобы открыть окно программы. |
7. |
Вставьте следующие строки в секцию (General)(Declarations) формы frmMain: |
Option Explicit
Private intSecrelNumber As Integer
Private intTry As Integer
8. Перейдем к созданию функции GetSecretNumberQ, которая является одним из важнейших компонентов приложения. Вставьте описание функции с помощью команды Tools, Add Procedure. В открывшемся окне введем Name (имя функции) —
Усков Ю.И. |
17 |
каф. МиИТ, |
2015 |
|
|

Методические указания к выполнению лабораторной работы по программированию в VB
GetSecretNumber , Туре (тип) — Function, Scope (область видимости) — Private. 9. Вставьте код функции:
Private Function GetSecretNumber() As Integer ‘ Загадать число от 1 до 10
Randomize
GetSecretNumber = Int(Rnd(1) * 10) +1 End Function
В функции GetSecretNumber используется три стандартных функции Rnd(), Int(). Последний оператор функции
GetSecretNumber = lnt(Rnd(1) * 10) + 1
обеспечивает возвращение случайного числа в диапазоне от 1 до 10. Обратите внимание, что левая часть оператора - это имя функции.
10.Bставьте следующий фрагмент в процедуру события Load формы frmMain:
Private Sub Form_Load() ' Загадать число
IntSecretNumber = GetSecretNumber intTry=0
End Sub
11. Вставьте следующий фрагмент в процедуру события Click кнопки. cmdGetSecretNumber:
Private Sub cmdGetSecretNumber_Click() ' Загадать число
intSeu etNumber = GetSecretNumber cmdGuess.Caption = "Угадай число" End Sub
12. Отредактируйте процедуру события Click кнопки cmdGuess и приведите ее к следующему виду:
Private Sub cmdGuess_Click() |
|
|
|
Dim intGuess As Integer |
|
|
Dim strMsg As String |
|
|
Dim strCap As String |
|
|
Dim strRc As String |
|
|
intTry = intTry + 1 |
|
|
lblTry.Caption = Str(intTry) |
|
' |
Создать сообщение |
|
|
strMsg = "Введите число от 1 до 10" |
|
' |
Получить число от пользователя |
|
|
strRc = lnputBox(strMsg, "Введите число" ) |
|
|
'Убедиться в том. что пользователь ввел значение... |
|
If strRc <> "" Then |
|
|
' Преобразовать строку в целое число с помощью функции СInt() |
||
|
|
|
|
|
|
Усков Ю.И. |
18 |
каф. МиИТ, |
2015 |
|
|

Методические указания к выполнению лабораторной работы по программированию в VB
intGuess =Clnt(strRc)
'Проверка: число угадано верно? Select Case intGuess
Case Is = intSecretNumber ' Да, пользователь угадал
strMsg = "Вы угадали" strCap = "Верно!" MsgBox strMsg, vbExclarnation. strCap
'Закончить игру
'0ператор End используется для завершения программы. End Case Is > intSecretNumber
'Нет, следующая попытка
strMsg = "Неверно. Загаданное число меньше" strCap = "Попробуйте снова"
MsgBox strMsg, vblnformation, strCap Case Is < intSecretNumber
' Нет, следующая попытка
strMsg = "Неверно. Загаданное число больше" strCap = "Попробуйте снова"
MsgBox strMsg, vblnformation, strCap End Select
Else
' Новая попытка
strMsg = "Вы должны ввести число!" strCap = "Введите число!"
MsgBox strMsg, vblnformation, strCap End If
cmdGuess.Caption = strCap End Sub
13. Сохраните проект и форму с именем z3-3. 14..Запустите программу.
Этап 2. Освоение режима отладки
1. Добавьте в отладочное окно переменные, за значениями которых мы хотим наблюдать в режиме отладки. Для этого выполните команду Debug, Add Watch Отладка, Добавить наблюдателя). В открывшемся окне в поле Выражение внести имя переменной intGuess и нажать кнопку ОК. Аналогичным образом доба вить переменную strMsg , intTry.
2.Поставить курсор на строку программного кода intTry= intTry+1 и выполнить команду Debug, Run To Cursor (Отладка, Пуск к курсору) или нажмите кнопку F8. Далее в открывшемся окне программы нажать кнопку F8 (или выполнить команду Debug, Step Into (Отладка, Войти) ) для перехода к следующему оператору и наблюдать, как изменяются значения переменных
Усков Ю.И. |
19 |
каф. МиИТ, |
2015 |
|
|