Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 3-4(ЯП)+.doc
Скачиваний:
133
Добавлен:
10.06.2015
Размер:
681 Кб
Скачать
☆
  1. Данная логическая операция имеет следующую таблицу истинности, в которой «0» соответствует значению false, а «1» – true (табл 1).

Таблица 1. Таблица истинности оператора логического отрицания

x

not x

0

1

1

0

  1. Остальные логические операторы являются двухоперандными. Операция логического умножения and имеет следующую таблицу истинности (табл 2):

Таблица 2. Таблица истинности оператора логического умножения

x

y

x and y

0

0

0

0

1

0

1

0

0

1

1

1

Результат этой операции имеет истинное значение, тогда и только тогда когда оба операнда истинных. Напротив результат оператора логического сложения истинным является в случае, если хотя бы один операнд является истинным (табл. 3):

Таблица 3. Таблица истинности оператора логического сложения

x

y

x or y

0

0

0

0

1

1

1

0

1

1

1

1

  1. Наконец операция логического исключающего или представляется следующей таблицей истинности (табл 4):

Таблица 4. Таблица истинности оператора логического исключающего ИЛИ

x

y

x xor y

0

0

0

0

1

1

1

0

1

1

1

0

В языке C/C++ в отличие отOPиVBлогические операторы синтаксически реализованы в виде символов: ! – логическое отрицание, && – логическое умножение, | | – логическое сложение и ^ – логическое исключающее ИЛИ. Например:

x = 100;

bSwitch = not(x < 10);

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

  1. Реализация управляющих структур выбора в vb

В VB определены несколько операторов реализующих различные варианты структуры выбора. Наиболее простым оператором ветвления является оператор IF…THEN, который имеет следующий формат:

If <condition> Then

<Statements>

End If

Лексический элемент <condition> – представляет собой выражение или переменную, возвращающее логическое значение, а <statements> – оператор или блок операторов.

Несмотря на то, что в VB в явном виде отсутствуют операторные скобки, однако они реализованы неявно в каждом структурном операторе. Для этого любой структурный оператор в VB ограничивается «снизу» специальными завершающими ключевыми словами. Для оператора IF…THENтакими ключевыми словами являются лексическая связкаENDIF.

Действие оператора IF…THEN приводит к выполнению блока операторов <statements> внутри структуры, в случае если выражение <condition> возвращает истинное булевское значение. Например:

x = 33

If x > 10 Then

x = x + 10

y = x + 5

End If

Второй оператор ветвления типа IF…THEN…ELSE служит для реализации алгоритмической структуры, в которой имеется несколько блоков операторов, один из которых будет выполнен. Общая структура оператора может быть представлена в виде:

If <condition_1> Then

<Statements>

[ElseIf <condition_2> Then]

.

.

.

[ElseIf <condition_n> Then

[<Statements_n>]]

[Else

[<Statemens>]]

End If

При исполнении оператора сначала обрабатывается выражение <condition_1>, если оно возвращает ложное булевское значение, то проверяется <condition_2> и так далее до тех пор, пока не будет найдено условное выражение возвращающее истинное значение. После этого будет выполнен соответствующий блок операторов. Если не нашлось ни одного верного условного выражения будет выполнен операторный блок, следующий за ключевым словомELSE. Например:

If x >= 0 and x < 10 Then

y = Sin(x)

ElseIf x >= 10 and x < 15 Then

y = Cos(x)

ElseIf x >= 15 and x < 20 Then

y = Cos(x)/sin(x)

Else

y = x^2

End If

Наконец, VBпредоставляет в распоряжение управляющую структуру типа SELECT … CASE альтернативную операторуIF…THEN…ELSE для выбора исполняемого блока операторов из нескольких. Этот оператор имеет меньше возможностей, но позволяет сделать код программы более удобочитаемым. Формат оператора имеет вид:

Select Case <testexpression>

[Case <expressionlist1>

[<statementblock_1>]]

[Case <expressionlist2>

[<statementblock_2>]

.

.

.

[Case Else

[<statementblock_2>]]

End Select

В начале этого оператора, после ключевых слов SELECTCASE,следует выражение <testexpression>, которое возвращает числовое или булевское значение. За ключевым словомCASE указывается список значений <expressionlist1>, совпадение элемента которого со значением <testexpression> определяет выполнение операторного блокаCASE. Последний пример с использованием оператораSELECT CASE будет иметь вид:

Select Case Index

Case 0

y = Sin(x)

Case 1

y = Cos(x)

Case 2

y = Cos(x)/sin(x)

Case Else

y = x^2

End Select