Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Логическим функциям.pdf
Скачиваний:
35
Добавлен:
21.02.2016
Размер:
676.7 Кб
Скачать

В простейшем случае функция ЕСЛИ реализует алгоритм выбора (рис. 3) одного из двух выражений.

Да,

Условие

Нет,

выполняется?

выполняется

не выполняется

Выражение 1

 

Выражение 2

 

 

 

 

 

 

 

 

 

 

Рис. 3. Алгоритм выбора одного из двух выражений

Примеры применения логических функций

Рассмотрим несколько примеров использования логических функций в табличном процессоре Excel. В приведенных примерах логические функции работают как самостоятельно, так и в сочетаниях.

Пример 1

Условие: Распределить переменные по ячейкам и написать формулу Excel для вычисления следующей величины:

 

a x2

36

 

b2 4 t

 

+104

 

 

 

, если x +14 <10a+4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z =

 

2

 

2

 

 

 

3

 

 

 

x

 

 

a+4

 

 

 

 

 

 

 

 

 

lg

 

3 y

 

76 ,4 t

 

sin a +

 

 

+9

, если x +14 10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение:

Представим решение в виде последовательности операций, которые необходимо выполнить для получения решения:

Операция 1: Определим все переменные, используемые в данном формульном выражении: a , x , b, t , y .

Операция 2: Распределим переменные по ячейкам. Пусть в ячейке А1 будет располагаться переменная a , в ячейке А2 x , в ячейке А3 b , в ячейке А4 t , в ячейке А5 y .

Операция 3: Поскольку в формульном выражении рассматриваются два условия, то очевидным является использование функции ЕСЛИ.

Операция 4: Сформулируем логическое условие (лог_выражение), которое необходимо проверить: A2 + 14 < 10 ^ (A1 + 4).

7

Операция 5: Для условия, сформулированного в операции 4, сформулируем остальные аргументы функции ЕСЛИ:

значение_если_истина:

КОРЕНЬ(А1 А2 ^ 2 36 ABS (A3 ^ 2 4 A4))+ 1E 04

значение_если_ложь:

LOG10 (ABS (3 A5 ^ 2 76 ,4 A4 ^ 3 SIN (A1 + A2 / 2)))^ 2 + 9

Операция 6: Запишем окончательный вид формульного выражения для Excel:

ЕСЛИ( A2 + 14 < 10 ^ (A1 + 4);

КОРЕНЬ(А1 А2 ^ 2 36 ABS (A3^ 2 4 A4))+ 1E 04; LOG10 (ABS (3 A5 ^ 2 76 ,4 A4 ^ 3 SIN (A1 + A2 / 2)))^ 2 + 9 )

Пример 2

Условие: Распределить переменные по ячейкам и написать формулу Excel для вычисления следующей величины:

 

 

ea2 x2 +1 , если а2

+ х2

< 2

 

 

 

 

x +3

 

 

 

 

 

 

 

 

, если а2

 

х2

 

W =

 

tg

 

 

 

+

> 6

 

a

 

 

 

a2

 

, если 2 а2

+ х2 6

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение:

Представим решение в виде последовательности операций, которые необходимо выполнить для получения решения:

Операция 1: Определим все переменные, используемые в данном формульном выражении: a , x .

Операция 2: Распределим переменные по ячейкам. Пусть в ячейке А1 будет

 

располагаться переменная a , в ячейке А2

x .

 

Операция 3:

Для правильного вычисления величины W достаточно проверки

 

двух из трех указанных условий, т.к. невыполнение (ложное зна-

 

чение) любых двух условий означает выполнение (истинность)

 

третьего условия. Т.о. очевидным является использование двух

 

функций ЕСЛИ, которые будут вложенными одна в другую, т.е.

 

для первой функции ЕСЛИ в качестве значение_если_ложь бу-

 

дет выступать вторая функция ЕСЛИ, которая будет проверять

 

второе логическое условие.

 

 

 

 

Операция 4:

Сформулируем логическое условие (лог_выражение), которое

 

необходимо

проверить

в

первой

функции

ЕСЛИ:

 

A1^ 2 + A2 ^ 2 < 2 .

 

 

 

 

Операция 5:

Для условия, сформулированного в операции 4, сформулируем

 

остальные аргументы функции ЕСЛИ:

 

 

значение_если_истина:

EXP( A1^ 2 A2 ^ 2 + 1 )

 

8

значение_если_ложь:

ЕСЛИ( A1^ 2 + A2 ^ 2 > 6 ;TAN (( A2 + 3 ) / A1); ABS( A1^ 2 A2 ^ 2 ))

Операция 6: Запишем окончательный вид формульного выражения для Excel:

ЕСЛИ( A1^ 2 + A2 ^ 2 < 2;EXP( A1^ 2 A2 ^ 2 + 1 );

ЕСЛИ( A1^ 2 + A2 ^ 2 > 6;TAN (( A2 + 3 ) / A1); ABS( A1^ 2 A2 ^ 2 )))

Пример 3

Условие: Вычислить (без использования компьютера) следующую формулу Excel, сопровождая ответ промежуточными расчетами:

=ЕСЛИ(НЕ(ИЛИ(A1>C1;ЛОЖЬ));ЕСЛИ(A1+1>=C1;A1+1; B1-1);И(A1<=B1+1;ИСТИНА))

Содержимое ячеек: A1 = 1; B1 = 2; C1 = 3 .

Решение:

Представим решение в виде последовательности операций, которые необходимо выполнить для получения решения:

Операция 1: Разложим приведенную формулу на составные элементы:

лог_выражение значение_если_истина

=ЕСЛИ(НЕ(ИЛИ(A1>C1;ЛОЖЬ));ЕСЛИ(A1+1>=C1;A1+1;B1-1); И(A1<=B1+1;ИСТИНА))

значение_если_ложь

Операция 2: Проверим логическое выражение НЕ(ИЛИ(A1>C1;ЛОЖЬ)), подставив в него числовые данные, содержащиеся в ячейках. Данную операцию выполняем, соблюдая правило, что вначале выполняются операции во вложенных скобках, а затем во внешних. Таким образом, получаем:

Операция 2.1: Рассматриваем ИЛИ(A1>C1;ЛОЖЬ). Подставляем числовые данные: ИЛИ(1>3;ЛОЖЬ). Функция ИЛИ возвращает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА, и возвращает значение ЛОЖЬ, если все аргументы принимают значение ЛОЖЬ. В нашем случае получим: ИЛИ(ЛОЖЬ;ЛОЖЬ), т.е. данное выражение принимает значение

ЛОЖЬ.

Операция 2.2: Подставляем значение, полученное в операции 2.1 в оставшуюся часть логического выражения: НЕ(ЛОЖЬ). Функция НЕ изменяет логическое значение своего аргумента на противоположное. Таким образом, логическое выражение НЕ(ИЛИ(A1>C1;ЛОЖЬ)) при заданных исходных данных1 при-

1 Необходимо обратить внимание, что при других числовых данных в ячейках А1, В1, С1 результаты могут получаться совершенно другими

9

нимает значение ИСТИНА.

Операция 3: Поскольку лог_выражение принимает значение ИСТИНА то пе-

реходим к значение_если_истина: ЕСЛИ(A1+1>=C1;A1+1;B1- 1). Значение_если_ложь при заданных исходных данных рассматриваться не будет.

Операция 4: В качестве значение_если_истина выступает логическая функция ЕСЛИ, которую также можно разложить на составляющие:

лог_выражение значение_если_истина

ЕСЛИ(A1+1>=C1;A1+1;B1-1)

значение_если_ложь

Операция 5: Проверим логическое выражение A1+1>=C1, подставив в него исходные числовые данные, т.е. проверяем неравенство 1+1>=3. Данное логическое выражение принимает значение ЛОЖЬ, таким образом переходим к значение_если_ложь, а значение значение_если_истина не рассматриваем.

Операция 6: В качестве значение_если_ложь выступает арифметическое выражение B1-1, подставив в которое числовые данные получим: 2- 1=1. Таким образом, формульное выражение

ЕСЛИ(НЕ(ИЛИ(A1>C1;ЛОЖЬ));ЕСЛИ(A1+1>=C1;A1+1;B1- 1);И(A1<=B1+1;ИСТИНА)) принимает значение 1.

Пример 4

Условие: Пусть в ячейку А2 введена формула

=ЕСЛИ(НЕ(И(A1<B1;B1<C1));ЛОЖЬ;ИСТИНА)

Вычислить (без использования компьютера) следующую формулу Excel, сопровождая ответ промежуточными расчетами:

=ЕСЛИ(ИЛИ(A2;A1+1=B1);ЕСЛИ(B1=C1- 1;"весна";"лето");ЕСЛИ(B1<=C1;"осень";"зима"))

Содержимое ячеек: A1 = 1; B1 = 1; C1 = 1.

Решение:

Представим решение в виде последовательности операций, которые необходимо выполнить для получения решения:

Операция 1: Разложим формулу, введенную в ячейку А2 на составные элементы:

лог_выражение значение_если_истина

=ЕСЛИ(НЕ(И(A1<B1;B1<C1));ЛОЖЬ;ИСТИНА)

значение_если_ложь

10

Операция 2: Проверим логическое выражение НЕ(И(A1<B1;B1<C1)), подставив в него числовые данные, содержащиеся в ячейках. Данную операцию выполняем, соблюдая правило, что вначале выполняются операции во внутренних скобках, а затем во внешних. Таким образом, получаем:

Операция 2.1: Рассматриваем И(A1<B1;B1<C1). Подставляем числовые данные: И(1<1;1<1). Функция И возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА, и возвращает значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ В нашем случае получим: И(ЛОЖЬ;ЛОЖЬ), т.е. данное выражение принимает значение ЛОЖЬ.

Операция 2.2: Подставляем значение, полученное в операции 2.1 в оставшуюся часть логического выражения: НЕ(ЛОЖЬ). Функция НЕ изменяет логическое значение своего аргумента на противоположное. Таким образом, логическое выражение НЕ(И(A1<B1;B1<C1)) при заданных исходных данных принимает значение ИСТИНА.

Операция 3: Поскольку лог_выражение принимает значение ИСТИНА то пе-

реходим к значение_если_истина: ЛОЖЬ. Значение_если_ложь

при заданных исходных данных рассматриваться не будет. Таким образом, формульное выражение в ячейке А2 при заданных исходных данных принимает значение ЛОЖЬ.

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

лог_выражение значение_если_истина

=ЕСЛИ(ИЛИ(A2;A1+1=B1);ЕСЛИ(B1=C1-1;"весна";"лето"); ЕСЛИ(B1<=C1;"осень";"зима"))

значение_если_ложь

Операция 5: Проверим логическое выражение ИЛИ(A2;A1+1=B1), подставив в него числовые данные, содержащиеся в ячейках. Таким образом, получаем: ИЛИ(ЛОЖЬ;1+1=1). Функция ИЛИ возвращает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА, и возвращает значение ЛОЖЬ, если все аргументы принимают значение ЛОЖЬ. В нашем случае получим: ИЛИ(ЛОЖЬ;ЛОЖЬ), т.е. данное выражение принимает значение

ЛОЖЬ.

Операция 6: Поскольку логическое выражение принимает значение ЛОЖЬ, то переходим к значение_если_ложь, а значение значе-

ние_если_истина не рассматриваем.

11