Практическая информатика

Простейшие вычисления

Разбить на страницы
Показывать лекцию целиком

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

Для проведения несложных вычислений используют программы-калькуляторы, имитирующие функции и внешний вид традиционных карманных калькуляторов. Такие программы есть во всех операционных системах (например, КCalc в Linux и Calculator в MS Windows).

Электронные таблицы стали повседневным инструментом в работе экономистов, менеджеров и многих других специалистов. Они позволяют автоматизировать рутинный труд при повторяющихся вычислениях по одним и тем же формулам. Электронные таблицы, как правило, содержат разнообразные функции, необходимые в области делопроизводства, экономике и различных разделах математики, включая статистику. Одним из наиболее известных продуктов среди программ данного типа является Microsoft Excel. Основным ее недостатком является то, что она, так же, как и операционная система Windows, не является свободно распространяемой. Бесплатной альтернативой этой программе может служить программа OpenOffice Calc, ничуть не уступающая ей по функциональным возможностям.

Обе программы позволяют легко осуществлять табличные вычисления, производить анализ, поиск и сортировку информации в базах данных, отображать результаты в виде диаграмм. Они обладают обширным набором финансовых и математических функций и позволяют осуществлять автоматический подбор параметров в сложных расчетах. Отметим еще две программы для работы с электронными таблицами: KSpread, входящую в состав KOffice, и Gnumeric. Обе программы функционируют в ОС Linux. KSpread можно порекомендовать людям только начинающим осваивать навыки работы с электронными таблицами. Gnumeric же обладает значительно большими функциональными возможностями и содержит все необходимые инструменты для работы с таблицами.

Основы логики высказываний

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

Слово логика означает систематический метод рассуждений. Мы познакомимся с одним из разделов этой науки - исчислением высказываний. Исчисление высказываний - совокупность правил, используемых для определения истинности или ложности логических предложений. Логике высказываний можно "научить" вычислительную машину, которая таким образом получает возможность "рассуждать", хотя и на весьма примитивном уровне.

Математик Джордж Буль (1815-1864) описал алгебру, основанную на операторах И, ИЛИ и НЕ и булевых переменных, которые принимают только два значения, например, 0 или 1. Эти значения могут моделироваться наличием или отсутствием тока в электрической цепи, состояниями "Включено" или "Выключено" некоторого переключателя. Далее мы рассмотрим логические предложения, построенные с помощью этих операторов, называемых также логическими связками. Значения таких выражений вычисляются и преобразуются с помощью правил булевой алгебры примерно так же, как числовые выражения преобразуются и упрощаются в обычной арифметике.

Высказывание или предложение - это просто утверждение, которое может быть истинно или ложно. Примерами могут служить следующие утверждения: "Сидорову 20 лет", "Сидоров - студент". Такие высказывания называются атомарными. Примером составного предложения может служить высказывание "Сидорову 20 лет и он студент", которое содержит два отдельных атомарных предложения (атома), каждое из которых может быть истинно или ложно. Если, например, Сидорову 19 лет, то высказывание "Сидорову 20 лет" ложно. Составные и атомарные предложения называются в логике формулами.

В исчислении высказываний не рассматриваются утверждения, имеющие значения, отличные от "истинно" и "ложно". Используется двузначная логика: ответ, отличный от "Да", есть "Нет". Древние философы назвали этот принцип "законом исключенного третьего". Существуют другие логики, правила которых отличаются от правил исчисления высказываний, например, трехзначная логика со значениями "Да", "Нет", "Не знаю" или так называемая нечеткая логика, где можно оперировать утверждениями типа "С вероятностью 90% величина А больше 3".

В таблице приводятся обозначения, используемые для логических связок в различной литературе. Мы в дальнейшем изложении будем использовать обозначения, принятые в большинстве языков программирования. Истинное значение далее будем обозначать символом T (от True - истина), а ложное - F (от False - ложь).

Связка Название Булева алгебра Логика Программирование
И конъюнкция - $$\wedge$$
ИЛИ дизъюнкция + $$\vee$$ ||
НЕ отрицание $$\neg$$ $$\neg$$ !

Составные предложения

Для построения составных предложений чаще всего используются связки - И ( , конъюнкция ) и ИЛИ ( ||, дизъюнкция ). Смысл связки И - тот же, что и в разговорной речи: конъюнкция двух предложений истинна тогда и только тогда, когда они оба истинны. Связка ИЛИ "двойственна" связке И: дизъюнкция двух предложений ложна только если они оба ложны.

Дизъюнкция нескольких предложений ложна тогда, когда все они ложны. Рассмотрим, например, утверждение "Плата за подписку снижена для студентов, лиц моложе 21 года и безработных". Согласно ему, приходится платить полную цену, только если все три исключения нарушены. Аналогичное обобщение верно и для связки И. Конъюнкция нескольких предложений истинна, только если все они истинны.

Кроме И и ИЛИ, имеется еще модификатор НЕ ( !, отрицание ) результат применения которого противоположен его аргументу: !T = F, !F = T. В математической литературе для обозначения отрицания выражения проводят горизонтальную черту над ним.

Значения логических выражений, содержащих связки И, ИЛИ и модификатор НЕ, вычисляются с помощью так называемой таблицы истинности:

A B A B A || B ! A
T T T T F
T F F T F
F T F T T
F F F F T

Последовательность выполнения операций при отсутствии скобок в сложных логических формулах определяется старшинством операций (приоритетом). Наивысший приоритет имеет отрицание, затем следует конъюнкция и, наконец, дизъюнкция.

Пример

Вычислить значение логической формулы !X Y || X Z при следующих значениях переменных: X = F, Y = T, Z = T.

Решение

Отметим цифрами порядок выполнения операций:

1    2    4    3   
! X  Y || X  Z.

Используя таблицу истинности, вычислим формулу по шагам:

  • !F = T;
  • T T = T ;
  • F T = F ;
  • T || F = T.
  • Итак, формула при данных значениях аргументов принимает значение T.

    Задание

    Определите значение логического выражения !(X>Z) !(X=Y), если:

  • X = 3, Y = 5, Z = 2 ;
  • X = 0, Y = 1, Z = 19 ;
  • Законы булевой алгебры

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

    Законы коммутативности А В = B A A || B = B || A
    Законы ассоциативности A (B C) = (A B) C A || (B|| C) = (A || B) || C
    Законы дистрибутивности A (B || C) = (A B) || (A C) A || (B C) = (A || B) (A || C)
    Свойства операций И, ИЛИ A T = A; A F = F A || F = A; A || T = T
    Свойства отрицания A !A = F; A || !A = T

    Закон коммутативности утверждает, что можно переставлять операнды при использовании конъюнкции или дизъюнкции. Это может показаться очевидным, но имеются операторы вроде арифметического минуса, для которых это неверно: A - B отлично от B - A. Закон ассоциативности позволяет расставлять скобки произвольным образом, если в логическом выражении используется лишь одна из связок и ||. В таких случаях можно вообще обойтись без скобок, так как закон ассоциативности гарантирует получение одного и того же результата независимо от того, как сгруппированы предложения.

    Вместе эти пять законов определяют булеву алгебру. Из них можно получить другие полезные законы, например, такие:

    Дополнение !( !A) = A
    Идемпотентность A A = A; A || A = A
    Поглощение A (A || B) = A

    Приведем очень поучительное доказательство закона поглощения (попробуйте найти его сами прежде, чем ознакомиться с решением).

    A (A || B) =
    { свойство операции ИЛИ }
    (A || F) (A || B) =
    { дистрибутивность }
    A || (F B) =
    { коммутативность }
    A || (B F) =
    { свойство операции И }
    A || F =
    { свойство операции ИЛИ }
    A

    Заметим, что большинство законов существует в двух похожих формах. Принцип двойственности гласит, что любая теорема булевой алгебры остается истинной, если в ее формулировке заменить все связки И на ИЛИ, ИЛИ на И, все T на F и все F на T.

    Задания

  • Упростите выражения:
  • !X || !(X || Y) || !(Y !(X Y)) ;
  • !(X || Y || !(X Y)) !(Y ||X).
  • Заданы логические функции:

    F1 = X Y || X Z || !Y Z и F2 = (X Y || Y Z || X !Z) (X !Y || !Y Z).

    Упростите эти функции и проверьте, являются ли они тождествено равными между собой, т. е. совпадающими для всех возможных значений переменных X, Y и Z.

  • Импликация и эквивалентность

    Известно, что любая логическая формула может быть выражена через три ранее рассмотренные логические операции, однако на практике часто используют еще две логические связки. Первая из них называется импликацией и служит для задания так называемых условных высказываний. В русском языке этой логической операции соответствуют фразы если..., то... или когда..., тогда... Импликация - двухместная операция: часть формулы до импликации называют основанием условного высказывания, а часть, расположенную за ней - следствием. В логических формулах импликация обозначается знаком ->. Операция A -> B определяет логическую функцию, тождественно совпадающую с функцией !A || B.

    Пример

    Дано сложное высказывание: "Если выглянет солнце, то станет тепло". Требуется записать его в виде логической формулы. Обозначим через А простое высказывание "выглянет солнце", а через В - "станет тепло". Тогда логической формулой этого сложного высказывания будет импликация: A -> B.

    Другой распространенной операцией является эквивалентность. Ее аналог в разговорной речи - фразы, подобные словосочетанию тогда и только тогда, когда... или если и только если... Для ее обозначения используется символ <-> или просто =. Мы будем использовать для обозначения эквивалентности обе эти формы. Отметим, что логическая формула A <-> B эквивалентна формуле ( A -> B) (B -> A).

    Пример

    Дано сложное высказывание: "В зачетную книжку выставляется оценка за экзамен тогда и только тогда, когда он сдан". Нужно преобразовать высказывание к логической формуле. Обозначим через А простое высказывание "В зачетную книжку выставляется оценка за экзамен", а через В - "Экзамен сдан". Тогда логическая формула сложного высказывания запишется в виде A <-> B.

    Приведем таблицу истинности, задающую операции импликации и эквивалентности:

    A B A -> B A <-> B
    T T T T
    T F F F
    F T T F
    F F T T

    Рассмотренные нами логические операции в порядке убывания приоритетов располагаются так: отрицание, конъюнкция, дизъюнкция, импликация, эквивалентность.

    Преобразование логических выражений

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

    Следующие формулы преобразований дополняют сформулированные выше законы булевой алгебры и позволяют приводить формулы к нормальной форме.

    !( !A) = A.
    !(A B) = !A || !B.
    !(A || B) = !A !B.
    !(A -> B) = A !B.
    A -> B = !A || B.
    A <-> B = (A B) || (!A !B) =( !A || B) (A || !B).

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

    Пример

    Следователь допрашивал четырех гангстеров по делу о похищении автомобиля.

    Джек сказал: "Если Том не угонял автомобиля, то его угнал Боб".

    Боб сказал: "Если Джек не угонял автомобиля, то его угнал Том".

    Фред сказал: "Если Том не угонял автомобиля, то его угнал Джек".

    Том сказал: "Если Боб не угонял автомобиля, то его угнал я".

    Удалось выяснить, что Боб солгал, а Том сказал правду. Правдивы ли показания Джека и Фреда? Кто угнал машину?

    Решение

    Определим следующие простые высказывания:

    А - "машину угнал Боб";

    В - "машину угнал Том";

    С - "машину угнал Джек";

    D - "машину угнал Фред".

    Запишем (и сразу упростим) сложные высказывания, выражающие приведенные факты:

    (1) !B -> A = !( !B) || A = B || A (истинность неизвестна);

    (2) !C -> B = !( !C) || B = C || B = F (высказывание ложно);

    (3) !B -> C = !( !B) || C = B || C = C || B (истинность неизвестна);

    (4) !A -> B = !( !A) || B = A || B = T (высказывание истинно).

    Заметим, что после упрощения высказывание (3) совпало с высказыванием (2), которое ложно. Таким образом, высказывание (3), произнесенное Фредом, также ложно.

    Из ложности высказывания (2) следует ложность каждого дизъюнкта, входящего в него, т. е. C = F и B = F.

    Подставив найденное значение B в высказывание (4) получаем A || B = A || F = T, что возможно лишь если A = T, т. е. машину угнал Боб.

    Рассмотрим высказывание Джека (1): B || A = F || T = T - оно истинно.

    Итак, Джек сказал правду, а Фред соврал. Машину угнал Боб.

    Пример

    Кто из людей A, B, C и D играет, а кто не играет в шахматы, если известно следующее:

  • если А или В играет, то С не играет;
  • если В не играет, то играют С и D ;
  • С играет.
  • Решение

    Определим следующие простые высказывания:

    А - " А играет в шахматы"; В - " В играет в шахматы";

    С - " С играет в шахматы"; D - " D играет в шахматы".

    Запишем сложные высказывания, выражающие известные факты:

  • (A B) -> !C ;
  • !B -> C D ;
  • C
  • Запишем произведение (конъюнкцию) указанных сложных высказываний. Так как все они истинны, то и произведение тоже истинно:

    ((A || B) -> !C) ( !B -> C D) C = T.

    Упростив эту формулу, получим

    !A !B C D = T.

    Отсюда по свойствам конъюнкции получаем, A = F, B = F, C = T, D = T. Значит, в шахматы играют C и D, а A и B - не играют.

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

    Пример

    Упростим логическую формулу !( (A || B) -> !( B || C)).

    Решение

    !( (A || B) -> !( B || C)) = 
    !( !(A || B) || !( B || C)) = 
    !( !(A || B))  !( !( B || C)) = 
    (A || B)  (B || C) = { дистрибутивность операции ИЛИ } 
    (A || B)  B || ( A || B)  C = 
    A  B || B || A  C || B  C = 
    B  (A || T) || C  (A  B) = 
    B || A  C || B  C = 
    B  (T || C) || A  C = B || A  C.

    Задания

  • Упростите следующую логическую формулу и определите ее истинность: (A -> B) (B -> (C || !A)) (!D -> (A !C)) (D -> A).
  • Определите значение формул:

    (( C || B) -> B) ( A B) -> B ;

    (( C || B) -> B) ( A || B) -> B.

  • В нарушении правил обмена валюты подозреваются четыре работника банка - A, B, C и D. Известно следующее:
  • Если A нарушил, то и B нарушил правила обмена валюты.
  • Если B нарушил, то и C нарушил или A не нарушал.
  • Если D не нарушил, то A нарушил, а C не нарушал.
  • Если D нарушил, то и A нарушил.
  • Кто из подозреваемых нарушил правила обмена валюты? Решите задачу с помощью логических операций.

    Алеша, Боря и Гриша нашли в земле старинный сосуд. Рассматривая удивительную находку, каждый высказал по два предположения:
  • Алеша: "Это сосуд греческий и изготовлен в V веке".
  • Боря: "Это сосуд финикийский и изготовлен в III веке".
  • Гриша: "Это сосуд не греческий и изготовлен в IV веке".
  • Знакомый археолог определил, что каждый из них прав только в одном из двух предположений. Где и в каком веке изготовлен сосуд?

    Калькуляторы

    Как уже было сказано выше, программы, имитирующие функции и внешний вид обыкновенных карманных калькуляторов, существуют во всех операционных системах. Все они содержат ряд кнопок для ввода цифр и основных арифметических действий, а также панель, отображающую получаемые результаты. Большинство из них в дополнение к стандартному набору арифметических операций предлагает возможность вычисления элементарных математических функций, таких как логарифмические, степенные и тригонометрические (аргументы последних могут быть выражены как в радианах, так и градусах). Многие позволяют работать с числами в различных системах счисления.

    Следующий рисунок дает представление о внешнем виде типичного представителя программ данного класса - калькуляторе KCalc, хорошо знакомого пользователям ОС Linux.

    Процесс работы на калькуляторе прост и понятен практически без объяснений: после ввода выражения нажатие на кнопку со знаком = (равно) или на клавишу Enter приводит к вычислению результата. Кнопка +/- позволяет изменить знак числа на противоположный. Приоритеты арифметических операций стандартны, например, результатом ввода последовательности символов 3+4*5= будет 23, а не 35. Для изменения порядка вычислений используются круглые скобки. Так, результат ввода выражения (2+3)*(4+5)= эквивалентен вычислению 5*9=, что равно 45.

    Использование дополнительных возможностей, предоставляемых конкретным программным средством, позволяет сделать процесс вычислений более легким и удобным. Далее мы подробнее остановимся на работе с калькулятором KCalc. Отметим, что пользователь может легко настроить внешний вид (шрифты и цвет панелей), а также задать точность вычислений.

    KCalc в своей работе использует стек результатов, что дает возможность обращаться к результатам предыдущих вычислений. Каждый раз, когда пользователь нажимает на клавишу Enter или на клавишу =, результат, отображаемый калькулятором, записывается в стек результатов. Для просмотра этого стека используются клавиатурные клавиши с изображением стрелок вверх и вниз.

    Нажатие на кнопку AC приводит к аннулированию текущего ввода, а кнопка C отменяет последнюю из введенных операций. Кнопки MR, M+ - и MC обеспечивают работу с так называемой "памятью". Первая из них выводит значение, хранящееся в памяти, вторая складывает содержимое памяти с числом, отображаемым на панели, а последняя обнуляет содержимое памяти.

    KCalc позволяет проводить вычисления в следующих системах счисления: шестнадцатеричная (Hex), десятичная (Dec), восьмеричная (Oct) и двоичная (Bin). Для ввода чисел в шестнадцатеричной системе используется дополнительная панель, содержащая буквы латинского алфавита от A до F (обозначающие шестнадцатеричные цифры от 10 до 15). Перевод чисел из одной системы счисления в другую выполняется так: введя число в одной системе, следует изменить основание системы - число отобразится в новой системе счисления.

    Пример

    Пусть требуется перевести число 17 в двоичную систему счисления. Введем указанное число, для чего можно использовать как клавиатуру, так и кнопки на панели калькулятора. Изменив освование системы счисления с помощью переключателя, получим отображение числа в новой системе. Рисунок демонстрирует полученное представление числа в двоичной системе счисления (включена опция Bin ).

    Общие приемы работы с KCalc

    В отличии от большинства других приложений в KCalc реализован очень удобный механизм сохранения информации в буфере обмена. Щелчок левой кнопкой мыши в панели вывода результатов приводит к помещению его содержимого в буфер обмена (без предварительного выделения). Нажатие правой или средней кнопки мыши в этой панели выводит число, помещенное в буфер обмена другим приложением. Следует отметить, что только десятичная точка трактуется как признак последующей дробной части. Если в буфере находится число, у которого запятая отделяет дробную часть от целой, то программа интерпретирует ее как знак препинания, а не математический символ, и дробная часть числа не будет отображена.

    KCalc может работать в двух режимах: статистическом и тригонометрическом. Для переключения между ними используется клавиша F3, либо окно настройки, вызываемое нажатием клавиши F2. При переключении меняется набор функций в левой колонке кнопок калькулятора. Первый режим предоставляет набор основных функций, используемых при статистических вычислениях. Мы не будем останавливаться на них и перейдем к обзору возможностей калькулятора в тригонометрическом режиме. Левый столбец кнопок в этом случае содержит тригонометрические и логарифмические функции. Правый содержит другие часто используемые функции.

    Кроме панели выбора основания KCalc располагает панелью, указывающей, как интерпретировать аргументы тригонометрических функций. Переключатель Deg указывает, что ввод производится в градусной мере углов, а Rad интерпретирует аргумент, как заданный в радианах. Например, при включенном переключателе Deg комбинация клавиш 90 s дает 1 (sin 90o), в то время как при включенном переключателе Rad, комбинация клавиш Inv EE c, как и следовало ожидать, дает 1 ( cos pi ).

    Основное назначение кнопки - ввод чисел в экспоненциальной форме. Например, следует последовательно нажать 2 . 3 +/- EE 4 +/- для ввода числа -2.3E-4, равного -0.00023.

    Для ускорения работы большинство функций может быть вызвано при помощи нажатий клавиш на клавиатуре (вне зависимости от регистра символов). В таблице приведены назначения функций и соответствующие им комбинации клавиш.

    Функция Клавиша Примечание
    Hyp H Переключение калькулятора на ввод гиперболических функций, например, Hyp Sin
    Sin S sin x
    Cos C cos x
    Tan T tg x
    Ln N ln x
    Log L lg x
    Inv I Обратная функция, например, I S для вычисления arcsin x
    +/- \ -x (смена знака)
    x^2 [ x2
    x^y ^ xy
    x! ! Факториал числа
    1/x R Обратная величина

    Пример

    Нажатие комбинации клавиш 7R или 7r приведет к вычислению величины, обратной 7 (т. е. 1/7).

    Для ввода числа $$\pi$$ =3.1415926... следует нажать кнопки Inv и EE. А для числа e (Эйлеровой константы, основания натурального логарифма) нажмите кнопки 1 Inv Ln.

    Кнопка Mod предназначена для нахождения остатка от деления одного числа на другое, например, 22 Mod 8 дает результат, равный 6. Комбинация кнопок Inv Mod позволяет найти целую часть от деления одного числа на другое, скажем, результат вычисления 22 Inv Mod 8 равен 2.

    Кнопка %, нажатая вместо = приводит к различным результатам в зависимости от того, какая операция выполнялась последней, а именно:

  • если вычислялась сумма или разность, то результат выводится в виде процента от последнего аргумента;
  • результат умножения делится на 100;
  • результат деления умножается на 100 (т. е. выводится количество процентов, которое составляет первый аргумент от второго);
  • при возведении в степень выводится первый аргумент, возведенный в степень, равную второму аргументу, деленному на 100;
  • во всех остальных случаях действие этой кнопки идентично нажатию кнопки =.
  • Пример

    Проведем несколько вычислений с использованием операции %.

    Ввод Результат
    11 + 89 % 112.35.. (89 + 11 = 100, а 100 есть 112.35% от 89)
    42 * 3 % 1.26 (42 * 3 / 100)
    45 / 55 % 81.81... (45 есть 81.81.. процентов от 55)
    2 ^ 300 % 8 (2 в степени (300/100))

    Кнопка Lsh ( left shift, сдвиг влево) осуществляет побитовый сдвиг вправо двоичного представления числа. Например, результат вычисления 10 Lsh 3 равен 80, что эквивалентно умножению числа 10 на 2 три раза. Комбинация Inv Lsh (сдвиг вправо) приводит к побитовому сдвигу вправо, например, 16 Inv Lsh 2 даст 4 (16 дважды деленное на 2).

    Кнопки And и Or позволяют выполнять операции логического сложения (дизъюнкция, ИЛИ) и умножения (конъюнкция, И).

    Задания

  • Переведите число 1100001001 из двоичной системы счисления в остальные три.
  • Вычислите следующее выражение (нижним индексом указана система счисления, в которой задается очередное число):

    1112 + 10102 + 228 + 678 + 1016 - 1102

  • Электронные таблицы

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

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

    Электронные таблицы предоставляют пользователю компьютерный вариант так называемой рабочей книги для проведения расчетов. Книга состоит из отдельных именованных листов (таблиц), которые в свою очередь формируются из ячеек, получаемых пересечением строк и столбцов. Столбцы таблицы нумеруются заглавными латинскими буквами (A, B, ..., Z, AA, ..., AZ, ...), а строки - числами. Каждая ячейка имеет уникальный адрес, составленный из имен столбца и строки, например, A1 или D55.

    Перед тем как поместить данные в ту или иную ячейку таблицы, ее следует предварительно выделить (щелчком левой кнопки мыши). При этом ячейка заключается в рамку, содержащую в правом нижнем углу небольшой черный квадратик.

    Ввод данных возможен как в саму ячейку, так и в поле, отображающее содержимое ячейки (строка формул). После ввода следует "закрепить" введенную информацию, нажав на клавишу Enter или кнопку фиксации ввода, расположенную левее строки формул, щелкнув левой кнопкой мыши по изображению галочки. Для отмены ввода воспользуйтесь кнопкой с изображением крестика.

    Подобная техника применяется в большинстве программ, предназначенных для работы с электронными таблицами. Ниже приведены фрагменты таблиц, созданных в программах Gnumeric и OpenOffice Calc.

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

    То же можно сделать и с помощью клавиатуры. Для этого "встаньте" на ячейку, прижмите клавишу Shift и с помощью клавиш управления курсором выделите желаемый блок данных.

    Можно выделить не только блок ячеек, но и целые строки или столбцы. Чтобы выделить столбец, надо щелкнуть мышкой по его названию, а чтобы выделить несколько столбцов надо нажать на левую кнопку мыши в момент, когда ее указатель находится на названии столбца, и потянуть мышь в нужном направлении. Когда столбцы будут выделены, отпустите кнопку мыши. Аналогичная техника применяется и при выделении строк.

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

    Ячейка может содержать текстовую или числовую информацию, а также формулу, по которой производится вычисление. Запись формулы начинается с символа = (равно). Любая информация, которая не может быть истолкована как формула или число, считается текстом. Следует быть внимательным при вводе дробных чисел. Во многих странах для отделения дробной части используется символ . (точка), в то время как в России - символ , (запятая). Локализованные программы обычно учитывают национальные особенности представления чисел. По умолчанию числа в ячейках электронной таблицы "прижимаются" к правому краю ячейки, в то время как текст - к левому. Введя в одну ячейку текст, а в другую дробное число, вы по выравниванию содержимого ячеек сумеете понять, какой символ используется в данной версии программы для отделения дробной части.

    Как правило, формулы, используемые в электронных таблицах, содержат ссылки на информацию, размещенную в других ячейках. Например, если ячейка содержит формулу =A1+B1, то в ней будет отображаться сумма значений, расположенных в ячейках A1 и B1, причем при изменении данных в этих ячейках сумма автоматически пересчитается. Электронные таблицы позволяют использовать большинство математических, статистических и финансовых функций. Копирование формул из одной ячейки в другие при помощи мыши позволяет значительно ускорить процесс подготовки таблицы, содержащей однотипные формулы. Для этого нужно выделить ячейку с формулой, подвести курсор к правому нижнему углу ячейки и, нажав левую кнопку мыши, переместиться в нужном направлении. Так, если формулу =A1+B1 копировать в нижележащую ячейку, то она автоматически преобразуется в формулу =A2+B2. Программы, изменяя адреса в формулах, пытаются не изменить их смысл.

    При указании адреса той или иной ячейки используют либо относительную, либо абсолютную адресацию. Если в формуле задан относительный адрес ячейки, то при копировании формула будет автоматически изменена, при этом адреса ячеек заменятся на новые (как в вышеприведенном примере). При абсолютной адресации соответствующая часть адреса будет "заморожена", то есть не будет изменена при копировании. Признаком абсолютной адресации является символ $ перед номером столбца или (и) строки, например, $A$1, B$5, $C16.

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

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

    Далее будет рассмотрено несколько программ, предоставляющих возможность работы с электронными таблицами: KSpread и Gnumeric, функционирующие в ОС Linux, и OpenOffice Calc - электронная таблица, входящая в состав свободно распространяемого офисного пакета OpenOffice фирмы Sun Microsistems, доступного пользователям не только ОС Linux, но и MS Windows. Как интерфейс программы, так и функциональные возможности OpenOffice Calc практически неотличимы от интерфейса и возможностей коммерческого пакета MS Excel.

    Среди рассматриваемых программ самой простой является KSpread. Gnumeric предоставляет пользователю возможность удобной работы с несколькими листами рабочей книги и большой набор математических и статистических функций. Программа OpenOffice Calc удовлетворит запросы любого профессионального пользователя электронных таблиц.

    KSpread

    Начнем знакомство с электронными таблицами с программы KSpread, входящей в состав офисного приложения KDE (ОС Linux). Запуск этой программы осуществляется либо через меню KDE: Офис/KSpread, либо командой kspread. При старте появляется окно программы, отображающее лист рабочей книги. Если программа была запущена без указания имени файла с данными, то создается новая рабочая книга, содержащая только один лист, к которому при необходимости легко добавляется любое требуемое количество листов.

    Цифрами на рисунке обозначены:

  • текущая рабочая таблица;
  • выделенная (активная) ячейка;
  • поле, содержащее адрес активной ячейки;
  • поле, отображающее содержимое текущей ячейки;
  • панель переключения между листами;
  • меню программы;
  • панель работы с файлами;
  • панель редактирования таблицы;
  • панель выбора шрифтов;
  • панель форматирования ячейки;
  • панель математических символов (может отсутствовать);
  • панель выбора функций;
  • панель изменения цвета, обрамления и группировки ячеек.
  • При подведении курсора к кнопкам панели появляется всплывающая надпись, поясняющая назначение данной кнопки. В левой части каждой панели находится кнопка с изображением трех вертикальных полос. Она служит для перемещения и временного скрытия панели. При нажатии на нее панель сворачивается, превращаясь в кнопку с изображением двух горизонтальных черточек, и перемещается непосредственно под меню.

    Редактирование

    Как уже отмечалось, данные, размещаемые в ячейке, могут быть одного из трех видов:

    числа целые или десятичные дроби; для отделения дробной части используется запятая, точка используется для визуального выделения тысяч, миллионов и т. д.
    формула начинается с символа =; далее следуют ссылки на другие ячейки (их адреса), функции, арифметические выражения
    текст все, что не является числами или формулами

    Если при вводе данных произошла ошибка, то ее можно исправить, воспользовавшись "откаткой". "Откатить" изменения можно, если нажать комбинацию клавиш Ctrl+z или в меню Правка выбрать первую команду.

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

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

    Для этого можно использовать различные пункты меню Формат или контекстное меню, вызываемое нажатием на правую кнопку мыши. При выборе пункта Свойства ячейки появляется одноименное окно, содержащее несколько вкладок, позволяющих задать вид ячейки и ее содержимого.

    Kspread позволяет размещать содержимое ячейки под различными углами. Для этого на вкладке Положение указывается значение угла поворота в градусах. Эта операция доступна и через пункт Изменить угол... меню Формат. Следующий рисунок демонстрирует панели форматирования и окно изменения угла.

    Для вставки (Insert) или удаления (Delete) столбца/строки следует, выделив столбец/строку, в контекстном меню выбрать соответствующий пункт. Панель редактирования таблицы также содержит четыре кнопки, позволяющие выполнить указанные операции. Добавление строки (столбца) происходит перед выделенной, что приводит к изменению имени выбранной строки или столбца. При этом при вставке или удалении ячеек, не задействованных в формулах, происходит корректное автоматическое изменение формул.

    Если адреса удаляемых ячеек присутствуют в каких-либо формулах, то смысл полученных формул будет утерян и они потребуют внимательного редактирования.

    Каждая ячейка KSpread кроме основной информации может содержать комментарии (примечания). Добавить их можно либо воспользовавшись пунктом Комментарии из меню Вставить, либо при помощи соответствующего пункта контекстного меню. На наличие примечания в ячейке указывает маленький красный треугольник в правом верхнем углу.

    Большинство электронных таблиц умеет выполнять функции автоматического продолжения ряда. Если вы введете несколько первых членов ряда (достаточно 2-3), выделите их, а затем, нажав на квадратик в правом нижнем углу выделения, протяните его в нужную сторону, то ряд автоматически будет продолжен. Кроме этого в меню Вставить KSpread имеет пункт Ряд..., который позволяет задать характеристики продолжения ряда.

    KSpread позволяет сохранить электронную таблицу в нескольких форматах. Для сохранения файла на диске из меню Файл выберите пункт Сохранить как, после чего в раскрывающемся списке Фильтр выберите требуемый формат. Начиная с версии 1.1.1 KSpread поддерживает формат HTML и формат таблиц Gnumeric.

    Для того чтобы начать редактирование ранее созданной электронной таблицы, нужно выбрать пункт Открыть, в появившемся окне выбрать требуемый файл. По умолчанию KSpread показывает в окошке выбора только файлы имеющие расширение ksp. Если нужно выбрать файл, имеющий другое расширение, то нужно изменить значение поля Фильтр. Среди прочих KSpread поддерживает форматы таблиц Gnumeric и MS Excel.

    Редактор формул

    Электронные таблицы предназначены не только для хранения данных, но и для расчетов, поэтому в них существует возможность вычислений с использованием формул.

    Формула - это последовательность значений, ссылок на ячейки, имен, функций или операторов, которые содержатся в ячейке и возвращают новое значение на основе существующих. Формула всегда начинается со знака равенства (=).

    Как правило, в формулах участвуют данные из других ячеек таблицы. Рассмотрим технику ввода формул, содержащих ссылки на другие ячейки. Предположим, что нам требуется в ячейке C1 разместить произведение чисел, находящихся в ячейках A1 и B1. Тогда, после ввода знака равенства, следует щелкнуть по ячейке A1 (в строке отображения формул появится ее адрес), ввести знак умножения и щелкнуть по ячейке B1, после чего зафиксировать ввод. Теперь в ячейке C1 будет отображаться произведение чисел, находящихся в ячейках A1 и B1, причем оно будет автоматически пересчитываться при изменении содержимого этих ячеек.

    Очень полезно овладеть приемом копирования формул. Если планируется расположить новую формулу рядом с уже существующей, то достаточно выделить формулу, предназначенную для копирования, и, аналогично приему автопродолжения, протянуть выделение в нужную сторону. Формулы будут автоматически подправлены в соответствии с направлением копирования. Предположим, что требуется скопировать описанную выше формулу из ячейки C1 в ячейку C2. Тогда, после копирования, формула будет изменена на = A2*B2.

    Если требуется скопировать формулу в место, которое не находится непосредственно рядом с существующей формулой, то следует пользоваться контекстным меню. Выделив ячейку с формулой, выберите из контекстного меню пункт Копировать, a затем, переместившись в нужное место, - пункт Вставить.

    Иногда требуется, чтобы при копировании формулы часть ссылок на другие ячейки не изменялась автоматически, а оставалась бы неизменной. Так, например, при пересчете денежных сумм из одной валюты в другую, ссылка на ячейку с обменным курсом не должна изменяться. В этом случае используется так называемая абсолютная адресация: если перед именем строки или (и) столбца стоит символ $, то эта часть формулы не будет изменяться при копировании (будет "заморожена"). К сожалению, в KSpread не предусмотрена автоматизация процесса изменения ссылок с относительных на абсолютные: символы $ приходится вставлять вручную.

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

    KSpread дает возможность использовать большое количество (около 80 в версии 1.0 и около 140 в версии 1.1.1) разнообразных функций. Зная имя функции, можно ввести его и аргументы либо прямо в ячейку, либо в строку формул.

    Редактор формул, вызываемый нажатием на кнопку с надписью f(x) на панели инструментов, позволяет не держать в памяти имена разнообразных функций, а выбирать их из соответствующего раздела. Рассмотрим порядок задания формулы с помощью этого редактора.

    Выбор соответствующего раздела приводит к отображению в левой части окна списка функций из данной категории. Если выделить одну из функций, то вкладка Помощь в правой части окна отобразит описание данной функции. После того, как пользователь убедится, что выбрана именно нужная функция, следует нажать кнопку с изображением стрелки в нижней части окна. При этом имя функции будет скопировано в поле редактирования формулы, а подсказка будет заменена на вкладку Править, предоставляющую возможность ввода аргументов выбранной функции. Если аргументом является содержимое какой-либо ячейки, то для ввода ее адреса достаточно щелкнуть кнопкой мыши по требуемой ячейки и адрес автоматически будет добавлен в формулу.

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

    Пример

    Вычислим факториалы последовательных натуральных чисел для того, чтобы посмотреть, как KSpread работает с большими числами.

    Сначала в столбце A с помощью автопродолжения разместим числа от 1 до 15. Затем введем формулу в ячейку B1. Для этого, встав на нее, вызовем редактор формул. В разделе аналитических функций выберем функцию fact, после чего приступим к ее редактированию.

    Щелчок по ячейке A1 приводит к появлению ее полного адреса (Лист1!A1) в поле ввода аргумента. Удалив из формулы часть, содержащую имя таблицы, нажмем кнопку OK. Окно редактора закроется, а формула отобразится в ячейке и строке формул. Зафиксируем ее, после чего скопируем в нижележащие ячейки. Измените ширину столбца B так, чтобы в ячейке B15 могло свободно отобразиться полученное число.

    Как видим, KSpread может оперировать достаточно большими числами. Напомним, что точка автоматически размещается при отображении больших чисел, отделяя тысячи, миллионы, и т. д.

    Среди множества других функций отметим три функции: currentTime (текущее время), currentDate (дата) и функцию currentDateTime (дата и время). Информация, отображаемая в ячейке, не обновляeтся автоматически, поэтому используйте клавишу F9 для принудительного пересчета таблицы.

    Задание

    Создайте таблицу, аналогичную приведенной ниже. В комментарии к ячейке, содержащий курс евро, укажите свои фамилию и имя. Сохраните ее в формате KSpread и в формате таблиц GNUmeric.

    Gnumeric

    По сравнению с KSpread программа Gnumeric предоставляет больше возможностей для работы с документами, особенно содержащими сложные расчетные таблицы. Запуск данного приложения осуществляется командой gnumeric. При старте появляется окно программы, отображающее одну из таблиц рабочей книги. Если программа была запущена без указания имени файла с данными, то создается новая пустая рабочая книга, содержащая по умолчанию только один лист (таблицу). С помощью контекстного меню можно скопировать текущую таблицу в новую, удалить таблицу или изменить ее имя.

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

    Для того чтобы открыть созданную ранее таблицу следует воспользоваться пунктом Открыть из меню Файл или нажать клавишу F3. Gnumeric позволяет импортировать данные из электронных таблиц, подготовленными некоторыми другими средствами, например, программой Excel. Для импорта данных служит одноименный пункт из меню Файл.

    После работы с таблицей ее можно сохранить либо с помощью меню, либо нажатием комбинации клавиш Ctrl+S. Можно также воспользоваться кнопкой с изображением дискеты на панели инструментов.

    Gnumeric позволяет изменять масштаб отображаемой таблицы. Для этого следует воспользоваться либо пунктом Масштаб из меню Вид, либо раскрывающимся списком на панели инструментов (по умолчанию масштаб равен 100%).

    Для преобразования относительной ссылки в абсолютную используется клавиша F4: достаточно в строке редактирования формул установить курсор около соответствующей ссылки, после чего нажатие на клавишу F4 циклически изменяет вид ссылки, например, B2 -> $B$2 -> B$2 -> $B2 -> B2. Нажатие на клавишу F9 приводит к принудительному пересчету значений.

    Форматирование

    Программа Gnumeric обладает всеми стандартными средствами форматирования ячеек: изменение цвета текста и фона ячейки, размера и начертания шрифта и т. д. Можно центрировать текст относительно выделенных ячеек или разрывать текст на несколько строк внутри одной ячейки. Для форматирования следует использовать меню Формат или контекстное меню. Выбор в них подпункта Формат ячеек или нажатие комбинации клавиш Ctrl+1 приводит к открытию одноименного окна, содержащего ряд вкладок со всеми необходимыми инструментами. На панели объектов, расположенной левее таблицы, имеется набор инструментов для создания простейших рисунков: овалов, прямоугольников, линий и стрелок. Пункт Автоформатирование из меню Формат позволяет быстро оформить таблицу в одном из стандартных стилей.

    Gnumeric позволяет отображать формулы в ячейках таблицы вместо их значений. Для переключения в этот режим следует в меню Формат выбрать пункт Лист, после чего отметить опцию Показать формулы. Как и большинство других распространенных операций это действие имеет клавиатурный эквивалент - комбинацию клавиш Ctrl и ` (обратный апостроф).

    При форматировании ячейки или группы ячеек можно наложить на их содержимое дополнительные ограничения. Например, для таблицы, приведенной выше, не имеют смысла отрицательные данные в столбце D. Используя вкладку Проверка можно задать условия и действия, предпринимаемые в случае нарушения заданных условий.

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

    Селектор функций Gnumeric

    Электронные таблицы Gnumeric обладают очень большим набором встроенных функций, позволяющих проводить статистические, финансовые, инженерные и другие расчеты. Удобным инструментом для их выбора является вкладка Селектор функций, вызываемая кнопкой на панели инструментов с надписью f(x).

    В левой части этой вкладки находится список, содержащий название категорий. При выборе категории в правой части окна отображается список функций данной категории. Выбор функции приводит к появлению в нижней части вкладки ее описания. Нажатие на кнопку OK закрывает вкладку Селектор функций и открывает окно Помощника по формулам, содержащее описание выбранной функции и поля для ввода аргументов (если таковые имеются). При заполнении полей формы их содержимое автоматически переносится как в соответствующую ячейку таблицы, так и в строку отображения формул.

    Рассмотрим несколько примеров использования стандартных формул, доступных в Gnumeric.

    Пример

    Ниже представлена функция для получения случайного числа. При каждом пересчете таблицы (клавиша F9 ) в ячейке будет появляться новое значение. При копировании формулы в разных ячейках будут выведены различные случайные числа.

    Пример

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

    Эта функция находится в категории логических функций. В поле Значение1 нужно задать условие, являющееся неким логическим выражением, в поле Значение2 указать, что должно отображаться в случае истинности условия, а в поле Значение3 - результат, размещаемый в ячейке в случае ложности условия.

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

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

    Задание

    В таблице, приведенной ниже, в ячейку B9 введена формула, согласно которой слово "Скидка" появляется лишь в том случае, когда стоимость покупки превышает 15 евро. Считая, что размер скидки равен 5%, добавьте к таблице следующие формулы: в ячейке F9 при наличии скидки должен быть указан ее размер в евро, а при отсутствии - пустая ячейка; в ячейке F10 следует разместить сумму к оплате с учетом скидки.

    OpenOffice Calc

    Электронные таблицы OpenOffice Calc обладают на данный момент наибольшими возможностями среди всех свободно распространяемых программ подобного класса. Эта программа является частью проекта OpenOffice, целью которого является предоставить пользователю аналог коммерческого продукта Microsoft Office, и практически неотличима от MS Excel по функциональности. Подробная встроенная документация и удобная система справки позволяют пользователю быстро освоить все особенности работы с данным программным продуктом.

    Запуск OpenOffice Calc осуществляется командой soffice. После старта программы в меню Файл следует выбрать пункт Открыть, если вы собираетесь редактировать уже существующий файл, или в пункте Создать выбрать опцию Документ электронной таблицы. Рабочая книга по умолчанию содержит 3 листа, но если количество листов в книге или их название вас не устраивает, то вы можете легко добавить, удалить или переименовать их. Двойной щелчок в области заголовков листов книги приводит к появлению меню, позволяющему выполнить указанные операции.

    Контекстные меню программы, которые появляются при нажатии правой кнопки мыши, связаны с определенными объектами программы, такими как ячейки таблицы, заголовки строк, столбцов или листов и т. д. Процесс ввода, редактирования данных, создания формул в программе OpenOffice Calc практически идентичен процессу работы с уже рассмотренными электронными таблицами.

    Так же как и обе ранее рассмотренные программы, OpenOffice Calc может размешать в ячейках своих таблиц числа (используя запятую для отделения дробной части), формулы и текст. К каждой ячейке может быть добавлен комментарий (меню Вставка, пункт Примечания ), который автоматически отображается при подведении курсора к ячейке (если в меню Справка включена опция Подсказка ). О наличии комментария свидетельствует небольшой красный квадратик в верхнем правом углу ячейки. В контекстном меню можно отметить пункт Показать примечания для постоянного их отображения. Щелчок в поле комментария позволяет приступить к его редактированию.

    Форматирование данных и ячеек

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

    Для того чтобы приступить к форматированию ячейки или ячеек их следует выделить, затем с помощью пункта Ячейка... из меню Формат или пункта Формат ячеек контекстного меню открыть окно Атрибуты ячейки, которое содержит вкладки, позволяющие задать параметры форматирования. На вкладке Числа можно выбрать формат числа. С помощью вкладки Шрифт можно установить тип, размер и цвет шрифта.

    Рассмотрим несколько поподробнее вкладку Выравнивание. Она предназначена для управления выравниванием содержимого ячейки. Кроме того, здесь устанавливается расстояние от линий сетки и направление письма. Переключатели По горизонтали и По вертикали позволяют задать выравнивание содержимого ячейки в горизонтальном и вертикальном направлении.

    Если переключатель По горизонтали установлен в режим Стандарт, то используются стандартные правила выравнивания: числа выравниваются по правому краю, а текст - по левому.

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

    Если указана опция Разрыв строки, то будет разрешен автоматический разрыв строки на краю ячейки. Отметим, что нажатие комбинации клавиш Ctrl+Enter в любом месте текста также приведет к разрыву строки.

    При помощи команды Объединить ячейки -> Задать из меню Формат можно объединить предварительно выделенные ячейки. Результат в дальнейшем ничем не отличается от других ячеек. Для обратного действия выделите ячейку и выберите пункт Снять в том же меню.

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

    Рассмотрим пример создания и использования стиля ячейки. Нажатием на клавишу F11 вызовите инструмент Стилист. Введите в одну из ячеек таблицы текст, а в другую число. Выделив число, дважды щелкните на элементе "Результат" в окне стилей и число будет отформатировано. Теперь давайте создадим новый стиль. Отформатируйте текст, например, жирным размером 20 пунктов синим шрифтом на желтом фоне. Щелкните в Стилисте на кнопке Создать стиль из выбранного и в появившимся окне введите имя для стиля, например, "Формат заголовка", после чего нажмите на кнопку ОК - новый стиль будет добавлен с списку ранее существовавших.

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

    OpenOffice Calc позволяет применять стили ячеек как в ручном режиме, так и автоматически - в зависимости от определенных условий. Если вы хотите особым образом выделить некоторые данные в таблице, например, все значения выше среднего выделить зеленым цветом, а значения ниже среднего - красным, то желаемого результата довольно просто достичь при помощи условного форматирования. Есть две возможности связать автоматическое присвоение формата ячейки с некоторыми условиями.

    Первая из них - присвоение формата формулой. Функция СТИЛЬ может быть добавлена к существующей формуле в ячейке. Таким образом, вместе с функцией ТЕКУЩ вы можете задать, например, цвет ячейки в зависимости от значения. Использование формулы =...+СТИЛЬ( ЕСЛИ( ТЕКУЩ() >3 ; "красный"; "зеленый")) вызывает окрашивание ячейки в красный цвет, если значение больше 3, и назначает стиль с именем "зеленый" в ином случае (разумеется, если указанные стили определены).

    Другая возможность - использование условного формата. При помощи пункта Условное форматирование из меню Формат в диалоге допускается задание до трех условий, которые должны быть выполнены, чтобы ячейка или группа выделенных ячеек получила определенный формат. При изменении данных стили форматирования будут изменяться автоматически.

    Пример

    Сначала создадим таблицу, содержащую случайные числа. Для задания случайного числа в диапазоне от 0 до 1 используется функция =СЛЧИС(). Мы для большей наглядности будем использовать целые числа от 0 до 50. Введите в левую верхнюю ячейку выбранной области формулу =ЦЕЛОЕ(СЛЧИС()*50).

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

    Теперь зададим два стиля ячеек: стиль для всех значений, превышающих среднее и для тех, которые меньше среднего. Окно Стили ячеек должно быть видимым. Щелкните на пустой ячейке, вызовите контекстное меню и выберите Формат ячеек. Задайте формат ячейки и сохраните его под именем "Выше". Для создания второго стиля, снова щелкните на пустой ячейке и повторите описанные действия. Отформатируйте ячейку и назовите этот стиль "Ниже".

    Для того чтобы сформулировать условие, по которому определенные значения таблицы должны форматироваться по-разному, сначала вычислим среднее значение всех случайных чисел в таблице. В свободную ячейку введем функцию =СРЗНАЧ(). Поместите курсор между скобками и мышью выделите все случайные числа, затем зафиксируйте полученную формулу.

    Для применения к выделенным ячейкам условного форматирования вызовите команду Условное форматирование из меню Формат. В появившимся диалоговом окне задайте два условия: (1) если значение ячейки меньше или равняется среднему значению - форматировать стилем "Ниже", и (2) если значение больше среднего - стилем "Выше".

    Теперь при изменении данных таблицы автоматически будет изменяться и форматирование (для принудительного изменения случайных чисел следует воспользоваться клавишей F9).

    Формулы

    При задании формул наряду с основными арифметическими операциями, OpenOffice Calc предоставляет множество специальных функций, которые можно ввести в интерактивном режиме при помощи Автопилота функций. OpenOffice Calc поддерживает, в частности, многие статистические методы: от регрессионных расчетов до доверительных интервалов. Особенно интересна возможность изменять отдельные параметры в вычислениях, зависящих от многих факторов, и прослеживать, как это влияет на результат. Это так называемые расчеты "что было бы, если". Например, при расчете кредита путем простого изменения периода, процентной ставки или сумм выплаты можно сразу же увидеть, как изменяются остальные факторы.

    Как и все другие средства работы с электронными таблицами, OpenOffice Calc позволяет использовать относительные и абсолютные ссылки. Перед каждым значением, которое должно использоваться как абсолютное, ставится знак доллара $. Для превращения текущей ссылки, в которой находится курсор в строке ввода, из относительной в абсолютную и наоборот, следует использовать комбинацию клавиш Shift+F4.

    Практически все функции (за исключением математических и некоторых статистических) в программе OpenOffice Calc локализованы, т. е. используют русскоязычные имена. К таковым относятся и все функции из раздела ДатаВремя (однако функция ПАСХАЛЬНОЕВОСКРЕСЕНЬЕ() определяет дату католической, а не православной Пасхи).

    Для ввода функций в ячейку можно воспользоваться мастером функций. Выберите ячейку, в которую надо ввести функцию, и нажмите кнопку , которая находится на панели инструментов, или выберите команду Функция... из меню Вставка. Перед вами появится окно Автопилот функций, в котором надо выделить функцию и нажать кнопку Далее>> или OK, после чего появится окно ввода аргументов выбранной функции. Функцию можно вводить не только с помощью мастера функций, но и вручную, если вы помните, как она называется и сколько у нее параметров.

    Для задания суммы чисел, находящихся в столбце или строке следует использовать кнопку . В ячейке появится формула вида =СУММ(...). Программа пытается догадаться, каков интервал суммирования. Если вас не устраивает предложенный диапазон, то выделите левой кнопкой мыши требуемую область ячеек так, чтобы вокруг нее появилась красная рамка. То же самое можно сделать и вручную, указав диапазон ячеек в строке формул. Отметим, что пустые ячейки при суммировании трактуются как содержащие нулевые значения.

    Познакомимся поподробнее с функцией ДАТА, обеспечивающей ввод дат в электронную таблицу. OpenOffice Calc хранит такие данные в виде чисел, но отображает в ячейке в формате даты, выравнивая их (аналогично числам) по правому краю. Конечно, можно отформатировать ячейку, содержащую дату, и в числовом формате. Синтаксис функции - ДАТА ( Год ; Месяц ; День ). Год - целое число от 1600 до 3000, при вводе от 0 до 29 добавляется 2000, а при вводе числа от 30 до 99 - 1900. Месяц - число от 1 до 12, задающее номер месяца. День - число от 1 до 31, которое устанавливает день месяца. Когда значения месяца и дня больше допустимых, они пересчитываются на следующую позицию (год, месяц) с переполнением. Формула =ДАТА(00;12;31) дает 31.12.2000, а при вводе =ДАТА(00;13;31) получится дата 31.01.2001.

    В программе OpenOffice Calc можно просто ввести даты в формате "месяц.число.год" (без указания кавычек, иначе ввод будет интерпретирован как текст), например, "5.17.2" для 17 мая 2002 года. В этом случае любой ввод со значениями, выходящими за границы допустимых, трактуется не как дата, а как текст. Функция ТДАТА() возвращает дату и время в соответствии с системным временем компьютера, которые обновляются при каждом пересчете документа.

    Пример

    Вычислим количество дней, часов, минут и секунд, прошедших с 0 часов некоторой даты. Откройте новый документ электронной таблицы и введите в ячейку B1 дату, например, "1.17.84". В ячейку B3 введите формулу =ТДАТА()-A1, которая по умолчанию отформатируется как дата. Поскольку нам нужно получить разницу между двумя датами в виде числа дней, то необходимо отформатировать ячейку B3 как целое число. Введите остальные формулы: в B4 =B3*24 для часов, в B5 =B4*60 для минут и в B6 =B5*60 для секунд.

    Если все выполнено правильно, то время, прошедшее с указанного момента, вычислено и отображено в различных единицах. При этом значение, выраженное в секундах, относится к тому моменту времени, когда была зафиксирована формула в ячейке B6. Нажмите на клавишу F9 (для принудительного пересчета таблицы) и не отпускайте ее - вы увидите как изменяется вывод.

    Для отображения формул, примененных при этих вычислениях, в столбец D помещена функция ФОРМУЛА(), аргументом которой является адрес соответствующей ячейки.

    При создании сложных таблиц удобно использовать именованные ячейки. Если нужно составить, к примеру, формулу для вычисления НДС, то она будет более понятной в виде "= Сумма * Размер_налога", чем в форме "= A5 * B12", где ячейка A5 содержит данные о сумме, а ячейка B12 - о размере налога.

    Для того чтобы задать имя области (ячейки), необходимо эту область сначала выделить и с помощью пункта Имена - Задать меню Вставка (или при помощи комбинации клавиш Ctrl+F3 ) вызвать диалоговое окно Присвоить имя. Имя должно начинаться с буквы, отличаться от стандартных имен ячеек и не может содержать пробелов. После ввода имени следует нажать кнопку Добавить. В этом же диалоге можно задать имена других областей, введя сначала имя, а затем выделив ячейки листа, которые должны получить это имя. В нем можно присвоить имена даже часто используемым формулам или элементам формул.

    Мощным инструментом при работе с электронными таблицами является подбор параметра. С помощью этого инструмента можно узнать значение, которое при подстановке в формулу дает желаемый результат. Для того чтобы воспользоваться подбором параметра нужно иметь формулу с несколькими постоянными значениями и одним переменным. Лучше всего можно объяснить подбор параметра на примере.

    Для вычисления годовых процентов создайте небольшую таблицу, в которой из значений капитала (Капитал), количества лет (Количество_лет) и процентной ставки (Ставка) получается результат - сумма процентов за год (Процент). Формула для вычисления результата имеет вид

    Процент = Капитал * Количество_лет * Ставка / 100

    Ячейкам лучше всего дать имена, чтобы формула имела осмысленный вид. В примере сначала вычисляется, какова будет сумма процентов при вложенном капитале 150 000 р. и процентной ставке 7,5% за год.

    Теперь, считая, что процентная ставка (7,5%) и количество лет (1) не изменяются, определим, какого размера должен быть капитал, чтобы давать определенные годовые проценты, скажем, 15 000 р. Выделите ячейку Проценты и выберите в меню Сервис пункт Подбор параметра. Появится одноименное окно, в поле Ячейка формул которого уже указана нужная ячейка.

    Поместите курсор в поле диалога изменяемая ячейка. В таблице выделите ячейку, значение которой изменяется, т. е. B2. В текстовом поле Конечное значение диалога введите желаемый результат формулы и нажмите кнопку OK. Если параметр был успешно подобран, то отобразится результат, который можно занести в таблицу.

    Диаграммы

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

    Для представления данных в виде диаграммы их следует предварительно выделить (вместе с заголовками, если таковые имеются), после чего из меню Вставка выбрать пункт Диаграмма. В открывшимся окне Автоформат диаграммы нужно выполнить ряд действий, позволяющий выбрать тип диаграммы, указать расположение рядов данных, задать заголовок диаграммы, наименование осей и т. д. Если требуется вставить диаграмму в документ, состоящий из нескольких таблиц, то можно установить, в какую таблицу должна быть вставлена диаграмма. После заполнения нужных полей нажмите на клавишу Готово и диаграмма будет размещена на листе.

    Заметим, что при составлении диаграмм допускается многократное выделение, т. е. выделенные данные не обязаны располагаться в таблице в виде непрерывной области. Многократное выделение осуществляется при нажатой клавише Ctrl. Если вы используете многократное выделение, то убедитесь, что этот набор разрозненных ячеек целесообразно использовать для составления диаграммы.

    Пример

    Подготовим данные для диаграммы, используя следующее многократное выделение.

    Автоматически составляется диаграмма для января, марта, апреля и мая для офиса 1. Рассмотрите другое многократное выделение.

    Оно не является корректно сочетаемой областью и составленная диаграмма будет малоинформативной. Посмотрите на более сочетаемое многократное выделение и соответствующую диаграмму.

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

    Курсор, попадая в выделенную таким образом область, приобретает вид крестика. Нажатие на левую кнопку мыши позволяет перемещать выделенный объект. Для удаления выделенного объекта выберите из контекстного меню пункт Вырезать.

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

    Если вы поместили диаграмму на задний план электронной таблицы, то выделить ее просто щелчком мыши уже не удастся.

    Откройте панель Функции рисования и выберите инструмент Выделение. Теперь щелчком выделите диаграмму.

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

    Тип диаграммы можно изменить в любой момент. В диалоге, который появится благодаря выделению диаграммы и вызову команды Формат - Тип диаграммы, представлены различные типы диаграмм.

    Просмотрите в этом диалоге все типы диаграмм: двумерные (2-М) и трехмерные (3-М). В 3-М-диаграммах можно настроить направление освещения, окружающий свет и цветовой фильтр. Такие диаграммы можно вращать и наклонять при помощи мыши.

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

    Одна из них - цилиндрическая с глубиной, являющаяся разновидностью 3-М гистограммы. Для лучшего обзора она была немного повернута. Другая является обычной круговой 3-М диаграммой. Оставшиеся две относятся к виду 2-М диаграмм: линия с символами, полученными из Галереи, и гистограмма, используящая различные заливки и фон.

    Задания

  • Создайте таблицу, аналогичную приведенной далее. Для получения данных по месяцам используйте случайные числа в диапазоне от 30 до 50. Показатели за квартал и год должны представлять суммарные результаты по соответствующим месяцам.

    Вычислите средний объем продаж по кварталам и году по каждому офису и фирме в целом.

  • Используя условное форматирование, выделите серым фоном и рамкой те показатели второго квартала, которые ниже среднего значения по соответствующему офису за 1 квартал. Так будут отмечены плохо работающие подразделения.

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

  • Составьте диаграммы, аналогичные приведенным, и отображающие долю каждого офиса в годовом объеме продаж и средние значения по кварталам по всей фирме в целом.
  • Страницы:

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

    Для проведения несложных вычислений используют программы-калькуляторы, имитирующие функции и внешний вид традиционных карманных калькуляторов. Такие программы есть во всех операционных системах (например, КCalc в Linux и Calculator в MS Windows).

    Электронные таблицы стали повседневным инструментом в работе экономистов, менеджеров и многих других специалистов. Они позволяют автоматизировать рутинный труд при повторяющихся вычислениях по одним и тем же формулам. Электронные таблицы, как правило, содержат разнообразные функции, необходимые в области делопроизводства, экономике и различных разделах математики, включая статистику. Одним из наиболее известных продуктов среди программ данного типа является Microsoft Excel. Основным ее недостатком является то, что она, так же, как и операционная система Windows, не является свободно распространяемой. Бесплатной альтернативой этой программе может служить программа OpenOffice Calc, ничуть не уступающая ей по функциональным возможностям.

    Обе программы позволяют легко осуществлять табличные вычисления, производить анализ, поиск и сортировку информации в базах данных, отображать результаты в виде диаграмм. Они обладают обширным набором финансовых и математических функций и позволяют осуществлять автоматический подбор параметров в сложных расчетах. Отметим еще две программы для работы с электронными таблицами: KSpread, входящую в состав KOffice, и Gnumeric. Обе программы функционируют в ОС Linux. KSpread можно порекомендовать людям только начинающим осваивать навыки работы с электронными таблицами. Gnumeric же обладает значительно большими функциональными возможностями и содержит все необходимые инструменты для работы с таблицами.

    Основы логики высказываний

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

    Слово логика означает систематический метод рассуждений. Мы познакомимся с одним из разделов этой науки - исчислением высказываний. Исчисление высказываний - совокупность правил, используемых для определения истинности или ложности логических предложений. Логике высказываний можно "научить" вычислительную машину, которая таким образом получает возможность "рассуждать", хотя и на весьма примитивном уровне.

    Математик Джордж Буль (1815-1864) описал алгебру, основанную на операторах И, ИЛИ и НЕ и булевых переменных, которые принимают только два значения, например, 0 или 1. Эти значения могут моделироваться наличием или отсутствием тока в электрической цепи, состояниями "Включено" или "Выключено" некоторого переключателя. Далее мы рассмотрим логические предложения, построенные с помощью этих операторов, называемых также логическими связками. Значения таких выражений вычисляются и преобразуются с помощью правил булевой алгебры примерно так же, как числовые выражения преобразуются и упрощаются в обычной арифметике.

    Высказывание или предложение - это просто утверждение, которое может быть истинно или ложно. Примерами могут служить следующие утверждения: "Сидорову 20 лет", "Сидоров - студент". Такие высказывания называются атомарными. Примером составного предложения может служить высказывание "Сидорову 20 лет и он студент", которое содержит два отдельных атомарных предложения (атома), каждое из которых может быть истинно или ложно. Если, например, Сидорову 19 лет, то высказывание "Сидорову 20 лет" ложно. Составные и атомарные предложения называются в логике формулами.

    В исчислении высказываний не рассматриваются утверждения, имеющие значения, отличные от "истинно" и "ложно". Используется двузначная логика: ответ, отличный от "Да", есть "Нет". Древние философы назвали этот принцип "законом исключенного третьего". Существуют другие логики, правила которых отличаются от правил исчисления высказываний, например, трехзначная логика со значениями "Да", "Нет", "Не знаю" или так называемая нечеткая логика, где можно оперировать утверждениями типа "С вероятностью 90% величина А больше 3".

    В таблице приводятся обозначения, используемые для логических связок в различной литературе. Мы в дальнейшем изложении будем использовать обозначения, принятые в большинстве языков программирования. Истинное значение далее будем обозначать символом T (от True - истина), а ложное - F (от False - ложь).

    Связка Название Булева алгебра Логика Программирование
    И конъюнкция - $$\wedge$$
    ИЛИ дизъюнкция + $$\vee$$ ||
    НЕ отрицание $$\neg$$ $$\neg$$ !

    Составные предложения

    Для построения составных предложений чаще всего используются связки - И ( , конъюнкция ) и ИЛИ ( ||, дизъюнкция ). Смысл связки И - тот же, что и в разговорной речи: конъюнкция двух предложений истинна тогда и только тогда, когда они оба истинны. Связка ИЛИ "двойственна" связке И: дизъюнкция двух предложений ложна только если они оба ложны.

    Дизъюнкция нескольких предложений ложна тогда, когда все они ложны. Рассмотрим, например, утверждение "Плата за подписку снижена для студентов, лиц моложе 21 года и безработных". Согласно ему, приходится платить полную цену, только если все три исключения нарушены. Аналогичное обобщение верно и для связки И. Конъюнкция нескольких предложений истинна, только если все они истинны.

    Кроме И и ИЛИ, имеется еще модификатор НЕ ( !, отрицание ) результат применения которого противоположен его аргументу: !T = F, !F = T. В математической литературе для обозначения отрицания выражения проводят горизонтальную черту над ним.

    Значения логических выражений, содержащих связки И, ИЛИ и модификатор НЕ, вычисляются с помощью так называемой таблицы истинности:

    A B A B A || B ! A
    T T T T F
    T F F T F
    F T F T T
    F F F F T

    Последовательность выполнения операций при отсутствии скобок в сложных логических формулах определяется старшинством операций (приоритетом). Наивысший приоритет имеет отрицание, затем следует конъюнкция и, наконец, дизъюнкция.

    Пример

    Вычислить значение логической формулы !X Y || X Z при следующих значениях переменных: X = F, Y = T, Z = T.

    Решение

    Отметим цифрами порядок выполнения операций:

    1    2    4    3   
    ! X  Y || X  Z.

    Используя таблицу истинности, вычислим формулу по шагам:

  • !F = T;
  • T T = T ;
  • F T = F ;
  • T || F = T.
  • Итак, формула при данных значениях аргументов принимает значение T.

    Задание

    Определите значение логического выражения !(X>Z) !(X=Y), если:

  • X = 3, Y = 5, Z = 2 ;
  • X = 0, Y = 1, Z = 19 ;
  • Законы булевой алгебры

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

    Законы коммутативности А В = B A A || B = B || A
    Законы ассоциативности A (B C) = (A B) C A || (B|| C) = (A || B) || C
    Законы дистрибутивности A (B || C) = (A B) || (A C) A || (B C) = (A || B) (A || C)
    Свойства операций И, ИЛИ A T = A; A F = F A || F = A; A || T = T
    Свойства отрицания A !A = F; A || !A = T

    Закон коммутативности утверждает, что можно переставлять операнды при использовании конъюнкции или дизъюнкции. Это может показаться очевидным, но имеются операторы вроде арифметического минуса, для которых это неверно: A - B отлично от B - A. Закон ассоциативности позволяет расставлять скобки произвольным образом, если в логическом выражении используется лишь одна из связок и ||. В таких случаях можно вообще обойтись без скобок, так как закон ассоциативности гарантирует получение одного и того же результата независимо от того, как сгруппированы предложения.

    Вместе эти пять законов определяют булеву алгебру. Из них можно получить другие полезные законы, например, такие:

    Дополнение !( !A) = A
    Идемпотентность A A = A; A || A = A
    Поглощение A (A || B) = A

    Приведем очень поучительное доказательство закона поглощения (попробуйте найти его сами прежде, чем ознакомиться с решением).

    A (A || B) =
    { свойство операции ИЛИ }
    (A || F) (A || B) =
    { дистрибутивность }
    A || (F B) =
    { коммутативность }
    A || (B F) =
    { свойство операции И }
    A || F =
    { свойство операции ИЛИ }
    A

    Заметим, что большинство законов существует в двух похожих формах. Принцип двойственности гласит, что любая теорема булевой алгебры остается истинной, если в ее формулировке заменить все связки И на ИЛИ, ИЛИ на И, все T на F и все F на T.

    Задания

  • Упростите выражения:
  • !X || !(X || Y) || !(Y !(X Y)) ;
  • !(X || Y || !(X Y)) !(Y ||X).
  • Заданы логические функции:

    F1 = X Y || X Z || !Y Z и F2 = (X Y || Y Z || X !Z) (X !Y || !Y Z).

    Упростите эти функции и проверьте, являются ли они тождествено равными между собой, т. е. совпадающими для всех возможных значений переменных X, Y и Z.

  • Импликация и эквивалентность

    Известно, что любая логическая формула может быть выражена через три ранее рассмотренные логические операции, однако на практике часто используют еще две логические связки. Первая из них называется импликацией и служит для задания так называемых условных высказываний. В русском языке этой логической операции соответствуют фразы если..., то... или когда..., тогда... Импликация - двухместная операция: часть формулы до импликации называют основанием условного высказывания, а часть, расположенную за ней - следствием. В логических формулах импликация обозначается знаком ->. Операция A -> B определяет логическую функцию, тождественно совпадающую с функцией !A || B.

    Пример

    Дано сложное высказывание: "Если выглянет солнце, то станет тепло". Требуется записать его в виде логической формулы. Обозначим через А простое высказывание "выглянет солнце", а через В - "станет тепло". Тогда логической формулой этого сложного высказывания будет импликация: A -> B.

    Другой распространенной операцией является эквивалентность. Ее аналог в разговорной речи - фразы, подобные словосочетанию тогда и только тогда, когда... или если и только если... Для ее обозначения используется символ <-> или просто =. Мы будем использовать для обозначения эквивалентности обе эти формы. Отметим, что логическая формула A <-> B эквивалентна формуле ( A -> B) (B -> A).

    Пример

    Дано сложное высказывание: "В зачетную книжку выставляется оценка за экзамен тогда и только тогда, когда он сдан". Нужно преобразовать высказывание к логической формуле. Обозначим через А простое высказывание "В зачетную книжку выставляется оценка за экзамен", а через В - "Экзамен сдан". Тогда логическая формула сложного высказывания запишется в виде A <-> B.

    Приведем таблицу истинности, задающую операции импликации и эквивалентности:

    A B A -> B A <-> B
    T T T T
    T F F F
    F T T F
    F F T T

    Рассмотренные нами логические операции в порядке убывания приоритетов располагаются так: отрицание, конъюнкция, дизъюнкция, импликация, эквивалентность.

    Преобразование логических выражений

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

    Следующие формулы преобразований дополняют сформулированные выше законы булевой алгебры и позволяют приводить формулы к нормальной форме.

    !( !A) = A.
    !(A B) = !A || !B.
    !(A || B) = !A !B.
    !(A -> B) = A !B.
    A -> B = !A || B.
    A <-> B = (A B) || (!A !B) =( !A || B) (A || !B).

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

    Пример

    Следователь допрашивал четырех гангстеров по делу о похищении автомобиля.

    Джек сказал: "Если Том не угонял автомобиля, то его угнал Боб".

    Боб сказал: "Если Джек не угонял автомобиля, то его угнал Том".

    Фред сказал: "Если Том не угонял автомобиля, то его угнал Джек".

    Том сказал: "Если Боб не угонял автомобиля, то его угнал я".

    Удалось выяснить, что Боб солгал, а Том сказал правду. Правдивы ли показания Джека и Фреда? Кто угнал машину?

    Решение

    Определим следующие простые высказывания:

    А - "машину угнал Боб";

    В - "машину угнал Том";

    С - "машину угнал Джек";

    D - "машину угнал Фред".

    Запишем (и сразу упростим) сложные высказывания, выражающие приведенные факты:

    (1) !B -> A = !( !B) || A = B || A (истинность неизвестна);

    (2) !C -> B = !( !C) || B = C || B = F (высказывание ложно);

    (3) !B -> C = !( !B) || C = B || C = C || B (истинность неизвестна);

    (4) !A -> B = !( !A) || B = A || B = T (высказывание истинно).

    Заметим, что после упрощения высказывание (3) совпало с высказыванием (2), которое ложно. Таким образом, высказывание (3), произнесенное Фредом, также ложно.

    Из ложности высказывания (2) следует ложность каждого дизъюнкта, входящего в него, т. е. C = F и B = F.

    Подставив найденное значение B в высказывание (4) получаем A || B = A || F = T, что возможно лишь если A = T, т. е. машину угнал Боб.

    Рассмотрим высказывание Джека (1): B || A = F || T = T - оно истинно.

    Итак, Джек сказал правду, а Фред соврал. Машину угнал Боб.

    Пример

    Кто из людей A, B, C и D играет, а кто не играет в шахматы, если известно следующее:

  • если А или В играет, то С не играет;
  • если В не играет, то играют С и D ;
  • С играет.
  • Решение

    Определим следующие простые высказывания:

    А - " А играет в шахматы"; В - " В играет в шахматы";

    С - " С играет в шахматы"; D - " D играет в шахматы".

    Запишем сложные высказывания, выражающие известные факты:

  • (A B) -> !C ;
  • !B -> C D ;
  • C
  • Запишем произведение (конъюнкцию) указанных сложных высказываний. Так как все они истинны, то и произведение тоже истинно:

    ((A || B) -> !C) ( !B -> C D) C = T.

    Упростив эту формулу, получим

    !A !B C D = T.

    Отсюда по свойствам конъюнкции получаем, A = F, B = F, C = T, D = T. Значит, в шахматы играют C и D, а A и B - не играют.

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

    Пример

    Упростим логическую формулу !( (A || B) -> !( B || C)).

    Решение

    !( (A || B) -> !( B || C)) = 
    !( !(A || B) || !( B || C)) = 
    !( !(A || B))  !( !( B || C)) = 
    (A || B)  (B || C) = { дистрибутивность операции ИЛИ } 
    (A || B)  B || ( A || B)  C = 
    A  B || B || A  C || B  C = 
    B  (A || T) || C  (A  B) = 
    B || A  C || B  C = 
    B  (T || C) || A  C = B || A  C.

    Задания

  • Упростите следующую логическую формулу и определите ее истинность: (A -> B) (B -> (C || !A)) (!D -> (A !C)) (D -> A).
  • Определите значение формул:

    (( C || B) -> B) ( A B) -> B ;

    (( C || B) -> B) ( A || B) -> B.

  • В нарушении правил обмена валюты подозреваются четыре работника банка - A, B, C и D. Известно следующее:
  • Если A нарушил, то и B нарушил правила обмена валюты.
  • Если B нарушил, то и C нарушил или A не нарушал.
  • Если D не нарушил, то A нарушил, а C не нарушал.
  • Если D нарушил, то и A нарушил.
  • Кто из подозреваемых нарушил правила обмена валюты? Решите задачу с помощью логических операций.

    Алеша, Боря и Гриша нашли в земле старинный сосуд. Рассматривая удивительную находку, каждый высказал по два предположения:
  • Алеша: "Это сосуд греческий и изготовлен в V веке".
  • Боря: "Это сосуд финикийский и изготовлен в III веке".
  • Гриша: "Это сосуд не греческий и изготовлен в IV веке".
  • Знакомый археолог определил, что каждый из них прав только в одном из двух предположений. Где и в каком веке изготовлен сосуд?

    Калькуляторы

    Как уже было сказано выше, программы, имитирующие функции и внешний вид обыкновенных карманных калькуляторов, существуют во всех операционных системах. Все они содержат ряд кнопок для ввода цифр и основных арифметических действий, а также панель, отображающую получаемые результаты. Большинство из них в дополнение к стандартному набору арифметических операций предлагает возможность вычисления элементарных математических функций, таких как логарифмические, степенные и тригонометрические (аргументы последних могут быть выражены как в радианах, так и градусах). Многие позволяют работать с числами в различных системах счисления.

    Следующий рисунок дает представление о внешнем виде типичного представителя программ данного класса - калькуляторе KCalc, хорошо знакомого пользователям ОС Linux.

    Процесс работы на калькуляторе прост и понятен практически без объяснений: после ввода выражения нажатие на кнопку со знаком = (равно) или на клавишу Enter приводит к вычислению результата. Кнопка +/- позволяет изменить знак числа на противоположный. Приоритеты арифметических операций стандартны, например, результатом ввода последовательности символов 3+4*5= будет 23, а не 35. Для изменения порядка вычислений используются круглые скобки. Так, результат ввода выражения (2+3)*(4+5)= эквивалентен вычислению 5*9=, что равно 45.

    Использование дополнительных возможностей, предоставляемых конкретным программным средством, позволяет сделать процесс вычислений более легким и удобным. Далее мы подробнее остановимся на работе с калькулятором KCalc. Отметим, что пользователь может легко настроить внешний вид (шрифты и цвет панелей), а также задать точность вычислений.

    KCalc в своей работе использует стек результатов, что дает возможность обращаться к результатам предыдущих вычислений. Каждый раз, когда пользователь нажимает на клавишу Enter или на клавишу =, результат, отображаемый калькулятором, записывается в стек результатов. Для просмотра этого стека используются клавиатурные клавиши с изображением стрелок вверх и вниз.

    Нажатие на кнопку AC приводит к аннулированию текущего ввода, а кнопка C отменяет последнюю из введенных операций. Кнопки MR, M+ - и MC обеспечивают работу с так называемой "памятью". Первая из них выводит значение, хранящееся в памяти, вторая складывает содержимое памяти с числом, отображаемым на панели, а последняя обнуляет содержимое памяти.

    KCalc позволяет проводить вычисления в следующих системах счисления: шестнадцатеричная (Hex), десятичная (Dec), восьмеричная (Oct) и двоичная (Bin). Для ввода чисел в шестнадцатеричной системе используется дополнительная панель, содержащая буквы латинского алфавита от A до F (обозначающие шестнадцатеричные цифры от 10 до 15). Перевод чисел из одной системы счисления в другую выполняется так: введя число в одной системе, следует изменить основание системы - число отобразится в новой системе счисления.

    Пример

    Пусть требуется перевести число 17 в двоичную систему счисления. Введем указанное число, для чего можно использовать как клавиатуру, так и кнопки на панели калькулятора. Изменив освование системы счисления с помощью переключателя, получим отображение числа в новой системе. Рисунок демонстрирует полученное представление числа в двоичной системе счисления (включена опция Bin ).

    Общие приемы работы с KCalc

    В отличии от большинства других приложений в KCalc реализован очень удобный механизм сохранения информации в буфере обмена. Щелчок левой кнопкой мыши в панели вывода результатов приводит к помещению его содержимого в буфер обмена (без предварительного выделения). Нажатие правой или средней кнопки мыши в этой панели выводит число, помещенное в буфер обмена другим приложением. Следует отметить, что только десятичная точка трактуется как признак последующей дробной части. Если в буфере находится число, у которого запятая отделяет дробную часть от целой, то программа интерпретирует ее как знак препинания, а не математический символ, и дробная часть числа не будет отображена.

    KCalc может работать в двух режимах: статистическом и тригонометрическом. Для переключения между ними используется клавиша F3, либо окно настройки, вызываемое нажатием клавиши F2. При переключении меняется набор функций в левой колонке кнопок калькулятора. Первый режим предоставляет набор основных функций, используемых при статистических вычислениях. Мы не будем останавливаться на них и перейдем к обзору возможностей калькулятора в тригонометрическом режиме. Левый столбец кнопок в этом случае содержит тригонометрические и логарифмические функции. Правый содержит другие часто используемые функции.

    Кроме панели выбора основания KCalc располагает панелью, указывающей, как интерпретировать аргументы тригонометрических функций. Переключатель Deg указывает, что ввод производится в градусной мере углов, а Rad интерпретирует аргумент, как заданный в радианах. Например, при включенном переключателе Deg комбинация клавиш 90 s дает 1 (sin 90o), в то время как при включенном переключателе Rad, комбинация клавиш Inv EE c, как и следовало ожидать, дает 1 ( cos pi ).

    Основное назначение кнопки - ввод чисел в экспоненциальной форме. Например, следует последовательно нажать 2 . 3 +/- EE 4 +/- для ввода числа -2.3E-4, равного -0.00023.

    Для ускорения работы большинство функций может быть вызвано при помощи нажатий клавиш на клавиатуре (вне зависимости от регистра символов). В таблице приведены назначения функций и соответствующие им комбинации клавиш.

    Функция Клавиша Примечание
    Hyp H Переключение калькулятора на ввод гиперболических функций, например, Hyp Sin
    Sin S sin x
    Cos C cos x
    Tan T tg x
    Ln N ln x
    Log L lg x
    Inv I Обратная функция, например, I S для вычисления arcsin x
    +/- \ -x (смена знака)
    x^2 [ x2
    x^y ^ xy
    x! ! Факториал числа
    1/x R Обратная величина

    Пример

    Нажатие комбинации клавиш 7R или 7r приведет к вычислению величины, обратной 7 (т. е. 1/7).

    Для ввода числа $$\pi$$ =3.1415926... следует нажать кнопки Inv и EE. А для числа e (Эйлеровой константы, основания натурального логарифма) нажмите кнопки 1 Inv Ln.

    Кнопка Mod предназначена для нахождения остатка от деления одного числа на другое, например, 22 Mod 8 дает результат, равный 6. Комбинация кнопок Inv Mod позволяет найти целую часть от деления одного числа на другое, скажем, результат вычисления 22 Inv Mod 8 равен 2.

    Кнопка %, нажатая вместо = приводит к различным результатам в зависимости от того, какая операция выполнялась последней, а именно:

  • если вычислялась сумма или разность, то результат выводится в виде процента от последнего аргумента;
  • результат умножения делится на 100;
  • результат деления умножается на 100 (т. е. выводится количество процентов, которое составляет первый аргумент от второго);
  • при возведении в степень выводится первый аргумент, возведенный в степень, равную второму аргументу, деленному на 100;
  • во всех остальных случаях действие этой кнопки идентично нажатию кнопки =.
  • Пример

    Проведем несколько вычислений с использованием операции %.

    Ввод Результат
    11 + 89 % 112.35.. (89 + 11 = 100, а 100 есть 112.35% от 89)
    42 * 3 % 1.26 (42 * 3 / 100)
    45 / 55 % 81.81... (45 есть 81.81.. процентов от 55)
    2 ^ 300 % 8 (2 в степени (300/100))

    Кнопка Lsh ( left shift, сдвиг влево) осуществляет побитовый сдвиг вправо двоичного представления числа. Например, результат вычисления 10 Lsh 3 равен 80, что эквивалентно умножению числа 10 на 2 три раза. Комбинация Inv Lsh (сдвиг вправо) приводит к побитовому сдвигу вправо, например, 16 Inv Lsh 2 даст 4 (16 дважды деленное на 2).

    Кнопки And и Or позволяют выполнять операции логического сложения (дизъюнкция, ИЛИ) и умножения (конъюнкция, И).

    Задания

  • Переведите число 1100001001 из двоичной системы счисления в остальные три.
  • Вычислите следующее выражение (нижним индексом указана система счисления, в которой задается очередное число):

    1112 + 10102 + 228 + 678 + 1016 - 1102

  • Электронные таблицы

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

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

    Электронные таблицы предоставляют пользователю компьютерный вариант так называемой рабочей книги для проведения расчетов. Книга состоит из отдельных именованных листов (таблиц), которые в свою очередь формируются из ячеек, получаемых пересечением строк и столбцов. Столбцы таблицы нумеруются заглавными латинскими буквами (A, B, ..., Z, AA, ..., AZ, ...), а строки - числами. Каждая ячейка имеет уникальный адрес, составленный из имен столбца и строки, например, A1 или D55.

    Перед тем как поместить данные в ту или иную ячейку таблицы, ее следует предварительно выделить (щелчком левой кнопки мыши). При этом ячейка заключается в рамку, содержащую в правом нижнем углу небольшой черный квадратик.

    Ввод данных возможен как в саму ячейку, так и в поле, отображающее содержимое ячейки (строка формул). После ввода следует "закрепить" введенную информацию, нажав на клавишу Enter или кнопку фиксации ввода, расположенную левее строки формул, щелкнув левой кнопкой мыши по изображению галочки. Для отмены ввода воспользуйтесь кнопкой с изображением крестика.

    Подобная техника применяется в большинстве программ, предназначенных для работы с электронными таблицами. Ниже приведены фрагменты таблиц, созданных в программах Gnumeric и OpenOffice Calc.

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

    То же можно сделать и с помощью клавиатуры. Для этого "встаньте" на ячейку, прижмите клавишу Shift и с помощью клавиш управления курсором выделите желаемый блок данных.

    Можно выделить не только блок ячеек, но и целые строки или столбцы. Чтобы выделить столбец, надо щелкнуть мышкой по его названию, а чтобы выделить несколько столбцов надо нажать на левую кнопку мыши в момент, когда ее указатель находится на названии столбца, и потянуть мышь в нужном направлении. Когда столбцы будут выделены, отпустите кнопку мыши. Аналогичная техника применяется и при выделении строк.

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

    Ячейка может содержать текстовую или числовую информацию, а также формулу, по которой производится вычисление. Запись формулы начинается с символа = (равно). Любая информация, которая не может быть истолкована как формула или число, считается текстом. Следует быть внимательным при вводе дробных чисел. Во многих странах для отделения дробной части используется символ . (точка), в то время как в России - символ , (запятая). Локализованные программы обычно учитывают национальные особенности представления чисел. По умолчанию числа в ячейках электронной таблицы "прижимаются" к правому краю ячейки, в то время как текст - к левому. Введя в одну ячейку текст, а в другую дробное число, вы по выравниванию содержимого ячеек сумеете понять, какой символ используется в данной версии программы для отделения дробной части.

    Как правило, формулы, используемые в электронных таблицах, содержат ссылки на информацию, размещенную в других ячейках. Например, если ячейка содержит формулу =A1+B1, то в ней будет отображаться сумма значений, расположенных в ячейках A1 и B1, причем при изменении данных в этих ячейках сумма автоматически пересчитается. Электронные таблицы позволяют использовать большинство математических, статистических и финансовых функций. Копирование формул из одной ячейки в другие при помощи мыши позволяет значительно ускорить процесс подготовки таблицы, содержащей однотипные формулы. Для этого нужно выделить ячейку с формулой, подвести курсор к правому нижнему углу ячейки и, нажав левую кнопку мыши, переместиться в нужном направлении. Так, если формулу =A1+B1 копировать в нижележащую ячейку, то она автоматически преобразуется в формулу =A2+B2. Программы, изменяя адреса в формулах, пытаются не изменить их смысл.

    При указании адреса той или иной ячейки используют либо относительную, либо абсолютную адресацию. Если в формуле задан относительный адрес ячейки, то при копировании формула будет автоматически изменена, при этом адреса ячеек заменятся на новые (как в вышеприведенном примере). При абсолютной адресации соответствующая часть адреса будет "заморожена", то есть не будет изменена при копировании. Признаком абсолютной адресации является символ $ перед номером столбца или (и) строки, например, $A$1, B$5, $C16.

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

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

    Далее будет рассмотрено несколько программ, предоставляющих возможность работы с электронными таблицами: KSpread и Gnumeric, функционирующие в ОС Linux, и OpenOffice Calc - электронная таблица, входящая в состав свободно распространяемого офисного пакета OpenOffice фирмы Sun Microsistems, доступного пользователям не только ОС Linux, но и MS Windows. Как интерфейс программы, так и функциональные возможности OpenOffice Calc практически неотличимы от интерфейса и возможностей коммерческого пакета MS Excel.

    Среди рассматриваемых программ самой простой является KSpread. Gnumeric предоставляет пользователю возможность удобной работы с несколькими листами рабочей книги и большой набор математических и статистических функций. Программа OpenOffice Calc удовлетворит запросы любого профессионального пользователя электронных таблиц.

    KSpread

    Начнем знакомство с электронными таблицами с программы KSpread, входящей в состав офисного приложения KDE (ОС Linux). Запуск этой программы осуществляется либо через меню KDE: Офис/KSpread, либо командой kspread. При старте появляется окно программы, отображающее лист рабочей книги. Если программа была запущена без указания имени файла с данными, то создается новая рабочая книга, содержащая только один лист, к которому при необходимости легко добавляется любое требуемое количество листов.

    Цифрами на рисунке обозначены:

  • текущая рабочая таблица;
  • выделенная (активная) ячейка;
  • поле, содержащее адрес активной ячейки;
  • поле, отображающее содержимое текущей ячейки;
  • панель переключения между листами;
  • меню программы;
  • панель работы с файлами;
  • панель редактирования таблицы;
  • панель выбора шрифтов;
  • панель форматирования ячейки;
  • панель математических символов (может отсутствовать);
  • панель выбора функций;
  • панель изменения цвета, обрамления и группировки ячеек.
  • При подведении курсора к кнопкам панели появляется всплывающая надпись, поясняющая назначение данной кнопки. В левой части каждой панели находится кнопка с изображением трех вертикальных полос. Она служит для перемещения и временного скрытия панели. При нажатии на нее панель сворачивается, превращаясь в кнопку с изображением двух горизонтальных черточек, и перемещается непосредственно под меню.

    Редактирование

    Как уже отмечалось, данные, размещаемые в ячейке, могут быть одного из трех видов:

    числа целые или десятичные дроби; для отделения дробной части используется запятая, точка используется для визуального выделения тысяч, миллионов и т. д.
    формула начинается с символа =; далее следуют ссылки на другие ячейки (их адреса), функции, арифметические выражения
    текст все, что не является числами или формулами

    Если при вводе данных произошла ошибка, то ее можно исправить, воспользовавшись "откаткой". "Откатить" изменения можно, если нажать комбинацию клавиш Ctrl+z или в меню Правка выбрать первую команду.

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

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

    Для этого можно использовать различные пункты меню Формат или контекстное меню, вызываемое нажатием на правую кнопку мыши. При выборе пункта Свойства ячейки появляется одноименное окно, содержащее несколько вкладок, позволяющих задать вид ячейки и ее содержимого.

    Kspread позволяет размещать содержимое ячейки под различными углами. Для этого на вкладке Положение указывается значение угла поворота в градусах. Эта операция доступна и через пункт Изменить угол... меню Формат. Следующий рисунок демонстрирует панели форматирования и окно изменения угла.

    Для вставки (Insert) или удаления (Delete) столбца/строки следует, выделив столбец/строку, в контекстном меню выбрать соответствующий пункт. Панель редактирования таблицы также содержит четыре кнопки, позволяющие выполнить указанные операции. Добавление строки (столбца) происходит перед выделенной, что приводит к изменению имени выбранной строки или столбца. При этом при вставке или удалении ячеек, не задействованных в формулах, происходит корректное автоматическое изменение формул.

    Если адреса удаляемых ячеек присутствуют в каких-либо формулах, то смысл полученных формул будет утерян и они потребуют внимательного редактирования.

    Каждая ячейка KSpread кроме основной информации может содержать комментарии (примечания). Добавить их можно либо воспользовавшись пунктом Комментарии из меню Вставить, либо при помощи соответствующего пункта контекстного меню. На наличие примечания в ячейке указывает маленький красный треугольник в правом верхнем углу.

    Большинство электронных таблиц умеет выполнять функции автоматического продолжения ряда. Если вы введете несколько первых членов ряда (достаточно 2-3), выделите их, а затем, нажав на квадратик в правом нижнем углу выделения, протяните его в нужную сторону, то ряд автоматически будет продолжен. Кроме этого в меню Вставить KSpread имеет пункт Ряд..., который позволяет задать характеристики продолжения ряда.

    KSpread позволяет сохранить электронную таблицу в нескольких форматах. Для сохранения файла на диске из меню Файл выберите пункт Сохранить как, после чего в раскрывающемся списке Фильтр выберите требуемый формат. Начиная с версии 1.1.1 KSpread поддерживает формат HTML и формат таблиц Gnumeric.

    Для того чтобы начать редактирование ранее созданной электронной таблицы, нужно выбрать пункт Открыть, в появившемся окне выбрать требуемый файл. По умолчанию KSpread показывает в окошке выбора только файлы имеющие расширение ksp. Если нужно выбрать файл, имеющий другое расширение, то нужно изменить значение поля Фильтр. Среди прочих KSpread поддерживает форматы таблиц Gnumeric и MS Excel.

    Редактор формул

    Электронные таблицы предназначены не только для хранения данных, но и для расчетов, поэтому в них существует возможность вычислений с использованием формул.

    Формула - это последовательность значений, ссылок на ячейки, имен, функций или операторов, которые содержатся в ячейке и возвращают новое значение на основе существующих. Формула всегда начинается со знака равенства (=).

    Как правило, в формулах участвуют данные из других ячеек таблицы. Рассмотрим технику ввода формул, содержащих ссылки на другие ячейки. Предположим, что нам требуется в ячейке C1 разместить произведение чисел, находящихся в ячейках A1 и B1. Тогда, после ввода знака равенства, следует щелкнуть по ячейке A1 (в строке отображения формул появится ее адрес), ввести знак умножения и щелкнуть по ячейке B1, после чего зафиксировать ввод. Теперь в ячейке C1 будет отображаться произведение чисел, находящихся в ячейках A1 и B1, причем оно будет автоматически пересчитываться при изменении содержимого этих ячеек.

    Очень полезно овладеть приемом копирования формул. Если планируется расположить новую формулу рядом с уже существующей, то достаточно выделить формулу, предназначенную для копирования, и, аналогично приему автопродолжения, протянуть выделение в нужную сторону. Формулы будут автоматически подправлены в соответствии с направлением копирования. Предположим, что требуется скопировать описанную выше формулу из ячейки C1 в ячейку C2. Тогда, после копирования, формула будет изменена на = A2*B2.

    Если требуется скопировать формулу в место, которое не находится непосредственно рядом с существующей формулой, то следует пользоваться контекстным меню. Выделив ячейку с формулой, выберите из контекстного меню пункт Копировать, a затем, переместившись в нужное место, - пункт Вставить.

    Иногда требуется, чтобы при копировании формулы часть ссылок на другие ячейки не изменялась автоматически, а оставалась бы неизменной. Так, например, при пересчете денежных сумм из одной валюты в другую, ссылка на ячейку с обменным курсом не должна изменяться. В этом случае используется так называемая абсолютная адресация: если перед именем строки или (и) столбца стоит символ $, то эта часть формулы не будет изменяться при копировании (будет "заморожена"). К сожалению, в KSpread не предусмотрена автоматизация процесса изменения ссылок с относительных на абсолютные: символы $ приходится вставлять вручную.

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

    KSpread дает возможность использовать большое количество (около 80 в версии 1.0 и около 140 в версии 1.1.1) разнообразных функций. Зная имя функции, можно ввести его и аргументы либо прямо в ячейку, либо в строку формул.

    Редактор формул, вызываемый нажатием на кнопку с надписью f(x) на панели инструментов, позволяет не держать в памяти имена разнообразных функций, а выбирать их из соответствующего раздела. Рассмотрим порядок задания формулы с помощью этого редактора.

    Выбор соответствующего раздела приводит к отображению в левой части окна списка функций из данной категории. Если выделить одну из функций, то вкладка Помощь в правой части окна отобразит описание данной функции. После того, как пользователь убедится, что выбрана именно нужная функция, следует нажать кнопку с изображением стрелки в нижней части окна. При этом имя функции будет скопировано в поле редактирования формулы, а подсказка будет заменена на вкладку Править, предоставляющую возможность ввода аргументов выбранной функции. Если аргументом является содержимое какой-либо ячейки, то для ввода ее адреса достаточно щелкнуть кнопкой мыши по требуемой ячейки и адрес автоматически будет добавлен в формулу.

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

    Пример

    Вычислим факториалы последовательных натуральных чисел для того, чтобы посмотреть, как KSpread работает с большими числами.

    Сначала в столбце A с помощью автопродолжения разместим числа от 1 до 15. Затем введем формулу в ячейку B1. Для этого, встав на нее, вызовем редактор формул. В разделе аналитических функций выберем функцию fact, после чего приступим к ее редактированию.

    Щелчок по ячейке A1 приводит к появлению ее полного адреса (Лист1!A1) в поле ввода аргумента. Удалив из формулы часть, содержащую имя таблицы, нажмем кнопку OK. Окно редактора закроется, а формула отобразится в ячейке и строке формул. Зафиксируем ее, после чего скопируем в нижележащие ячейки. Измените ширину столбца B так, чтобы в ячейке B15 могло свободно отобразиться полученное число.

    Как видим, KSpread может оперировать достаточно большими числами. Напомним, что точка автоматически размещается при отображении больших чисел, отделяя тысячи, миллионы, и т. д.

    Среди множества других функций отметим три функции: currentTime (текущее время), currentDate (дата) и функцию currentDateTime (дата и время). Информация, отображаемая в ячейке, не обновляeтся автоматически, поэтому используйте клавишу F9 для принудительного пересчета таблицы.

    Задание

    Создайте таблицу, аналогичную приведенной ниже. В комментарии к ячейке, содержащий курс евро, укажите свои фамилию и имя. Сохраните ее в формате KSpread и в формате таблиц GNUmeric.

    Gnumeric

    По сравнению с KSpread программа Gnumeric предоставляет больше возможностей для работы с документами, особенно содержащими сложные расчетные таблицы. Запуск данного приложения осуществляется командой gnumeric. При старте появляется окно программы, отображающее одну из таблиц рабочей книги. Если программа была запущена без указания имени файла с данными, то создается новая пустая рабочая книга, содержащая по умолчанию только один лист (таблицу). С помощью контекстного меню можно скопировать текущую таблицу в новую, удалить таблицу или изменить ее имя.

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

    Для того чтобы открыть созданную ранее таблицу следует воспользоваться пунктом Открыть из меню Файл или нажать клавишу F3. Gnumeric позволяет импортировать данные из электронных таблиц, подготовленными некоторыми другими средствами, например, программой Excel. Для импорта данных служит одноименный пункт из меню Файл.

    После работы с таблицей ее можно сохранить либо с помощью меню, либо нажатием комбинации клавиш Ctrl+S. Можно также воспользоваться кнопкой с изображением дискеты на панели инструментов.

    Gnumeric позволяет изменять масштаб отображаемой таблицы. Для этого следует воспользоваться либо пунктом Масштаб из меню Вид, либо раскрывающимся списком на панели инструментов (по умолчанию масштаб равен 100%).

    Для преобразования относительной ссылки в абсолютную используется клавиша F4: достаточно в строке редактирования формул установить курсор около соответствующей ссылки, после чего нажатие на клавишу F4 циклически изменяет вид ссылки, например, B2 -> $B$2 -> B$2 -> $B2 -> B2. Нажатие на клавишу F9 приводит к принудительному пересчету значений.

    Форматирование

    Программа Gnumeric обладает всеми стандартными средствами форматирования ячеек: изменение цвета текста и фона ячейки, размера и начертания шрифта и т. д. Можно центрировать текст относительно выделенных ячеек или разрывать текст на несколько строк внутри одной ячейки. Для форматирования следует использовать меню Формат или контекстное меню. Выбор в них подпункта Формат ячеек или нажатие комбинации клавиш Ctrl+1 приводит к открытию одноименного окна, содержащего ряд вкладок со всеми необходимыми инструментами. На панели объектов, расположенной левее таблицы, имеется набор инструментов для создания простейших рисунков: овалов, прямоугольников, линий и стрелок. Пункт Автоформатирование из меню Формат позволяет быстро оформить таблицу в одном из стандартных стилей.

    Gnumeric позволяет отображать формулы в ячейках таблицы вместо их значений. Для переключения в этот режим следует в меню Формат выбрать пункт Лист, после чего отметить опцию Показать формулы. Как и большинство других распространенных операций это действие имеет клавиатурный эквивалент - комбинацию клавиш Ctrl и ` (обратный апостроф).

    При форматировании ячейки или группы ячеек можно наложить на их содержимое дополнительные ограничения. Например, для таблицы, приведенной выше, не имеют смысла отрицательные данные в столбце D. Используя вкладку Проверка можно задать условия и действия, предпринимаемые в случае нарушения заданных условий.

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

    Селектор функций Gnumeric

    Электронные таблицы Gnumeric обладают очень большим набором встроенных функций, позволяющих проводить статистические, финансовые, инженерные и другие расчеты. Удобным инструментом для их выбора является вкладка Селектор функций, вызываемая кнопкой на панели инструментов с надписью f(x).

    В левой части этой вкладки находится список, содержащий название категорий. При выборе категории в правой части окна отображается список функций данной категории. Выбор функции приводит к появлению в нижней части вкладки ее описания. Нажатие на кнопку OK закрывает вкладку Селектор функций и открывает окно Помощника по формулам, содержащее описание выбранной функции и поля для ввода аргументов (если таковые имеются). При заполнении полей формы их содержимое автоматически переносится как в соответствующую ячейку таблицы, так и в строку отображения формул.

    Рассмотрим несколько примеров использования стандартных формул, доступных в Gnumeric.

    Пример

    Ниже представлена функция для получения случайного числа. При каждом пересчете таблицы (клавиша F9 ) в ячейке будет появляться новое значение. При копировании формулы в разных ячейках будут выведены различные случайные числа.

    Пример

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

    Эта функция находится в категории логических функций. В поле Значение1 нужно задать условие, являющееся неким логическим выражением, в поле Значение2 указать, что должно отображаться в случае истинности условия, а в поле Значение3 - результат, размещаемый в ячейке в случае ложности условия.

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

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

    Задание

    В таблице, приведенной ниже, в ячейку B9 введена формула, согласно которой слово "Скидка" появляется лишь в том случае, когда стоимость покупки превышает 15 евро. Считая, что размер скидки равен 5%, добавьте к таблице следующие формулы: в ячейке F9 при наличии скидки должен быть указан ее размер в евро, а при отсутствии - пустая ячейка; в ячейке F10 следует разместить сумму к оплате с учетом скидки.

    OpenOffice Calc

    Электронные таблицы OpenOffice Calc обладают на данный момент наибольшими возможностями среди всех свободно распространяемых программ подобного класса. Эта программа является частью проекта OpenOffice, целью которого является предоставить пользователю аналог коммерческого продукта Microsoft Office, и практически неотличима от MS Excel по функциональности. Подробная встроенная документация и удобная система справки позволяют пользователю быстро освоить все особенности работы с данным программным продуктом.

    Запуск OpenOffice Calc осуществляется командой soffice. После старта программы в меню Файл следует выбрать пункт Открыть, если вы собираетесь редактировать уже существующий файл, или в пункте Создать выбрать опцию Документ электронной таблицы. Рабочая книга по умолчанию содержит 3 листа, но если количество листов в книге или их название вас не устраивает, то вы можете легко добавить, удалить или переименовать их. Двойной щелчок в области заголовков листов книги приводит к появлению меню, позволяющему выполнить указанные операции.

    Контекстные меню программы, которые появляются при нажатии правой кнопки мыши, связаны с определенными объектами программы, такими как ячейки таблицы, заголовки строк, столбцов или листов и т. д. Процесс ввода, редактирования данных, создания формул в программе OpenOffice Calc практически идентичен процессу работы с уже рассмотренными электронными таблицами.

    Так же как и обе ранее рассмотренные программы, OpenOffice Calc может размешать в ячейках своих таблиц числа (используя запятую для отделения дробной части), формулы и текст. К каждой ячейке может быть добавлен комментарий (меню Вставка, пункт Примечания ), который автоматически отображается при подведении курсора к ячейке (если в меню Справка включена опция Подсказка ). О наличии комментария свидетельствует небольшой красный квадратик в верхнем правом углу ячейки. В контекстном меню можно отметить пункт Показать примечания для постоянного их отображения. Щелчок в поле комментария позволяет приступить к его редактированию.

    Форматирование данных и ячеек

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

    Для того чтобы приступить к форматированию ячейки или ячеек их следует выделить, затем с помощью пункта Ячейка... из меню Формат или пункта Формат ячеек контекстного меню открыть окно Атрибуты ячейки, которое содержит вкладки, позволяющие задать параметры форматирования. На вкладке Числа можно выбрать формат числа. С помощью вкладки Шрифт можно установить тип, размер и цвет шрифта.

    Рассмотрим несколько поподробнее вкладку Выравнивание. Она предназначена для управления выравниванием содержимого ячейки. Кроме того, здесь устанавливается расстояние от линий сетки и направление письма. Переключатели По горизонтали и По вертикали позволяют задать выравнивание содержимого ячейки в горизонтальном и вертикальном направлении.

    Если переключатель По горизонтали установлен в режим Стандарт, то используются стандартные правила выравнивания: числа выравниваются по правому краю, а текст - по левому.

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

    Если указана опция Разрыв строки, то будет разрешен автоматический разрыв строки на краю ячейки. Отметим, что нажатие комбинации клавиш Ctrl+Enter в любом месте текста также приведет к разрыву строки.

    При помощи команды Объединить ячейки -> Задать из меню Формат можно объединить предварительно выделенные ячейки. Результат в дальнейшем ничем не отличается от других ячеек. Для обратного действия выделите ячейку и выберите пункт Снять в том же меню.

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

    Рассмотрим пример создания и использования стиля ячейки. Нажатием на клавишу F11 вызовите инструмент Стилист. Введите в одну из ячеек таблицы текст, а в другую число. Выделив число, дважды щелкните на элементе "Результат" в окне стилей и число будет отформатировано. Теперь давайте создадим новый стиль. Отформатируйте текст, например, жирным размером 20 пунктов синим шрифтом на желтом фоне. Щелкните в Стилисте на кнопке Создать стиль из выбранного и в появившимся окне введите имя для стиля, например, "Формат заголовка", после чего нажмите на кнопку ОК - новый стиль будет добавлен с списку ранее существовавших.

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

    OpenOffice Calc позволяет применять стили ячеек как в ручном режиме, так и автоматически - в зависимости от определенных условий. Если вы хотите особым образом выделить некоторые данные в таблице, например, все значения выше среднего выделить зеленым цветом, а значения ниже среднего - красным, то желаемого результата довольно просто достичь при помощи условного форматирования. Есть две возможности связать автоматическое присвоение формата ячейки с некоторыми условиями.

    Первая из них - присвоение формата формулой. Функция СТИЛЬ может быть добавлена к существующей формуле в ячейке. Таким образом, вместе с функцией ТЕКУЩ вы можете задать, например, цвет ячейки в зависимости от значения. Использование формулы =...+СТИЛЬ( ЕСЛИ( ТЕКУЩ() >3 ; "красный"; "зеленый")) вызывает окрашивание ячейки в красный цвет, если значение больше 3, и назначает стиль с именем "зеленый" в ином случае (разумеется, если указанные стили определены).

    Другая возможность - использование условного формата. При помощи пункта Условное форматирование из меню Формат в диалоге допускается задание до трех условий, которые должны быть выполнены, чтобы ячейка или группа выделенных ячеек получила определенный формат. При изменении данных стили форматирования будут изменяться автоматически.

    Пример

    Сначала создадим таблицу, содержащую случайные числа. Для задания случайного числа в диапазоне от 0 до 1 используется функция =СЛЧИС(). Мы для большей наглядности будем использовать целые числа от 0 до 50. Введите в левую верхнюю ячейку выбранной области формулу =ЦЕЛОЕ(СЛЧИС()*50).

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

    Теперь зададим два стиля ячеек: стиль для всех значений, превышающих среднее и для тех, которые меньше среднего. Окно Стили ячеек должно быть видимым. Щелкните на пустой ячейке, вызовите контекстное меню и выберите Формат ячеек. Задайте формат ячейки и сохраните его под именем "Выше". Для создания второго стиля, снова щелкните на пустой ячейке и повторите описанные действия. Отформатируйте ячейку и назовите этот стиль "Ниже".

    Для того чтобы сформулировать условие, по которому определенные значения таблицы должны форматироваться по-разному, сначала вычислим среднее значение всех случайных чисел в таблице. В свободную ячейку введем функцию =СРЗНАЧ(). Поместите курсор между скобками и мышью выделите все случайные числа, затем зафиксируйте полученную формулу.

    Для применения к выделенным ячейкам условного форматирования вызовите команду Условное форматирование из меню Формат. В появившимся диалоговом окне задайте два условия: (1) если значение ячейки меньше или равняется среднему значению - форматировать стилем "Ниже", и (2) если значение больше среднего - стилем "Выше".

    Теперь при изменении данных таблицы автоматически будет изменяться и форматирование (для принудительного изменения случайных чисел следует воспользоваться клавишей F9).

    Формулы

    При задании формул наряду с основными арифметическими операциями, OpenOffice Calc предоставляет множество специальных функций, которые можно ввести в интерактивном режиме при помощи Автопилота функций. OpenOffice Calc поддерживает, в частности, многие статистические методы: от регрессионных расчетов до доверительных интервалов. Особенно интересна возможность изменять отдельные параметры в вычислениях, зависящих от многих факторов, и прослеживать, как это влияет на результат. Это так называемые расчеты "что было бы, если". Например, при расчете кредита путем простого изменения периода, процентной ставки или сумм выплаты можно сразу же увидеть, как изменяются остальные факторы.

    Как и все другие средства работы с электронными таблицами, OpenOffice Calc позволяет использовать относительные и абсолютные ссылки. Перед каждым значением, которое должно использоваться как абсолютное, ставится знак доллара $. Для превращения текущей ссылки, в которой находится курсор в строке ввода, из относительной в абсолютную и наоборот, следует использовать комбинацию клавиш Shift+F4.

    Практически все функции (за исключением математических и некоторых статистических) в программе OpenOffice Calc локализованы, т. е. используют русскоязычные имена. К таковым относятся и все функции из раздела ДатаВремя (однако функция ПАСХАЛЬНОЕВОСКРЕСЕНЬЕ() определяет дату католической, а не православной Пасхи).

    Для ввода функций в ячейку можно воспользоваться мастером функций. Выберите ячейку, в которую надо ввести функцию, и нажмите кнопку , которая находится на панели инструментов, или выберите команду Функция... из меню Вставка. Перед вами появится окно Автопилот функций, в котором надо выделить функцию и нажать кнопку Далее>> или OK, после чего появится окно ввода аргументов выбранной функции. Функцию можно вводить не только с помощью мастера функций, но и вручную, если вы помните, как она называется и сколько у нее параметров.

    Для задания суммы чисел, находящихся в столбце или строке следует использовать кнопку . В ячейке появится формула вида =СУММ(...). Программа пытается догадаться, каков интервал суммирования. Если вас не устраивает предложенный диапазон, то выделите левой кнопкой мыши требуемую область ячеек так, чтобы вокруг нее появилась красная рамка. То же самое можно сделать и вручную, указав диапазон ячеек в строке формул. Отметим, что пустые ячейки при суммировании трактуются как содержащие нулевые значения.

    Познакомимся поподробнее с функцией ДАТА, обеспечивающей ввод дат в электронную таблицу. OpenOffice Calc хранит такие данные в виде чисел, но отображает в ячейке в формате даты, выравнивая их (аналогично числам) по правому краю. Конечно, можно отформатировать ячейку, содержащую дату, и в числовом формате. Синтаксис функции - ДАТА ( Год ; Месяц ; День ). Год - целое число от 1600 до 3000, при вводе от 0 до 29 добавляется 2000, а при вводе числа от 30 до 99 - 1900. Месяц - число от 1 до 12, задающее номер месяца. День - число от 1 до 31, которое устанавливает день месяца. Когда значения месяца и дня больше допустимых, они пересчитываются на следующую позицию (год, месяц) с переполнением. Формула =ДАТА(00;12;31) дает 31.12.2000, а при вводе =ДАТА(00;13;31) получится дата 31.01.2001.

    В программе OpenOffice Calc можно просто ввести даты в формате "месяц.число.год" (без указания кавычек, иначе ввод будет интерпретирован как текст), например, "5.17.2" для 17 мая 2002 года. В этом случае любой ввод со значениями, выходящими за границы допустимых, трактуется не как дата, а как текст. Функция ТДАТА() возвращает дату и время в соответствии с системным временем компьютера, которые обновляются при каждом пересчете документа.

    Пример

    Вычислим количество дней, часов, минут и секунд, прошедших с 0 часов некоторой даты. Откройте новый документ электронной таблицы и введите в ячейку B1 дату, например, "1.17.84". В ячейку B3 введите формулу =ТДАТА()-A1, которая по умолчанию отформатируется как дата. Поскольку нам нужно получить разницу между двумя датами в виде числа дней, то необходимо отформатировать ячейку B3 как целое число. Введите остальные формулы: в B4 =B3*24 для часов, в B5 =B4*60 для минут и в B6 =B5*60 для секунд.

    Если все выполнено правильно, то время, прошедшее с указанного момента, вычислено и отображено в различных единицах. При этом значение, выраженное в секундах, относится к тому моменту времени, когда была зафиксирована формула в ячейке B6. Нажмите на клавишу F9 (для принудительного пересчета таблицы) и не отпускайте ее - вы увидите как изменяется вывод.

    Для отображения формул, примененных при этих вычислениях, в столбец D помещена функция ФОРМУЛА(), аргументом которой является адрес соответствующей ячейки.

    При создании сложных таблиц удобно использовать именованные ячейки. Если нужно составить, к примеру, формулу для вычисления НДС, то она будет более понятной в виде "= Сумма * Размер_налога", чем в форме "= A5 * B12", где ячейка A5 содержит данные о сумме, а ячейка B12 - о размере налога.

    Для того чтобы задать имя области (ячейки), необходимо эту область сначала выделить и с помощью пункта Имена - Задать меню Вставка (или при помощи комбинации клавиш Ctrl+F3 ) вызвать диалоговое окно Присвоить имя. Имя должно начинаться с буквы, отличаться от стандартных имен ячеек и не может содержать пробелов. После ввода имени следует нажать кнопку Добавить. В этом же диалоге можно задать имена других областей, введя сначала имя, а затем выделив ячейки листа, которые должны получить это имя. В нем можно присвоить имена даже часто используемым формулам или элементам формул.

    Мощным инструментом при работе с электронными таблицами является подбор параметра. С помощью этого инструмента можно узнать значение, которое при подстановке в формулу дает желаемый результат. Для того чтобы воспользоваться подбором параметра нужно иметь формулу с несколькими постоянными значениями и одним переменным. Лучше всего можно объяснить подбор параметра на примере.

    Для вычисления годовых процентов создайте небольшую таблицу, в которой из значений капитала (Капитал), количества лет (Количество_лет) и процентной ставки (Ставка) получается результат - сумма процентов за год (Процент). Формула для вычисления результата имеет вид

    Процент = Капитал * Количество_лет * Ставка / 100

    Ячейкам лучше всего дать имена, чтобы формула имела осмысленный вид. В примере сначала вычисляется, какова будет сумма процентов при вложенном капитале 150 000 р. и процентной ставке 7,5% за год.

    Теперь, считая, что процентная ставка (7,5%) и количество лет (1) не изменяются, определим, какого размера должен быть капитал, чтобы давать определенные годовые проценты, скажем, 15 000 р. Выделите ячейку Проценты и выберите в меню Сервис пункт Подбор параметра. Появится одноименное окно, в поле Ячейка формул которого уже указана нужная ячейка.

    Поместите курсор в поле диалога изменяемая ячейка. В таблице выделите ячейку, значение которой изменяется, т. е. B2. В текстовом поле Конечное значение диалога введите желаемый результат формулы и нажмите кнопку OK. Если параметр был успешно подобран, то отобразится результат, который можно занести в таблицу.

    Диаграммы

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

    Для представления данных в виде диаграммы их следует предварительно выделить (вместе с заголовками, если таковые имеются), после чего из меню Вставка выбрать пункт Диаграмма. В открывшимся окне Автоформат диаграммы нужно выполнить ряд действий, позволяющий выбрать тип диаграммы, указать расположение рядов данных, задать заголовок диаграммы, наименование осей и т. д. Если требуется вставить диаграмму в документ, состоящий из нескольких таблиц, то можно установить, в какую таблицу должна быть вставлена диаграмма. После заполнения нужных полей нажмите на клавишу Готово и диаграмма будет размещена на листе.

    Заметим, что при составлении диаграмм допускается многократное выделение, т. е. выделенные данные не обязаны располагаться в таблице в виде непрерывной области. Многократное выделение осуществляется при нажатой клавише Ctrl. Если вы используете многократное выделение, то убедитесь, что этот набор разрозненных ячеек целесообразно использовать для составления диаграммы.

    Пример

    Подготовим данные для диаграммы, используя следующее многократное выделение.

    Автоматически составляется диаграмма для января, марта, апреля и мая для офиса 1. Рассмотрите другое многократное выделение.

    Оно не является корректно сочетаемой областью и составленная диаграмма будет малоинформативной. Посмотрите на более сочетаемое многократное выделение и соответствующую диаграмму.

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

    Курсор, попадая в выделенную таким образом область, приобретает вид крестика. Нажатие на левую кнопку мыши позволяет перемещать выделенный объект. Для удаления выделенного объекта выберите из контекстного меню пункт Вырезать.

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

    Если вы поместили диаграмму на задний план электронной таблицы, то выделить ее просто щелчком мыши уже не удастся.

    Откройте панель Функции рисования и выберите инструмент Выделение. Теперь щелчком выделите диаграмму.

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

    Тип диаграммы можно изменить в любой момент. В диалоге, который появится благодаря выделению диаграммы и вызову команды Формат - Тип диаграммы, представлены различные типы диаграмм.

    Просмотрите в этом диалоге все типы диаграмм: двумерные (2-М) и трехмерные (3-М). В 3-М-диаграммах можно настроить направление освещения, окружающий свет и цветовой фильтр. Такие диаграммы можно вращать и наклонять при помощи мыши.

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

    Одна из них - цилиндрическая с глубиной, являющаяся разновидностью 3-М гистограммы. Для лучшего обзора она была немного повернута. Другая является обычной круговой 3-М диаграммой. Оставшиеся две относятся к виду 2-М диаграмм: линия с символами, полученными из Галереи, и гистограмма, используящая различные заливки и фон.

    Задания

  • Создайте таблицу, аналогичную приведенной далее. Для получения данных по месяцам используйте случайные числа в диапазоне от 30 до 50. Показатели за квартал и год должны представлять суммарные результаты по соответствующим месяцам.

    Вычислите средний объем продаж по кварталам и году по каждому офису и фирме в целом.

  • Используя условное форматирование, выделите серым фоном и рамкой те показатели второго квартала, которые ниже среднего значения по соответствующему офису за 1 квартал. Так будут отмечены плохо работающие подразделения.

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

  • Составьте диаграммы, аналогичные приведенным, и отображающие долю каждого офиса в годовом объеме продаж и средние значения по кварталам по всей фирме в целом.
  • Вернуться к учебному плану