КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Выражения отношенияОперации отношения: > >= < <= = <> Операнды могут быть любого типа. Результат этих выражений логический. "Кот" < "Котик" = True 2>4 = False Двойные неравенства записываются с помощью логических операций: A > 5 And A < 10 (5 < A < 10). Некоторые свойства формы и элементов управления принимают значения True или False. Например, если свойство Visible (Видимость) имеет значение True, то форма или элемент управления видимы. При значении False – не видимы. Свойство Enabled (Доступна) также принимает значение True (форма или элемент управления имеют бледный цвет и не реагируют на какие-либо события (щелчок мыши и т.п.). Эти свойства могут быть операндами логического выражения. Типовая алгоритмическая конструкция «развилка с условием».
Да Да Условие Условие
Нет Действие Нет Действие 1
Действие 2
Условие задается рассмотренным логическим выражением. Условие принимает значение «Да» или «Нет». В зависимости от этого, на левой блок-схеме «Действие» выполняется (если условие принимает значение «Да») или не выполняется. На правой блок-схеме выполняется или «Действие 1» (если условие принимает значение «Да»), или «Действие 2» (если условие принимает значение «Нет»). Условный оператор в Visual Basic (соответствует типовой алгоритмической конструкции «развилка с условием»). If логическое выражение Then If логическое выражение Then операторы операторы 1 EndIf Else операторы 2 End If Аналогично левой блок-схеме «операторы» выполняются, если логическое выражение принимает значение True. При значении False - не выполняются. «операторы 1» выполняются, если логическое выражение принимает значение True. При значении False - выполняются «операторы 2». Примеры: If Х>=-5.3 And X<=2.87 Then If Command1.Visible Then ............................................ ............................................ Else EndIf EndIf
Если в качестве оператора Действие 2 также используется оператор ветвления, то два ключевых слова Else и If можно объединить в одно ElseIf. Получим конструкцию
If ... Then ... ElseIf ... Then ... ElseIf ... Then ... Else ... End If
Пример If A>B And C=1 Then
count = 2*a+b N=N+1
ElseIf A<B And C=0 Then
count = (a-b)/3 N=N-1 Else N=0 End If Пример проекта. Добавим на форму предыдущего проекта стандартные элементы: Дополнительную Командную кнопку (CommandButton2); Два переключателя (OptionButton)-обычно задаются на форме группой и позволяют выбрать какой-либо один вариант (определяется выбранным переключателем) из нескольких возможных. Из группы переключателей можно выбрать только один. Выбранный переключатель определяется значением свойства Value, которое принимает значение True(переключатель выбран, в центре кружка жирная точка) или False (переключатель не выбран, в центре кружка нет точки). Щелчок мыши по переключателю переводит его в противоположное от имеющегося состояние. Метка (Label2), в которой записан вид логического выражения. Определим свойства элементов: Переключатель (имя Option1): Caption-Арифм. вычисл. Переключатель (имя Option2): Caption-Логическ. вычисл. (Метка (имя Label1): Caption-С=A+B Alignement =2 -Center и BorderStyle = 1-FixedSingle ) Метка (имя Label2): Caption-A>=B And C<5.5. Alignement =2 -Center и BorderStyle = 1-FixedSingle (Командная кнопка (имя Command1):Caption-Вычислить) Командная кнопка (имя Command2):Caption-Начало. Вид спроектированной формы показан на рисунке: Форма работает по следующей логике: при запуске программы на форме должна появиться только кнопка «Начало». При щелчке мыши по этой кнопке, появляются переключатели «Арифм. вычисл.» и «Логическ. вычисл.». Выбор одного из них обеспечивает при щелчке мыши по кнопке «Вычислить» расчет арифметического или логического выражений, заданных в поле меток.
Процедуры обработки событий: Form_Load() (загрузка формы), Command2_Click() (щелчок мыши по командной кнопке «Начало»), Command1_Click() (щелчок мыши по командной кнопке «Вычислить»):
Private Sub Form_Load() Эта процедура делает все элементы Label1.Visible = False управления на форме (кроме командной кнопки Label2.Visible = False «Начало») невидимыми (свойству Visible Option1.Visible = False элементов присваивается значение False) Option2.Visible = False Command1.Visible = False End Sub
Private Sub Command2_Click() Эта процедура делает элементы видимыми Command1.Visible = True (свойству Visible элементов присваивается Option1.Visible = True значение True) Option2.Visible = True Label1.Visible = True Label2.Visible = True End Sub
Private Sub Command1_Click() Dim A As Single, B As Single, C As Single, Rez As Boolean If Option1.Value Then A = Val(InputBox("Введите значение первого слагаемого", "Окно ввода")) B = Val(InputBox("Введите значение второго слагаемого", "Окно ввода")) C = A + B MsgBox "Сумма равна " & Str$(C), , "Ответ" Else A = Val(InputBox("Введите значение переменной А", "Окно ввода")) B = Val(InputBox("Введите значение переменной B", "Окно ввода")) C = Val(InputBox("Введите значение переменной C", "Окно ввода")) Rez = A >= B And C < 5.5 MsgBox "Значение логического выражения равно " & Str$(Rez), , "Ответ" End If End Sub
|