Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 4.doc
Скачиваний:
8
Добавлен:
04.03.2016
Размер:
534.02 Кб
Скачать

Лабораторные работы VB

Лабораторная работа №4

Разветвляющийся алгоритм

Цель:

  1. Получение навыков в использовании условного оператора в программе;

  2. Построение логических конструкций на основе рассматриваемого оператора.

Методические указания:

Оператор IfThenElse

Оператор If … Then … Else представляет собой простейшую, но и самую распространенную форму проверки условий в Visual Basic. Оператор условия предоставляет возможность управлять порядком выполнения операторов в программе. После проверки на истинность условия он предлагает выполнить ту или иную последовательность операторов.

Синтаксис:

If <condition1> Then <statement>

Else

<condition2>

End If

или

If <condition1> Then

<statementblock1>

Elself <condition2> Then

<statementblock2>

...

Else

<statementblockN>

End If

Аргументы:

  • condition — выражение проверки условия, использующее логические операторы и операторы сравнения.

В случае если <condition> = True, выполняется оператор, следующий за служебным словом Then. Если <condition> = False, на истинность проверяются дополнительные условия Elself ... Then и, если и они не выполнены, выполняется оператор, следующий за ключевым словом Else;

  • statementblockN — исполняемый оператор; -

  • Elself <condition> Then — блок проверки дополнительного условия. Если <condition> = False, то оператор statementblock не выполняется и проводится проверка следующего условия;

  • Else <statementblock> — блок операторов, выполняемых в случае невыполнения всех предыдущих условий оператора.

Оператор условия: Select...Case

Оператор с условием Select-Case позволяет выбрать нужный оператор из нескольких при выполнении условного выражения. Этот оператор условия наиболее эффективен, когда условие ветвления зависит только от одной переменной.

Синтаксис:

Select Case <testexpression>

[Case <expressionlist1>

[<statementblock1>]]

[Case <expressionlist2>

[<statementblock2>]]

[Case Else

[<statementblockN>]]

Аргументы:

  • testexpression — переменная, свойство или выражение, которое является проверяемым условием выбора;

  • expressionlist2 — числовые или текстовые данные, относящиеся к проверяемому условию;

  • statementblock — оператор, выполняемый при условии совпадения переменной и соответствующего значения;

  • [Case Else ...] — опция, указывающая на выполнение соответствующего оператора при условии невыполнения ни одного из предыдущих условий.

Логические операторы в Visual Basic.

    • Логический оператор AND используется для логического объединения (конъюнкции или умножение) двух выражений. Программа проверяет, что оба выражения истинны одновременно. В таблице перечислены комбинации выражений и результаты, полученные при их объединении операцией AND.

      Выражение 1

      Выражение 2

      Результат

      И (1)

      И (1)

      И (1)

      И (1)

      Л (0)

      Л (0)

      Л (0)

      И (1)

      Л (0)

      Л (0)

      Л (0)

      Л (0)

    • Логический оператор EQV

Оператор EQV проверяет эквивалентность двух выражений. Если логические значения совпадают, результат операции будет истинным. Если значения отличаются, то результат будет ложным.

Выражение 1

Выражение 2

Результат

И (1)

И (1)

И (1)

И (1)

Л (0)

Л (0)

Л (0)

И (1)

Л (0)

Л (0)

Л (0)

И (1)

    • Логический оператор OR

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

Выражение 1

Выражение 2

Результат

И (1)

И (1)

И (1)

И (1)

Л (0)

И (1)

Л (0)

И (1)

И (1)

Л (0)

Л (0)

Л (0)

    • Логический оператор XOR

Если нужно убедиться в том, что истинно лишь одно из двух выражений, воспользуйтесь оператором XOR (операция исключающего OR). В отличие от OR он дает истинный результат лишь в том случае, если истинно одно выражение, но не оба.

  • Выражение 1

    Выражение 2

    Результат

    И (1)

    И (1)

    Л (0)

    И (1)

    Л (0)

    И (1)

    Л (0)

    И (1)

    И (1)

    Л (0)

    Л (0)

    Л (0)

    Логический оператор NOT

Логический оператор NOT возвращает обратное логическое значение. Он может пригодиться при проверке условия, противоположного указанному.

Выражение

Результат

И (1)

Л (0)

Л (0)

И (1)


Задание 1

Даны два числа a и b. Найти:

Методические указания

Очевидно, что для определения ветви, по которой необходимо производить процесс вычисления значения х, достаточно проверить выполнение одного из условий, например a>b. Если оно не выполняется, то очевидно и без дополнительной проверки, что будет выполнено второе условие a<=b. Следовательно, схема алгоритма и код программы будут выглядеть следующим образом:

Private Sub Command1_Click()

a = Val(InputBox())

Text1.Text = a

b = Val(InputBox("Введите значение числа b","Ввод значений"))

Text2.Text = b

If a > b Then

x = Format$(a / b, "0.0000")

Text3.Text = x

MsgBox "Число а больше b, x=" & x, vbInformation, "Вычисление выражения"

Else

x = Format$(b / a, "0.0000")

Text3.Text = x

MsgBox "Число а меньше или равно b, x=" & x, vbInformation, "Вычисление выражения"

End If

End Sub

Рассмотрим примеры алгоритмов разветвляющейся структуры в случаях анализа более сложных логических условий:

Задание 2

Методические указания:

Блок-схема алгоритма и текст имеют вид:

Private Sub Command1_Click()

x = Val(InputBox("Введите значение числа x","Ввод значений"))

Text1.Text = x

If x < -1 Then

y = Format$(x ^ 3, "0.0000")

Text3.Text = y

ElseIf x <= 1 Then

y = Format$(x ^ 2, "0.0000")

Text3.Text = y

Else

y = Format$(Sqr(x), "0.0000")

Text3.Text = y

End If

MsgBox "Значение y=" & y, vbInformation, "Вычисление выражения"

End Sub

Задание 3 Найти значение у.

Замечание 1. При решении задачи использовать логический оператор ИЛИ (OR).

Задание 4

Определить время года по введенному номеру месяца.

Методические указания:

Для решения задачи используем оператор Select…Case.

Private Sub Command1_Click()

n = InputBox("Введите номер месяца", "Номер месяца")

Text1.Text = n

Select Case n

Case 1, 2, 12

MsgBox "Время года - зима", vbInformation, "Времена года"

Text2.Text = "Зима"

Text2.BackColor = vbBlue

Case 3, 4, 5

MsgBox "Время года - весна", vbInformation, "Времена года"

Text2.Text = "Весна"

Text2.BackColor = &HC0FFC0

Case 6, 7, 8

MsgBox "Время года - лето", vbInformation, "Времена года"

Text2.Text = "Лето"

Text2.BackColor = vbGreen

Case 9, 10, 11

MsgBox "Время года - осень", vbInformation, "Времена года"

Text2.Text = "Осень"

Text2.BackColor = vbYellow

End Select

End Sub