- •Тема: «Разработка приложений с разветвляющимися алгоритмами»
- •Разветвляющиеся алгоритмические структуры
- •1.1. Основные логические операции
- •1.2. Условный оператор If...Then
- •1.3. Условный оператор If...Then...Else
- •1.4. Условный оператор If...Then...ElseIf
- •1.5. Оператор выбора Select Case
- •Переключатели и флажки
- •2.1. Переключатель
- •2.2. Флажок
- •3. Упражнения
- •4. Задания для самостоятельного выполнения
- •2. Используя условный оператора if…then, разработайте проект для решения fphf,jnfqnt ghjtrn lkz htitybz h следующих заданий:
- •3. Используя условный оператора if…then…else или if…then…elseif, разработайте проект для решения fphf,jnfqnt ghjtrn lkz htitybz h следующих заданий:
- •4. Используя условный оператора select case, разработайте проект для решения fphf,jnfqnt ghjtrn lkz htitybz h следующих заданий:
- •5. Контрольные вопросы
3. Упражнения
Упражнение 1
Создадим программу, которая позволяет подсчитать сумму и произведение двух чисел. Переход между элементами управления осуществим через событие нажатия клавиши Enter на клавиатуре. Для кнопок Сброс и Выход запрограммируем стандартные отклики.
Реализация проекта
1. Создайте новый проект.
2. Поместите на форму четыре надписи, четыре текстовых поля и три кнопки.
3. Установите следующие значения свойств объектов:
-
Класс объектов
Обозначение объекта по умолчанию
Свойство
Значение
Form
Form1
Caption
Сумма и произведение двух чисел
Label
Label1
Caption
Первое число
Label2
Caption
Второе число
Label3
Caption
Сумма
Label4
Caption
Произведение
CommandButton
Command1
Name
CmdOk
Caption
Ok
Command2
Name
CmdClear
Caption
Сброс
Command3
Name
CmdExit
Caption
Выход
TextBox
Text1
Name
Txt1
Text
Text2
Name
Txt2
Text
Text3
Name
TxtSum
Text
Text4
Name
TxtPr
Text
Ваша форма примет вид (рис. 5.3):
Рис. 5.3
4. В окне редактора кода введите следующий код:
5. Сохраните и протестируйте проект. Что происходит при нажатии клавиши Enter в первых двух текстовых полях?
Примечание
Отслеживать нажатые клавиши позволяет алгоритм, записанный в обработку события KeyPress. Событие KeyPress возвращает один параметр KeyAscii As Integer, который является кодом нажатой клавиши клавиатуры. Код клавиши Enter равен 13.
SetFocus – метод, который позволяет установить фокус нужному элементу управления.
Упражнение 2
Создадим программу-пароль. Она будет работать следующим образом: При загрузке программа попросит ввести пароль. Если Вы введете пароль правильно, программа напишет "Добро пожаловать", если пароль неверен – ответ будет "Посторонним вход воспрещен".
Реализация проекта
1. Создайте новый проект.
2. Поместите на форму надпись, текстовое поле и две кнопки (рис. 5.4).
Рис. 5.4
3. Установите следующие значения свойств объектов:
-
Класс объектов
Обозначение объекта по умолчанию
Свойство
Значение
Form
Form1
Caption
Проверка пароля
Label
Label1
Caption
Введите пароль
TextBox
Text1
Name
TxtPar
Text
CommandButton
Command1
Name
CmdOK
Caption
OK
Command2
Name
CmdExit
Caption
Выход
Ваша
форма примет вид (рис. 5.5)
Рис. 5.5
4. Давайте поймем, как будет работать программа. При загрузке необходимо будет ввести пароль. При нажатии на кнопку ОК, программа проверяет, правильно ли был введен пароль, и если пароль верен, то выводит надпись "Добро пожаловать", а текстовое поле становится недоступным; если неправильно, то выводит на экран окно с сообщением, что пароль неверен.
Напишите следующую событийную процедуру для кнопки OK:
Private Sub CmdOk_Click()
If TxtPar.Text = "Гость" Then ' Ваш пароль может быть другим
Label1.Caption = "Добро пожаловать"
TxtPar.Enabled = False
Else
MsgBox "Посторонним вход воспрещен!", 48, "Проверка пароля"
TxtPar.Text = ""
TxtPar.SetFocus ' Делаем активным текстовое поле,
' устанавливая туда курсор
End If
End Sub
5. Сохраните и запустите проект. Проверьте, как ведет себя программа. Введите неправильный пароль и нажмите кнопку ОК, у Вас откроется окно (рис. 5.6):
Рис. 5.6
Обратите внимание, что на экран вывелось сообщение, а текстовое поле не очистилось. Дело в том, что оператор TxtPar.Text = "" стоит после строки MsgBox… – значит, он должен выполняться после нее. Как только Вы нажмете ОК, текстовое поле очистится.
6. Модернизируйте программу так, чтобы текстовое поле очищалось и тогда, когда окно сообщения на экране.
7. Усовершенствуем программу так, чтобы пользователь мог лишь несколько раз ввести пароль, например, 3 раза. Чтобы решить данную проблему, нам понадобится счетчик. Счетчик – это специальная переменная, которая увеличивается на 1 при нужном событии.
Итак, счетчиком будет переменная k (Вы же можете сделать любую).
Когда она должна увеличиваться? Когда введен неправильный пароль. Следовательно, она должна стоять в событийной процедуре кнопки ОК по ветви "нет". Измените код кнопки, добавив в него строку:
k = k + 1
Далее нам нужно проверить, совершено ли данное событие 3 раза, т.е. k=3 или нет, и если так, то закрыть форму. Записать данную инструкцию можно следующим образом:
if k = 3 then End
8. Теперь необходимо объявить новую переменную. Объявим ее в разделе (General) (Declarations) формы. Ваш код примет вид:
Option Explicit
Dim k As Integer
Private Sub CmdOk_Click()
If TxtPar.Text = "Гость" Then
Label1.Caption = "Добро пожаловать"
TxtPar.Enabled = False
Else
MsgBox "Посторонним вход воспрещен!", 48, "Проверка пароля"
TxtPar.Text = ""
TxtPar.SetFocus
k = k + 1
if k = 3 then End
End If
End Sub
9. Последнее, что нужно сделать, это присвоить начальное значение переменной. Где это можно сделать? В самой процедуре нельзя, потому что… ( А почему?)
Мы поступим следующим образом. Зададим начальное значение при загрузке формы.
Дважды щелкните по форме в окне конструктора форм. Откроется соответствующая процедура, куда и введите необходимый оператор. Процедура примет вид:
Private Sub Form_Load()
k = 0
End Sub
10. Выполните самостоятельно следующие задания:
Доделайте программу, чтобы она при неправильном пароле выводила надпись: У вас осталась 1 попытка (или 2, или 3).
Ответьте на вопрос: "Почему нельзя задавать начальное значение счетчика в процедуре кнопки?". Если не догадались, вставьте его туда, и посмотрите, что происходит.
Для кнопки Выход запрограммируйте стандартный отклик.
Измените программу таким образом, чтобы на правильные и неправильные действия программа еще как-то реагировала (цветом формы, размером шрифта и т.д.).
11. Сохраните и протестируйте проект.
Упражнение 3
Создадим приложение, реализованное с использованием флажков и переключателей, позволяющее выполнять одно из выбранных арифметических действий над двумя заданными числами (рис. 5.7).
Реализация проекта
1. Создайте новый проект.
2. Поместите на форму три надписи, два текстовых поля, графическое окно (PictureBox), рамку (Frame), четыре переключателя (OptionButton), два флажка (CheckBox) и одну кнопку.
Рис. 5.7
3. Установите следующие значения свойств объектов:
-
Класс объектов
Обозначение объекта по умолчанию
Свойство
Значение
Form
Form1
Caption
Одно из четырех действий
Label
Label1
Caption
Первое число
Label2
Caption
Второе число
Label3
Caption
Результат
TextBox
Text1
Name
Txt1
Text
Text2
Name
Txt2
Text
PictureBox
Picture1
Name
Pic1
Frame
Frame1
Caption
Действие
OptionButton
Option1
Caption
Сложение
Option2
Caption
Вычитание
Option3
Caption
Умножение
Option4
Caption
Деление
CommandButton
Command1
Name
CmdCount
Caption
Вычислить
CheckBox
Check1
Caption
Округлить до целого
Check2
Caption
Очищать окно результатов
4. В окне редактора кода введите следующий код:
5. Сохраните и протестируйте проект.
6. Измените программу таким образом, чтобы в случае необходимости выводилось сообщение «На нуль делить нельзя!»
7. Усовершенствуйте проект, осуществив переход между элементами управления через событие нажатия клавиши Enter.
8. Сохраните и протестируйте проект.
Упражнение 4
Создадим приложение, которое обеспечивает возможность вводить фрагмент текста и выбирать стиль шрифта – полужирный, курсив или оба этих начертания.
Реализация проекта
1. Создайте новый проект.
2. Поместите на форму одну надпись, одно текстовое поле, два флажка и одну кнопку, как показано на рис. 5.8.
Рис. 5.8
3. Установите следующие значения свойств объектов:
-
Класс объектов
Обозначение объекта по умолчанию
Свойство
Значение
Form
Form1
Caption
Стили шрифта
Label
Label1
Caption
Введите текст
TextBox
Text1
Name
TxtТекст
Font
Шрифт: Times New Roman
Начертание: обычный
Размер: 20
MultiLine
True
Text
CommandButton
Command1
Name
CmdВыход
Caption
Выход
CheckBox
Check1
Name
ChkПолужирный
Caption
Полужирный
Check2
Name
ChkКурсив
Caption
Курсив
4. В окне редактора кода введите следующий код:
5. Сохраните проект.
6. Запустите программу. Введите какой-нибудь текст в текстовое поле и установите один из флажков (или оба). Убедитесь, что соответствующее свойство текста изменилось (рис. 5.9).
Рис. 5.9
7. Усовершенствуйте проект, предоставив дополнительную возможность выбирать подчеркнутый стиль шрифта, а также возможность изменения цвета и размера шрифта.
8. Сохраните и протестируйте проект.
