Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_Вычисления в Excel.doc
Скачиваний:
151
Добавлен:
26.02.2016
Размер:
7.61 Mб
Скачать

3.4. Логические функции

Для использования логических функций следует вспомнить некоторые простые факты из математической ло­гики.

Для работы с упражнениями перейти на новый рабочий лист. Дать ему имя "Логика".

Упражнение 3.4.1. Логические выражения.

  1. Ввести в ячейку А1 формулу =7>5. Она вернет значение ИСТИНА. Скопировать содержимое А1 в А2 и исправить в А2 формулу: = 3>5. Эта формула вернет значение ЛОЖЬ.

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

  1. Ввести в ячейку А4 число 2, а в ячейку В4 формулу = А4>3. Формула возвращает значение ЛОЖЬ.

Ввести в А4 число 6. Формула возвращает значение ИСТИНА.

В В4 записан предикат.

С

пример:

b2 > 4ac

равнение двух арифметических выражений, содержащих переменные, даётпредикат.

Высказывание и предикат имеют общее название —

логиче­ское выражение.

Логические операции - операции, которые объединяют сложные логические выражения.

Логические операции реализованы в Excel как функции.

Название

Обозначение

Функция Excel

Отрицание

¬

НЕ

Конъюнкция

(&)

И

Дизъюнкция

ИЛИ

Рис. 4. Перечень логических операций и соответствующих им функций Excel.

Улогических функцийаргументы могут принимать только два значения: ИСТИНА и ЛОЖЬ. Поэтому логические функции можно задать таблицей, где перечислены все возможные значе­ния аргументов и соответствующие им значения функций. Та­кие таблицы называются таблицами истинности.

Таблица для функции НЕ :

х НЕ(х)

ЛОЖЬ ИСТИНА

ИСТИНА ЛОЖЬ

Таблица для функций И и ИЛИ имеет вид :

X

Y

И(x,y)

ИЛИ(x,y)

ЛОЖЬ

ЛОЖЬ

ЛОЖЬ

ЛОЖЬ

ЛОЖЬ

ИСТИНА

ЛОЖЬ

ИСТИНА

ИСТИНА

ЛОЖЬ

ЛОЖЬ

ИСТИНА

ИСТИНА

ИСТИНА

ИСТИНА

ИСТИНА

ФункцияИ – логическое умножение - объединяет два или более логических выражения. Выдаёт результат ИСТИНА, если все условия (логические выражения) выполняются совместно (одновременно), и ЛОЖЬ, если хотя бы одно не выполняется.

Общий вид функции:

И(лог_выражение1; лог_выражение2;…и т.д.)

Упражнение 3.4.2. Принадлежит ли значение ячейки А1 диапазону чисел [10 ,100] ?

Решение: И (А1 >= 10; А1 <=100)

Функция ИЛИ – логическое сложение - предлагает выбрать или одно, или другое из нескольких условий (логических выражений). Результат будет ИСТИНА, если хотя бы одно условие выполняется (имеет значение ИСТИНА), и ЛОЖЬ, если ни одно из условий не выполняется, все ложны.

Общий вид функции:

ИЛИ (лог_выражение1; лог_выражение2;…и т.д.)

Упражнение 3.4.3. Находятся ли значения ячейки А1 вне диапазона чисел [10 ,100] ?

Решение: ИЛИ (А1 < 10; А1 >100)

Рис.5. Иллюстрация к упражнениям 3.4.2 и 3.4.3.

Если учесть то, что лучи [-∞,10] и [100, ∞] дополняют отрезок [10,100] до полной числовой оси, то можно воспользоваться функциями НЕ и И для определения ИЛИ:

ИЛИ (А1 < 10; А1 >100) ≡ НЕ (И (А1 >= 10; А1 <=100))

и наоборот.

На практике логические выражения используются в сочетании с функцией ЕСЛИ, являясь первым аргументом её.

используется для проверки содержимого ячейки и возвраталогического значенияИСТИНА или ЛОЖЬ.

Если возвращаемое значение ИСТИНА, выполняется оператор1, иначе - оператор2:

ЕСЛИ (логическое выражение; оператор1;оператор2)

Упражнение 3.4.4.

  1. Проверить знак числа в ячейке А1: =ЕСЛИ(А1>0; “>0”; “<=0”).

  2. Найти максимальное из двух чисел А1 и В1:

=ЕСЛИ(А1>В1; А1;В1).

  1. В ячейке A1 записано число 37. Выяснить, при­надлежит ли оно заданному отрезку [10, 50].

Варианты решения:

Функция результат

=ЕСЛИ (И(A1>10;A1< 50);"да";"нет")

да

=ЕСЛИ (ИЛИ(A1<10;A1> 50);"да";"нет")

нет

=ЕСЛИ (НЕ(ИЛИ (A1<10;A1> 50));"да";"нет")

да

=ЕСЛИ (НЕ(И (A1>10;A1< 50));"да";"нет")

нет

Примечание. Чтобы вернуться из вложенной функции во внешнюю функцию, нужно в строке формул щёлкнуть по имени внешней функции.

Упражнение 3.4.5. Выписать счета клиентам по заданным условиям (см. стр.34 - а),b)). Выполнить запросы - c)  f).

А B C D E

4

Клиент

Предыдущие взносы

Последний взнос

Итого

Выписать

счёт?

5

Иванов

570р.

100р.

670р.

нет

6

Петров

780р.

780р.

нет

7

Сидоров

650р.

170р.

820р.

да

8

Козлов

550р.

550р.

нет

9

Павлов

600р.

200р.

800р.

да

Рис.6. Таблица расчётов с клиентами для случая (а).

  1. Выписать счета тем клиентам, итоговая сумма которых 800 и более рублей. Решение:

  • В ячейку Е5 ввести формулу: =ЕСЛИ(D5>=800;"да";"нет "),

  • Затем заполнить ею блок ячеек Е6:Е9.

  1. Выписать счета только тем клиентам, сумма которых в интервале от 750 до 800 руб.

(двумя способами - с функциями И и ИЛИ);

Решение:

  1. Скопировать Е4 в F4 и отредактировать - "Выписать счёт? (б)", затем в F5 ввести формулу:

=ЕСЛИ(И(D5>=750;D5<=800);"да";"нет"),

скопировать в F6 : F9.

  1. Скопировать Е4 в G4 и отредактировать - "Выписать счёт? (в)", затем в G5 ввести формулу:

=ЕСЛИ (ИЛИ(D5<750;D5>800);"нет";"да")

скопировать в G6 :G9.

Сравнить результаты.

  1. Сколько клиентов внесли последний взнос?

=СЧЁТ(C5:C9) (категория статистические)

  1. Сколько всего клиентов?

=СЧЁТЗ(A5:A9) (категория - статистические)

 В чем отличие функций СЧЁТЗ и СЧЁТ? Прочитайте об этом в справке функций.

  1. Сколько выписано счетов?

=СЧЁТЕСЛИ(E5:E9;«да») (категория - статистические)

  1. На какую сумму выписаны счета?

=СУММЕСЛИ(E5:E9;«да»;D5:D9) (математические)

Задача 3.4.1. Задать ячейкам А2, В2 и С2 имена и, v, w. В ячейках содержатся числа. Ввести в ячейки А3, А4 и т.д. логические формулы, которые возвращают значение ИСТИНА тогда и только тогда, когда

а) каждое из чисел и, v, w является положительным;

б) хотя бы одно из чисел и, v, w является положительным;

в) только одно из чисел и, v, w является положительным;

г) ни одно из чисел и, v, w не является положительным;

д) хотя бы одно из чисел и, v, w не является положительным.

Задача 3.4.2. Ввести в ячейку с именем z любое число. Если z>50, то в ячейке B5 выводить сообщение "Превышено пороговое значение!", иначе выводить z.

Задача 3.4.3. Если z [10,25], то возвращать z; если z <10, то возвра­щать 10; если z > 25, то возвращать 25.

Задача 3.4.4. Торговый агент получает процент от суммы совершенной сделки: если объем сделки до 3000, то 5%; если объем до 10 000, то 2%; если выше 10 000, то 1,5%. Введите в ячейку А10 текст "Объем сделки", в ячейку А11 — "Размер вознаграждения". В ячейку В10 введите объем сделки, а в В11 — формулу, вычисляющую размер вознаграждения.

Задача 3.4.5. Дать решение примера 3.4.4.(с) (о принад­лежности точки отрезку или одному из двух лучей) без исполь­зования функций И, ИЛИ, НЕ, а с помощью вложенных функ­ций ЕСЛИ.

Задача 3.4.6. В трех ячейках записаны числа. Если все они ненулевые, вернуть 1, в противном случае - 0. Решить задачу с использованием только одной функции ЕСЛИ (без вложений).

Задача 3.4.7. Проверить, что вернёт функция ЕСЛИ, когда опущен третий аргумент функции, а условие в первом аргументе ложно? Когда опущен и второй аргумент? Как исправить такую ошибку в цепочке формул?

Задача 3.4.8. Вы­числить сумму цифр трехзначного числа. Если число (в ячейке с именем п) не является целым или не лежит в промежутке от 0 до 999, то фор­мула возвращает сообщение об ошибке #Н/Д, иначе — возвра­щает сумму цифр.

Задача 3.4.9. Найти действительные корни квадратного уравнения x2 + px + q = 0 по заданным коэффициентам p и q. Если действительных корней нет, вывести об этом сообщение.

Лабораторная работа № 2 по теме "Вычисления"

Задание. Даны три стороны треугольника а, b, с. Вычислить элементы треугольника:

  • площадь по фор­муле Герона S = ,

где р — полупериметр, ,

  • радиус вписанной окружности r = S/p

  • р

    Решение.

    адиус описанной окружности R =

  1. Переименовать рабочий лист, задав ему имя "Треугольник".

  2. Вячейку В6 ввести формулу =(В2+ВЗ+В4)/2.

  3. Задать соответствующие имена ячейкам В2, ВЗ, В4, В6.

  4. Ввести в В8 формулу =корень (р*(р-а)*(р-b)*

(р-с)).

  1. Отформатировать таблицу:

  • выровнять названия величин по центру,

  • задать формат числа p - с 1-м десятичным знаком, S - с 3-мя

  1. Вычислить ра­диусы вписанной и описанной окружнос-

тей. - В ячейки А10 и А11 ввести г и R, а в В10 и В11 —

соответствующие формулы.

  • Наложить на эти ячейки такие же фор­маты, как и

ранее (кнопка "Формат по образцу).

А

В

10

r

0,691

11

R

2,632

  1. Исследовать зависимости.

  • Выделить В10 и выбрать в меню пункт

Сервис/ Зависимости/Влияющие ячейки.

Обратить внимание на синие стрелки от ячеек, содержащих длины сторон и площадь треугольника, к ячейке В10.

  • Исследовать зависимости и для других ячеек.

  • Убрать стрелки соответствую­щей командой меню.

  1. Задать длину стороны а, равную 10. В ячейках с результа­тами появится сообщение об ошибке #ЧИСЛО!. Проверить ошибку с помощью команды "Сервис/Зависимости/Источник ошибки". За счет каких влияющих ячеек по­лучен неверный результат?

 Стороны 10, 4, 5 не образуют треугольника, при вычислении площади под корнем получается отрицательное число.

  1. Вывести сообщение об ошибочных данных, почему не могут быть вычислены S, R и г, при этом в ячейках с результатами вычислений R и г ничего не должно выводиться. Для этого:

  • вычислить отдельно подкоренное выражение

=р*(р-a)*(р-b)*(р-с_) в ячейке В7 и определить его знак.

  • Если оно положительно, вычислить S, R и г.

Если же нет, то в ячейке В8 вывести тексто­вую строку "Это не треугольник!", а в ячейках В10 и В11 выве­сти пустые строки.

Результирующая таблица:

p

5,5

=(B3+B4+B5)/2 - полупериметр

pk

14,438

=р*(р-a)*(р-b)*(р-c_)

S

3,800

=ЕСЛИ(pk>0;КОРЕНЬ(pk);"это не треугольник !")

r

0,691

=ЕСЛИ(pk>0;S/р;"") - радиус вписанной окружности

R

2,632

=ЕСЛИ(pk>0;a*b*c_/(4*S);"") -радиус описанной окр.

  1. Скрыть строки с промежуточными вычислениями.

  • Выделить номера 6 и 7 строк, в контекстном меню выбрать "Скрыть".

  • Если нужно вернуть эти строки на экран, выделить 5-ю и 8-ю строки и в контекстном меню выберите "Показать".

Аналогично можно скрывать и показывать столбцы.

  1. Защитить лист "Треугольник" с вычислениями.

Чтобы предохранить таблицу от непредна­меренной порчи неопытным пользователем, нужно защитить рабочий лист. Но сначала нужно "объявить беззащитными" ячейки с исходными данными.

  • Выделить ячейки, содержащие длины сторон (В2:В4), выполнить команду "Формат ячеек" контекстного меню, выбрать вкладку "Защита" и снять флажок "Защищаемая ячейка".

  • Выбрать в меню команду "Сервис/За­щита/Защитить лист". Проверить ввод данных вне диапазона В2:В4 и отметить реакцию Excel.

  • Снять защиту: Сервис/Защита/Снять защиту листа.

  1. Ввести ограничение ввода. Разрешить пользова­телю вводить только положительные длины сторон треугольни­ка (пункт меню "Данные/ Проверка").

  2. Имитацияпечати.

  • Щёлкнуть кнопку "Предва­рительный просмотр" на панели инструментов.

  • Изучить назначение кнопок в окне пред­варительного просмотра.

  • Нажать кнопку "Закрыть". Рабочий лист разбит пунктирными линиями на прямоугольники, соот­ветствующие листам формата А4.

  1. Подбор параметра. По заданному значению R вычислить а (а - функция от R).

Например, опреде­лить величину а при R = 3.

  • Выделить ячейку В10, в которой вы­числяется R.

  • Выполнить команду Сервис/Подбор параметра. В диалоговом окне поле "Устано­вить в ячейке:" уже содержит адрес выделенной ячейки В10.

  • в поле "Значение:" ввести 3,

  • в поле "Изменяя значение ячейки:" ввести адрес ячейки В2, содержащей величину стороны а,

  • ОК.

  • Выводится новое окно "Результаты подбора параметра". Разобраться с его содержимым самостоятельно.

  • Если увеличить разрядность числа в ячейке В10, то можно убедиться, что Rдостигло значения 2.9999172. При этома= 1.515753.