Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть2.doc
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
130.05 Кб
Скачать

Visual Basic for Applications for Applications (vba). Лабораторные работы. Часть 2 Введение

Процедуры в Visual Basic for Applications могут проверять некие условия и затем, в зависимости от результатов проверки, выполнять разные операции. Обычно условие является простым сравнением, но оно может быть любым выражением с вычисляемым значением. Visual Basic for Applications интерпретирует это значение как True (истина) или False (ложь).

Тема №1: «Условный оператор»

Для записи разветвляющихся алгоритмов используется оператор If.

Он имеет две формы записи.

1. Однострочная запись:

IfусловиеThen[оператор1] [Elseоператор2]

Если условие, верно, то выполняетсяоператор 1, в противном случае выполняетсяоператор 2.

В условиизаписывается логическое выражение, которое использует операции сравнения.

Оператор сравнения

Значение

Пример

= (знак равенства)

Равно

A1=B1

> (знак больше)

Больше

A1>B1

< (знак меньше)

Меньше

A1<B1

>= (знак больше и знак равенства)

Больше или равно

A1>=B1

<= (знак меньше и знак равенства)

Меньше или равно

A1<=B1

<> (знак «не равно»)

Не равно

A1<>B1

Пример:

If A<0 then A=10 else A=A-1

Для создания сложных условий используются логические операции and(и) иor(или).

If A>0 and A<2 then A=10 else A=A-1

2. Многострочная запись:

If <условие> Then

[оператор1] Else

[оператор2]

End If

Если при выполнении условия должно быть выполнено несколькооператоров, то применяется составной оператор:

If условие Then [оператор 1, оператор 2 и т.д.] [Elseоператор1, оператор2 и т.д.]end if

Пример:

If A<0 then

S=S+1

A=10

Else

S=12

A=A+10

End if

Если при выполнении условия 1 должен быть выполненоператор 1, а в противном случае при выполненииусловии 2 должен быть выполненоператор 2 и т.д., то применяется вложенный условный оператор:

Ifусловие-1Then[ оператор1]

[ElseIfусловие-2 Then[оператор2] ...

[Else[оператор3]]

End If

End If

Пример 1.

  1. Составьте процедуру для решения следующей задачи: Даны действительные числа х и у. Присвоить переменной z значение х - у, если х > у; в противном случае присвоить z значение у-х+ 1.

  2. Для этого:

а) добавьте к проекту форму;

б) разместите на форме 3 элемента "Надпись" (Label3 – для вывода результата), 2 элемента "Поле" (TextBoxl - для ввода х, TextBox2 — для ввода у) и 2 элемента "Кнопка";

в) свойство BorderStyle (стиль рамки) элемента "Надпись" с именем Label3 установите в значение 1;

г) измените значения других свойств объектов так, чтобы форма имела следующий вид:

  1. В окне редактирования модуля наберите для события Click перво­го элемента "Кнопка" код процедуры:

Private Sub CommandButton1_Click()

Dim x As Single, у As Single, z As Single

х = Val(TextBox1.Text)

у = Val(TextBox2.Text)

If х > у Then z = х - у Else z = у - х + 1

Label3.Caption = "Результат z= " & z

End Sub

  1. Изучите код процедуры

Функция Val преобразует вводимое значение из текстового формата в числовой. Свойство Text элемента "Поле" является свойством по умолчанию, т.е. при обращении к этому свойству можно не указывать его после точки. Таким образом, записи х = Val(TextBox1.Text) и х = Val(TextBox1) равноправны

  1. Напишите для события Click второго элемента "Кнопка" код процедуры выхода из программы.

  2. Выполните запуск приложения. Проверьте полученный результат.

  3. Добавьте на форму еще 1 элемент "Надпись" и 1 элемент "Поле".

  4. Составьте процедуру для решения следующей задачи: Даны действи­тельные числа а, b, с. Подсчитать количество и сумму нечетных чисел среди трех чисел а, b, с. Для подсчета количества и суммы используйте следующий алгоритм:

k=0

sum=0

If a mod 2 <> 0 Then k=k+1: sum=sum+a

If b mod 2 <> 0 Then k=k+1: sum=sum+b