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

Организация принятия решений

 

Цель работы: освоить использование операторов принятия решений (If-Then-Else), познакомится с конструированием сложных условий.

 

Теоретическое введение.

Большинство операторов являются операторами присваивания, но есть и другие операторы, предназначенные для решения более сложных задач. Они известны как управляющие.

К управляющим операторам относятся, в частности, условные операторы. Они используются для выполнения различных фрагментов программы в зависимости от выполнения некоторого условия. Характерным оператором, позволяющим решить практически все задачи, является «If-Then-Else».

Для проверки истинности условий в Visual Basic предназначены два типа операторов «If» – однострочный и блочный.

Однострочный оператор «If» состоит из одной строки и используется для выполнения одной команды:

If condition Then command1 Else command2

 

Здесь «condition» представляет собой любое выражение или функцию, истинность которой будет оцениваться:

·         Условие, построенное с помощью операторов сравнения;

·         Переменная логического типа;

·         Любая функция логического типа.

 

«Command1» – команда, которую необходимо выполнить, если «condition» будет иметь значение «True» (истина). А «command2» – команда, выполняющаяся при «condition» равным «False» (ложь). При этом обе команды никогда не выполнятся одновременно!

Если при некотором условии необходимо выполнить не одну, а сразу несколько команд, можно использовать блочный оператор «If»:

If condition Then

   Command1

   ...

   Commandn

Else

   Command01

   ...

   Commandm

End if

 

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

Помимо этого существует так называемая краткая форма оператора «If». Она заключается в том, что блок «Else» является необязательным:

 

Блочная форма:

Однострочная форма:

If condition Then

   Command1

   Command2

   ...

   Commandn

End if

If condition Then command1

 

При этом принцип работы остается неизменным. При «condition» равным «False» управление буде передано следующему оператору, стоящим следом за оператором «If».

Если нужно проверить какое-либо условие при выполнении другого условия используют вложенные операторы «If». Формат вложенного оператора следующий:

If condition Then

  If condition Then

    Command1

  Else

    Command2

  End if

End if

 

Расширить возможность всех условных операторов можно с помощью логических выражений, являющимися полными аналогами условий. Такие условия принято называть составными. Для записи подобных выражений используются ряд логических функций:

 

Таблица 6

Некоторые логические функции в Visual Basic

Функция

Описание

Пример синтаксиса

Not

Отрицание («не»): возвращает True, если логическое выражение имеет значение False и наоборот.

Not(Expression)

And

Логическое умножение двух выражений («и»): возвращает False, если хотя бы одно выражение имеет значение False.

Expression1 And Expression2

Or

Логическое сложение двух выражений («или»): возвращает True, если хотя бы одно выражение имеет значение True.

Expression1 Or Expression2

Xor

Исключающее «или» («либо»): возвращает True, если только одно выражение имеет значение True.

Expression1 Xor Expression2

 

Все выражения в приведенных выше функциях обязательно должны быть логическими. Применяя операторы сравнения (< , > , = ), можно вставлять математические выражения в логические:

a * b < c and b + c

 

Порядок выполнения расчетов в таких выражениях полностью подчиняется правилу приоритета (см. работу № 2). Область применения подобных выражений очень широка при написании сложных условий для операторов принятия решений. Применение составных и вложенных условий позволяет решать самые запутанные задачи.

 

Задание. Составить программу для вычисления некоторых выражений с применением операторов принятия решений (задание №7 и №8, методичка 279, вариант тот же). Ввод и вывод информации осуществить аналогично работе №2. Расчеты вести через промежуточные переменные.

 

Ход работы.

Ход работы полностью аналогичен работе № 2. Программный код модуля должен содержать вложенные или составные условия. Обосновать их использование.