
- •Введение
- •Интерфейс электронной таблицы
- •Формулы. Абсолютная и относительная адресация
- •Встроенные функции и "мастер функций"
- •Математические функции
- •Диаграммы
- •Логические функции
- •Календарные функции.
- •Выбор одного из многих вариантов. Ассоциативные массивы.
- •Статистические функции. Вычисления с критерием.
- •Работа с массивами при анализе данных
- •Заключение
- •Благодарности и литература
Диаграммы
Построим в OOo Calc двумерную и трехмерную диаграммы по результатам работы некоторых математических функций.
В качестве двумерной (2D) диаграммы построим график функции F(x)=exp(-x)cos(Nx), где N – натуральное число. Для построения графика сначала нужно построить таблицу данных. Пусть данные располагаются по столбцам, переменнаяxизменяется в диапазоне от 0 до 3 радиан, шаг поxсоставляет 0,1 радиана. Для получения значенийxудобно к первому значению прибавить шаг, а потом скопировать формулу. Пример данных показан на рис. 9.
Рис. 9. Фрагмент таблицы данных для графика.
Для построения графика выделяем всю область данных, включая заголовки столбцов, а затем выбираем в меню команду "Вставка/Диаграмма...".
Далее следует серия диалоговых окон, в которых можно выбрать данные для подписей, лист для диаграммы, тип и вид диаграммы. Выбираем для построения диаграммы новый лист, тип диаграммы – "XY", вариант графика – B-сплайн. Определяем заголовок диаграммы и подписи по осям X и Y. После нажатия на кнопку "ГОТОВО" диаграмма появляется на указанном листе. При необходимости можно изменить размер диаграммы с помощью мыши. Настройка вида диаграммы (графика) осуществляется выделением нужных объектов, для которых правой кнопкой мыши вызывается контекстное меню. Можно изменять вид объектов диаграммы, делать их видимыми или невидимыми. Окончательный вид графика показан на рис. 10. Попробуйте добиться такого же.
Рис. 10. График функции F(x)=exp(-x)cos(Nx), N=3.
В качестве примера трехмерной (3D) диаграммы построим график функции Z(x,y)=sin2(x)-cos2(y) приx [0;3],y [-1,5;1,5]. Пустьx изменяется сверху вниз, а y – слева направо. Сделаем сетку чисел 20x20 в соответствии с заданной функцией, учитывая, что формулы можно копировать не только по вертикали, но и по горизонтали. При копировании формул не надо забывать про возможность указания абсолютного адреса для строки или столбца.
В диалогах построения диаграммы выбираем опять-таки новый лист для диаграммы, тип диаграммы – трехмерные линии. Отказываемся от легенды, т.к. каждый столбец интерпретируется как отдельный ряд данных. Результат показан на рис. 11.
Рис. 11. Трехмерная диаграмма.
Видно, что построение 3D-диаграмм не является сильной стороной OOo Calc. Здесь диаграммы квази-трехмерные, глубина используется как средство придания выразительности. Для построения настоящих трехмерных диаграмм можно использовать свободные математические пакеты Maxima или SciLab, рассмотрение которых далеко выходит за рамки настоящего пособия.
Логические функции
Логические функции используются для вычислений с условиями и формирования этих условий. Если условие выполняется, выполняется один набор команд, а если не выполняется – другой набор команд. Для формирования условий в формулах ЭТ используется функция IF(). Она имеет три аргумента. Первый аргумент – условие, второй аргумент – формула, которая работает при выполнении условия, третий аргумент – формула, которая работает если условие не выполняется.
Пусть, например, ячейка D5 содержит формулу "=IF(A1<100,С2*10,"н/у")". Если значение в ячейке A1 меньше 100, то D5 примет значение равное значению ячейки C2, умноженному на 10. Если же значение в клетке A1 не меньше 100, то ячейка D5 примет текстовое значение "н/у".
В аргументах функции IF() могут использоваться другие логические функции – AND(), OR(), NOT().
Функция AND() (логическое "И") имеет формат:
AND(условие1 ,условие2, ...условиеN).
Она принимает значение "логическая 1" (т.е. "ИСТИНА" - TRUE), если выполняются все условия. В остальных случаях функция AND() принимает значение "логический 0" (т.е. "ЛОЖЬ" - FALSE).
Функция OR() (логическое ИЛИ) имеет формат:
OR(условие1 ,условие2 ... условиеN ).
Она принимает значение "логический 0" (т.е. "ЛОЖЬ" - FALSE), если не выполняется ни одно из условий. В остальных случаях функция OR принимает значение "логическая 1" (т.е. "ИСТИНА" - TRUE).
Функция NOT (логическое отрицание) имеет формат:
NOT(условие).
Эта функция принимает значение "ИСТИНА", если условие не выполняется и наоборот.
В OOo Calc определены еще две логические функции – TRUE() и FALSE(). Они выдают значения соответственно ИСТИНА и ЛОЖЬ.
В ЭТ возможно использование более сложных логических конструкций с использованием вложенных функций IF(), когда IF() используется в качестве аргумента другой функции IF().
Например, сложная функция
=IF(A1<100,"ку-ку",IF(A1=100,"ура",C1))
выполняет следующие действия: если значение в ячейке A1 меньше 100, то выводится текстовое значение "ку-ку". В противном случае проверяется условие вложенной функции IF(). Если значение в ячейке A1 равно 100 выводится текстовое значение "ура", иначе выводится значение из ячейки C1. Toт же результат может быть получен с помощью выражения
=IF(A1<>100,IF(A1<100,"ку-ку",C1),"ура").
При создании сложных логических конструкций, особенно с большим количеством вложенных функций IF(), нередко возникают ошибки, связанные с неправильным синтаксисом логического выражения. При этом вся конструкция воспринимается программой ЭТ как текст. Для проверки конструкции полезно подсчитать число вхождений левых и правых скобок - их количество должно быть одинаковым. Разумным путем является использование ассоциативных массивов (см. следующий раздел) вместо многократно вложенных IF().
В качестве примера использования математических и логических функций рассмотрим задачу о вычислении вещественных корней квадратного уравнения с произвольными коэффициентами. Если дискриминант отрицательный, выведем сообщение "Вещественных корней нет!". Вычислять будем во всех случаях оба корня.
Итак, заданы три коэффициента квадратного уравнения (A, B и C). Перед вычислением корней вычислим предварительно значение дискриминанта D и его будем использовать при формировании формул для вычисления корней. Таблица с данными и с формулами показана на рис. 12 (формулы показаны справа от ячеек, в которых они реально работают). Самостоятельно проверьте варианты с D=0 и D>0.
Рис. 12. Задача о решении квадратного уравнения.