Краткий перечень встроенных функций по категориям.



МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образовании

Ижевский государственный технический университет имени М.Т.Калашникова” (ИжГТУ)

      

 

 

 

              

                                         С.Н.Селивановский,

В.П. Тарануха ,

О.Я. Шамсиахметов

 

 

МЕТОДИЧЕСКое руководство

   к лабораторной работе по курсу ” Информатика”

направления 211000 “Конструирование и технология электронных средств” профиля ”Проектирование и технология    радиоэлектронных средств”

 

Лабораторная работа № 1

 

Создание имитационных моделей абстрактных автоматов Тьюринга и Маркова средствами Excel MS Office.

 

 

  

                                                  Ижевск 2014

 

СоставителИ: С.Н.селивановский,доцент

  в.п.Тарануха, канд.техн.наук, доцент

                                           шАМСИАХМЕТОВ о.я.

 

Рецензенты - канд. физ.-мат. наук, доцент Клишин С.В.,

доктор техн. наук, профессор ушаков П.А.

 

МЕТОДИЧЕСКОЕ РУКОВОДСТВО к лабораторной работе №1 “ Создание имитационных моделей абстрактных автоматов Тьюринга и Маркова средствами Excel MS Office.

. ” пО курсу ” ИНФОРМАТИКА” профиля ”Проектирование и технология радиоэлектронных средств”/ сЕЛИВАНОВСКИЙ с.н.,Тарануха В.П.,ШАМСИАХМЕТОВ О.Я.-: Ижевск: Издательство ИжГТУ, 2014.- 46 с.

 

Настоящие методические указания определяют последователь­ность выполнения лабораторной работы по дисциплине «ИНФОРМАТИКА» и включают в себя рекомендации ПО СОЗДАНИЮ ПРИКЛАДНЫХ ПРОГРАММ имитационных моделей абстрактных автоматов, А ТАКЖЕ МЕТОДЫ адаптации программного обеспечения к конкретным задачам оптимизации алгоритмов.

 

 

   © СЕЛИВАНОВСКИЙ С.Н.,Тарануха В.П.,шамсиахметов О.Я.

© ИжГТУ, 2014             

              Краткая теория.

    Описание машины Тьюринга.

Структура машины Тьюринга Машина Тьюринга (МТ) состоит из двух частей - ленты и автомата (рис. 1):

Рисунок 1. Машина Тьюринга.


 

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

Обозначим пустое содержимое клетки  символом «пусто» и любым свободным знаком (например Λ или X) .Поэтому изображение ленты, показанное на рисунке 1 справа, такое же, как и на рисунке 1 слева. Удобно операцию стирания символа в некоторой клетке рассматривать как запись в эту клетку символа X.

Автомат - это активная часть МТ. В каждый момент он размещается под одной из клеток ленты и видит её содержимое; это видимая клетка, а находящийся в ней символ - видимый символ; содержимое соседних и других клеток автомат не видит. Кроме того, в каждый момент автомат находится в одном из состояний q1, q2 и т.п. Находясь в некотором состоянии, автомат выполняет какую-то определённую операцию (например, перемещается направо по ленте, заменяя все символы b на a), находясь в другом состоянии - другую операцию.

Пару из видимого символа (S) и текущего состояния автомата (q) будем называть конфигурацией и обозначать <S, q>.

Автомат может выполнять три элементарных действия:

1) записывать в видимую клетку новый символ (менять содержимое других клеток автомат не может);

2) сдвигаться на одну клетку влево или вправо («перепрыгивать» сразу через несколько клеток автомат не может);

3) переходить в новое состояние.

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

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

1) записывает некоторый символ S' в видимую клетку (в частности, может быть записан тот же символ, что и был в ней, тогда содержимое этой клетки не меняется);

2) сдвигается на одну клетку влево (обозначение – L (left), либо на одну клетку вправо (обозначение – R( right)), либо остается неподвижным (обозна­чение – “0”).

3) переходит в некоторое состояние q' (в частности, может остаться в преж­нем состоянии).

Формально действия одного такта будем записывать в виде тройки:

                                  S' [L, R, 0], q'

где конструкция с квадратными скобками означает возможность записи в этом месте любой из букв L, Rили N. Например, такт *,L,q8 означает запись симво­ла * в видимую клетку, сдвиг на одну клетку влево и переход в состояние q8.

Для того чтобы заставить машину Тьюринга работать, надо написать для неё программу. Эта программа записывается в виде следующей таблицы 1:

 

  Si S2   Si   Sn X
qi              
               
qi       S', [L, R, 0], q'      
               
qm              

                 

                Таблица 1. Программа машины Тьюринга


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

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

В целом таблица определяет действия МТ при всех возможных конфи­гурациях и тем самым полностью задаёт поведение МТ.

Описать алгоритм в виде МТ - значит предъявить такую таблицу.

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

1. записать на ленту входное слово - это конечная последовательность символов, записанных в соседних клетках ленты; внутри входного слова пустых клеток быть не должно, а слева и справа от него должны быть только пустые клетки. Пустое входное слово означает, что все клетки ленты пусты.

2. установить автомат в состояние q1 (указанное в таблице первым) и разместить его под первым символом входного слова. Если входное слово пустое, то автомат может смотреть в любую клетку, т.к. все они пусты.

После этих предварительных действий начинается выполнение программы.

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

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

Завершается выполнение программы тактом останова - тактом, который ничего не меняет: автомат записывает в видимую клетку тот же символ, что и был в ней раньше, не сдвигается и остается в прежнем состоянии, т.е. это такт S,0,q . Попав на такт останова, МТ, по определению, останавливается, завершая свою работу.

Возможны два исхода работы МТ над входным словом:

1) Первый исход - «хороший»: это когда в какой-то момент МТ останавливается (попадает на такт останова). В таком случае говорят, что МТ применима к задан­ному входному слову. А то слово, которое к этому моменту получено на ленте, считается выходнымм словом, т.е. результатом работы МТ, ответом.

В момент останова должны быть выполнены следующие обязательные условия:

- внутри выходного слова не должно быть пустых клеток (во время выполнения программы внутри обрабатываемого слова пустые клетки могут быть, но в конце их уже не должно остаться);

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

2) Второй исход - «плохой»: это когда МТ зацикливается, никогда не попадая на такт останова (например, автомат на каждом шаге сдвигается вправо и потому не может остановиться, т.к. лента бесконечна). В этом случае МТ неприменима к заданному входному слову. Ни о каком результате при таком исходе не может идти и речи.

Один и тот же алгоритм (программа МТ) может быть применимым к одним входным словам (т.е. останавливаться) и неприменимым к другим (т.е. зацикливаться). Таким образом, применимость/неприменимость зависит не только от самого алгоритма, но и от входного слова.

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

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

Рассмотрим пример на составление программы для МТ.

Для сокращения формулировки задач введём следующие два соглашения:

- буквой Р будем обозначать входное слово;

- буквой А будем обозначать алфавит входного слова, т.е. набор тех симво­лов, из которых может состоять Р (отметим, однако, что в промежуточных и выходном словах могут появляться и другие символы).

                                                  Задача 1:

 Пусть алфавит А={0,1,}, Р - непустое слово (последова­тельность из двоичных цифр), т.е. неотрицательное целое число в двоичной системе. Требуется получить на ленте запись числа, которое на 1 больше числа Р и вернуть головку на начало слова.

                          Решение:

Для решения этой задачи предлагается выполнить следующие действия:

1. Перегнать автомат на последнюю младшую цифру числа.

2. Если это цифра 0, то заменить её цифрой на 1 и вернуться в исходное положение.

3. Если это цифра 1 , то заменить ее цифрой 0 и сдвинуться влево.

 4. Особый случай: в Pтолько единицы (например 11). Тогда автомат будет сдвигаться влево, заменяя единицы на нули, и в конце концов окажется под пустой клеткой. В нее надо записать 1 и остановиться (ответом будет 100)

 q1 - это состояние, в котором автомат «бежит» к последней младшей цифре числа.

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

q2 - это состояние, в котором автомат прибавляет 1 к той цифре, которую видит в данный момент. Сначала это последняя цифра числа; если она 0, то автомат заменяет её цифрой, которая на 1 больше, и возвращается в исходное положение. Но если это цифра 1, то автомат заменяет её на 0 и сдвигается влево, оставаясь в состоянии q2. Тем самым, он будет теперь прибавлять 1 к предыдущей цифре. Если и эта цифра равна 1, то автомат заменяет её на 0 и сдвигается влево, оставаясь по- прежнему в состоянии q2, т.к. должен выполнить то же самое действие - увеличить на 1 видимую цифру. Если же автомат сдвинулся влево, а в видимой клетке нет цифры (а есть «пусто»), то он записывает сюда 1 и останавливается.

q3 - это состояние, в котором автомат возвращается в исходную позицию,сдвигаясь влево,пока не попадется пустая клетка(начало слова). Далее сдвиг вправо на начало слова.

q4 - это состояние, в котором автомат останавливается.

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

Приведем запись программы в полном виде в таблице 2:

алфавит (текущее состояние ячейки)

0

1

x

текущее состояние головки записать в ячейку состояние головки движение головки записать в ячейку состояние головки движение головки записать в ячейку состояние головки движение головки

1

0

1

1

1

1

1

x

2

-1

2

1

3

-1

0

2

-1

1

3

-1

3

0

3

-1

1

3

-1

x

4

1

 

Таблица 2. Запись программы прибавления единицы к двоичному числу.

 

                  Описание нормальных алгоритмов Маркова (НАМ).

 

Особенностью нормальных алгоритмов Маркова (НАМ) является  использование одного элементарного действия - подстановки, которая определяется следующим образом.

Формулой подстановки называется запись вида α→β (читается «α заменить на β»), где α и β - любые слова включая пустые. При этом α называется левой частью формулы, а β - правой частью.

Сама подстановка (как действие) задается формулой подстановки и применяется к некоторому слову Р. Суть операции сводится к тому, что в слове Р отыскивается часть, совпадающая с левой частью этой формулы (т.е. с α), и она заменяется на правую часть формулы (т.е. на β). При этом остальные части слова Р (слева и справа от α) не меняются. Получившееся слово R называют результатом подстановки. Условно это можно изобразить так:

                                      P xαy → R xβy

Если левая часть формулы подстановки входит в слово Р, то говорят, что эта формула применима к Р. Но если α не входит в Р, то формула считается неприменимой к Р, и подстановка не выполняется.

Если левая часть α входит в Р несколько раз, то на правую часть β, по определению, заменяется только первое вхождение а в Р:

                                   P xαyαz → R xβyαz

3. Если правая часть формулы подстановки - пустое слово, то подстановка а→ сводится к вычеркиванию части α из Р (в формулах подстановки не принято как-либо обозначать пустое слово):

                                       P xαy →R xy

4. Если в левой части формулы подстановки указано пустое слово, то подстановка →β сводится, по определению, к приписыванию в слева к слову Р:

                                        P x →R βx

Формула с пустой левой частью применима к любому слову. Формула с пустыми левой и правой частями не меняет слово.

Нормальным алгоритмом Маркова (НАМ) называется непустой конечный упорядоченный набор формул подстановки:

                                             α1→β1

                                             α2→β2

                                               ………                  (k≥1)

                                             αk→βk

В этих формулах могут использоваться два вида стрелок: обычная стрелка и стрелка «с хвостиком» (!→). Формула с обычной стрелкой называется обычной формулой, а формула со стрелкой «с хвостиком» - заключительной формулой.

Записать алгоритм в виде НАМ - значит предъявить набор формул.

 

                                  Правила выполнения НАМ.

 

      Задается некоторое входное слово Р. Его положение в НАМ не оговаривается.

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

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

                                          Р → Р' → Р " →…

На каждом шаге формулы в НАМ всегда просматриваются начиная с самой первой.

Если на очередном шаге была применена обычная формула (α→β), то работа НАМ продолжается.

Если же на очередном шаге была применена заключительная формула   

( α!→β), то после её применения работа НАМ прекращается. То слово, которое получилось в этот момент, и есть выходное слово, т.е. результат применения НАМ к входному слову.

Если на очередном шаге к текущему слову неприменима ни одна формула, то и в этом случае работа НАМ прекращается, а выходным словом считается текущее слово.

Таким образом, НАМ останавливается по двум причинам:

1. Была применена заключительная формула.

2. Ни одна из формул не подошла.

 То и другое считается «хорошим» окончанием работы НАМ. В обоих случаях говорят, что НАМ применим к входному слову.

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

                                               Пример 2:

Для сокращения формулировки задач используем следующие соглашения:

1. Буквой Р будем обозначать входное слово.

2. Буквой А будем обозначать алфавит входного слова, т.е. набор тех символов, которые и только которые могут входить во входное слово Р (но в процессе выполнения НАМ в обрабатываемых словах могут появляться и другие символы).

Кроме того, в примерах будем справа от формул подстановки указывать их номера. Эти номера не входят в формулы, а нужны для ссылок на формулы при показе пошагового выполнения НАМ.

 

Дан алфавит А={a,b,c,d}. В слове Р требуется заменить первое вхождение подслова bb на ddd и удалить все вхождения символа с.

Например: abbcabbca → adddabba

                                               Решение:

В НАМ, в отличие от машины Тьюринга, просто реализуются вставки и удаления символов. Вставка новых символов в слово - это замена некоторого подслова на подслово с большим числом символов; например, с помощью формулы bb→ddd два символа будут заменены на три символа. При этом не надо заботиться о том, чтобы предварительно освободить место для дополнительных символов, в НАМ слово раздвигается автома­тически.

Удаление символов - это замена некоторого подслова на подслово с меньшим числом символов; например, удаление символа “с” реализуется формулой с→ (с пустой правой частью). При этом никаких пустых позиций внутри слова не появляется, сжатие слова в НАМ происходит автоматически.

С учётом сказанного задача должна, казалось бы, решаться так:

                                                1. bb → ddd

                                                2. с →

Однако это не так. Проверим этот НАМ на входном слове abbcabbca:

                 abbcabbca→adddcabbca→adddcadddca→adddadddca→…


Заменив первое вхождение bb на ddd,  НАМ не перешёл сразу к удалению символов “c”, а стал заменять и другие вхождения bb. Потому, что на каждом шаге работы НАМ формулы подстановки всегда просматриваются сверху вниз, начиная с первой из них.

Поэтому, пока применима первая формула, она и будет применяться, блокируя доступ к остальным формулам. Этот означает, что в НАМ важен порядок перечисления формул подстановки.

Учтём это и переставим наши две формулы:

                                                 1. с →

                                                 2.  bb → ddd

Проверим этот новый алгоритм на том же входном слове:

     abbcabbca → abbabbca → abbabba → adddabba → adddaddda

Итак, НАМ сначала удалил все символы “c” и только затем заменил первое вхождение bb на ddd. Однако НАМ на этом не остановился и стал заменять остальные вхождения bb.

Дело в том, что, пока применима хотя бы одна формула, НАМ продолжает свою работу. Необходимо принудительно остановить НАМ после того, как он заменил первое вхождение bb.

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

которых НАМ останавливается. Следовательно, в нашем алгоритме обычную

формулу bb→ddd надо заменить на заключительную формулу bb!→ddd:

                                          1. с →

                                          2.  bb !→ ddd

Теперь  алгоритм будет работать правильно:

               abbcabbca → abbabbca → abbabba !→ adddabba

Слово, которое получилось после применения заключительной формулы ,

является выходным словом, т.е. результатом применения НАМ к заданному

входному слову.

Проверим наш НАМ ещё и на входном слове, в которое не входит bb:

                                   dcacb → dacb → dab

К последнему слову dab неприменима ни одна формула, поэтому, согласно

определению НАМ, алгоритм останавливается и это слово объявляется выходным.

                                               Пример 3:

Дан алфавит А={a,b}. Удалить из непустого слова Р его первый символ. Пустое слово не менять.

                                               Решение:

Удалив первый символ слова, надо тут же остановиться. Поэтому, казалось бы, задачу решает следующий НАМ:

                                           1.  a!→

                                           2. b!→

 Однако это неправильный алгоритм, в чём можно убедиться, применив его к слову bbaba:

                                         bbaba → bbba

Как видно, этот НАМ удалил не первый символ слова, а первое вхождение символа. Данный алгоритм будет правильно работать, только если входное слово начинается с символа “а”. Перестановка формул в этом НАМ не поможет, т.к. тогда он будет неправильно работать на словах, начинающихся с “а”.

Надо пометить первый символ слова, поставив перед ним какой-либо знак, скажем “%”, отличный от символов алфавита слова. После этого уже можно с помощью формул вида %Δ !→ заменить этот знак и первый символ Δ слова на пусто и остановиться: bbaba → %bbaba !→ baba

 Поставить % перед первым символом МОЖНО формулой →% с пустой левой частью, которая приписывает свою правую часть слева к слову.

Получаем следующий НАМ:

                                                 1. →%

                                                 2. %a!→

                                                 3. %b!→

 Проверим его на том же входном слове:

                    bbaba → %bbaba → %%bbaba → %%%bbaba →… _

Как видно, этот алгоритм постоянно приписывает слева символы “%”.

Формула постановки с пустой левой частью применима всегда, поэтому наша формула будет работать бесконечно, блокируя доступ к ос­тальным формулам. Отсюда вытекает  важное правило:

если в НАМ есть формула с пустой левой частью (→β), то её место - только в самом конце НАМ. Учтём это правило и перепишем наш НАМ:

                                                1  %a!→

                                                2 %b!→

                                                3    →%

Проверим данный алгоритм:

                                     bbaba → %bbaba → baba

Алгоритм зациклился на пустом входном слове, т.к. постоянно будет применяться формула 3, а согласно условию задачи на таком слове НАМ должен остановиться. Дело в том, что мы ввели знак % для того, чтобы пометить первый символ слова, а затем уничтожить % и этот символ. Но в пустом слове нет ни одного символа, поэтому формулы 1 и 2 ни разу не сработают и по­стоянно будет выполняться формула 3. Следовательно, чтобы учесть случай пустого входного слова, надо после формул 1 и 2 записать ещё одну фор­мулу, которая уничтожает одиночный символ “%” и останавливает алгоритм:

                                                1.  %a!→

                                                2. %b!→

                                                3. %!→

                                                4.    →%

Вот теперь получили правильный алгоритм.

 

                                           Пример 4:

Дан алфавит А={a,b}. Требуется приписать символ “a” к концу слова Р.

Например: bbab →bbaba

                                            Решение:

Формула →a приписывает символ “a” слева к слову P, а не справа. Чтобы приписать “a” справа, надо сначала пометить конец слова. Для этого воспользуемся спецзнаком, который поместим в конец P, а затем заменим его на “а”:

                                            P →…→ P% !→ Pa

Чтобы поместить спецзнак в конец слова необходимо сначала спецзнак % приписать слева к слову P, а затем  перегнать спецзнак через все буквы слова:

            bbab → %bbab → b%bab → bb%ab → bba%b → bbab%  

Перепрыгивание % через любой символ Δ алфавита - это замена пары Δ% на пару  %Δ ,которая реали­зуется формулой Δ%→%Δ

С учётом всего сказанного получается следующий НАМ:

                                                  1. %a → a %

                                                  2. %b → b %

                                                  3. % !→a

                                                  4.   → %

Отметим, что при пустом входном слове этот НАМ сначала введёт %, а затем тут же заменит её на символ “a” и остановится.

 

                       Применение встроенных функций Excel.

 

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

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

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

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

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

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

Встроенные функции Excel делятся на следующие категории:

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

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

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

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

Функции просмотра и ссылок позволяет "просматривать" информацию, хранящуюся в списке или таблице, а также обрабатывать ссылки.

 

Каждая функция состоит из трех обязательных элементов:

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

2. Имя функции. Характеризует тип выполняемых операций, например СУММ (суммировать), СРЗНАЧ (среднее значение), ПЛТ (платеж) и т.д.

3. Аргументы. Значения, на основе которых выполняются вычисления. Аргументы вводят в круглых скобках сразу после имени функции. Как правило, это адреса ячеек, значения которых используются в вычислениях. Например, адрес диапазона ячеек A5:D23. Аргументы могут быть и более сложными; это зависит от назначения функции.

Функции могут быть вложенными в формулы или служить аргументом других функций. Например, для того чтобы подсчитать сумму значений, введенных в диапазоне А5:А44, а затем прибавить к полученному результату значение ячейки В44, можно воспользоваться следующей формулой: =СУММ(А5:А44)+В44.

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

Вручную вводить такие функции довольно сложно, поскольку необходимо помнить имя функции и, как правило, ее непростой синтаксис. Упростить эту процедуру поможет специальное программное средство — Мастер функций.

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

1. Активизировать ячейку, в которую необходимо вставить функцию.

2. Щелкнуть на кнопке “Вставить функцию” в строке формул.

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

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

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

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

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

5. Щелкнуть на кнопке ОК или нажмите клавишу Enter .

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

Для того чтобы изменить аргументы ранее веденной функции, щелкните на ячейке, в которой эта функция находится. Затем щелкните на кнопке Вставить функцию. Появится диалоговое окно Аргументы функции с перечнем прежних значений аргументов. Введите новые значения аргументов и щелкните мышью на кнопке ОК.
  Некоторые функции, такие как СУММ (SUM), SIN (SIN) и ФАКТР (FACT), являются эквивалентами длинных математических формул, которые можно создать самим. Другие функции, такие как ЕСЛИ (IF) и ВПР (VLOOKUP), в виде формул реализовать невозможно.

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

Быстро получить информацию о функциях можно также с помощью кнопки Вставка функции.

Некоторые функции, такие как ПИ (PI) и ИСТИНА (TRUE), не имеют аргументов. Даже если функция не имеет аргументов, она все равно должна содержать круглые скобки.

При использовании в функции нескольких аргументов они отделяются один от другого точкой с запятой. Например, следующая формула указывает Excel, что необходимо перемножить числа в ячейках С1, С2 и С5:

                                     =ПРОИЗВЕД(С1;С2;С5).

В функции можно использовать до 30 аргументов, если при этом общая длина формулы не превосходит 1024 символов. Однако любой аргумент может быть диапазоном, содержащим произвольное число ячеек листа. Например, следующая функция имеет три аргумента, но суммирует числа в 29 ячейках (первый аргумент, А1:А5, ссылается на диапазон пяти ячеек от А1 до А5 и т.д.):

                              =CУMM(A1:A5;C2:C10;D3:D17).

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

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

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

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

Аргументы функции могут быть числовыми. Например, функция СУММ в следующей формуле суммирует числа 327, 209 и 176:

                                    =СУММ(327;209;176).

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

В качестве аргумента функции могут использоваться текстовые значения. Например:

                 =ТЕКСТ(ТДАТА();«Д МММ ГГГГ»).

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

Аргументы ряда функций могут принимать только логические значения ИСТИНА (TRUE) или ЛОЖЬ (FALSE). Логическое выражение возвращает значение ИСТИНА или ЛОЖЬ в ячейку или формулу, содержащую это выражение. Например, первый аргумент функции ЕСЛИ (IF) в следующей формуле является логическим выражением, которое использует значение:

             =ЕСЛИ(А1=ИСТИНА, «Новая», «Старая»)& «аппаратура».

Если значение в ячейке А1 равно ИСТИНА, то выражение А1=ИСТИНА возвращает значение ИСТИНА, и функция ЕСЛИ возвращает строку Новая, а формула в целом возвращает текстовое значение Новая аппаратура.

В качестве аргумента функции можно указать имя диапазона. Например, если выбрать команду Присвоить подменю Имя меню Вставка и назначить диапазону С3:С6 имя Получено, то для вычисления суммы чисел в ячейках С3, С4, С5 и С6 можно использовать формулу:

                           =СУММ(Получено).

Аргументом функции может быть массив. Некоторые функции, такие как ТЕНДЕНЦИЯ (TREND) и ТРАНСП (TRANSPOSE) требуют задания массива аргументов. Другие функции не требуют задания массива, но могут использовать такие аргументы. Массивы могут содержать числовые, текстовые или логические значения.

В одной функции можно использовать аргументы различных типов. Например, в следующей формуле аргументами являются имя диапазона (Группа 1), ссылка на ячейку (A3) и числовое выражение (5*3), а сама формула возвращает единственное числовое значение:

                            =СРЗНАЧ(Группа1;А3;5*3).

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

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

 

 

Краткий перечень встроенных функций по категориям.

Функции даты и времени:

ДАТА — Возвращает заданную дату в числовом формате Microsoft Excel.

ДАТАЗНАЧ — Преобразует дату из текстового формата в числовой.

ДЕНЬ — Преобразует дату в числовом формате в день месяца.

ДНЕЙ360 — Вычисляет количество дней между двумя датами на основе 360-дневного года.

ДАТАМЕС — Возвращает дату в числовом формате, отстоящую на заданное число месяцев вперед или назад от начальной даты.

КОНМЕСЯЦА — Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.

ЧАС — Преобразует дату в числовом формате в часы.

МИНУТЫ— Преобразует дату в числовом формате в минуты.

МЕСЯЦ — Преобразует дату в числовом формате в месяцы.

ЧИСТРАБДНИ — Возвращает количество рабочих дней между двумя датами.

ТДАТА — Возвращает текущую дату и время в числовом формате.

СЕКУНДЫ — Преобразует дату в числовом формате в секунды.

ВРЕМЯ — Возвращает заданное время в числовом формате.

ВРЕМЗНАЧ — Преобразует время из текстового формата в числовой формат.

СЕГОДНЯ — Возвращает числовой формат текущей даты.

ДЕНЬНЕД— Преобразует дату в числовом формате в день недели.

НОМНЕДЕЛИ — Преобразует числовое представление в число, которое указывает, на какую неделю года приходится указанная дата.

РАБДЕНЬ — Возвращает дату в числовом формате, отстоящую вперед или назад на заданное количество рабочих дней.

ГОД — Преобразует дату в числовом формате в год.

ДОЛЯГОДА — Возвращает долю года, которую составляет количество дней между начальной и конечной датами.

 

Информационные функции:

ЯЧЕЙКА — Возвращает информацию о формате, местоположении или содержимом ячейки.

СЧИТАТЬПУСТОТЫ — Подсчитывает количество пустых ячеек в заданном диапазоне.

ТИП.ОШИБКИ — Возвращает номер, соответствующий одному из типов ошибок Microsoft Excel.

ИНФОРМ — Возвращает информацию о текущей операционной среде.

ЕПУСТО — Возвращает логическое значение ИСТИНА, если аргумент является ссылкой на пустую ячейку.

ЕОШ— Возвращает логическое значение ИСТИНА, если аргумент ссылается на любое значение ошибки, кроме #Н/Д.

ЕОШИБКА— Возвращает логическое значение ИСТИНА, если аргумент ссылается на любое значение ошибки.

ЕЧЁТН — Возвращает логическое значение ИСТИНА, если аргумент — четное число.

ЕЛОГИЧ— Возвращает логическое значение ИСТИНА, если аргумент ссылается на логическое значение.

ЕНД— Возвращает логическое значение ИСТИНА, если аргумент ссылается на значение ошибки #Н/Д (значение недоступно).

ЕНЕТЕКСТ — Возвращает логическое значение ИСТИНА, если аргумент ссылается на значение, которое не является текстом.

ЕЧИСЛО— Возвращает логическое значение ИСТИНА, если аргумент ссылается на число.

ЕНЕЧЁТ — Возвращает логическое значение ИСТИНА, если аргумент — нечетное число.

ЕССЫЛКА — Возвращает логическое значение ИСТИНА, если аргумент ссылается на ссылку.

ЕТЕКСТ — Возвращает логическое значение ИСТИНА, если аргумент ссылается на текст. Ч — Возвращает значение, преобразованное в число. НД — Возвращает значение ошибки  #Н/Д.

ТИП — Возвращает тип значения.

 

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

И — Возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА.

ЛОЖЬ — Возвращает логическое значение ЛОЖЬ.

ЕСЛИ — Выполняет проверку условия.

НЕ — Меняет на противоположное логическое значение своего аргумента.

ИЛИ — Возвращает ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА.

ИСТИНА — Возвращает логическое значение ИСТИНА.

 

Функции ссылок и подстановок:

АДРЕС — Возвращает ссылку на отдельную ячейку рабочего листа в виде текста. ОБЛАСТИ — Возвращает количество областей в ссылке.

ВЫБОР — Выбирает значение из списка значений по индексу.

СТОЛБЕЦ — Возвращает номер столбца, на который указывает ссылка. ЧИСЛСТОЛБ— Возвращает количество столбцов в массиве или ссылке.

ГПР — Ищет значение в первой строке массива и возвращает значение из ячейки в найденном столбце и указанной строке.

ГИПЕРССЫЛКА — Создает ссылку открывающую документ, находящийся на жестком диске, сервере сети или в Интернете.

ИНДЕКС — Использует индекс для выбора значения из ссылки или массива.

ДВССЫЛ — Возвращает ссылку заданную текстовым значением.

ПРОСМОТР — Ищет значения в векторе или массиве.

ПОИСКПОЗ — Ищет значения в ссылке или массиве.

СМЕЩ— Возвращает смещение ссылки относительно заданной ссылки.

СТРОКА — Возвращает номер строки, определяемой ссылкой.

ЧСТРОК— Возвращает количество строк в ссылке.

ДРВ — Извлекает дату в режиме реального времени для программ, поддерживающих автоматизацию СОМ.

ТРАНСП — Возвращает транспонированный массив.

ВПР — Ищет значение в первом столбце массива и возвращает значение из ячейки в найденной строке и указанном столбце.

 

Арифметические и тригонометрические функции:

ABS — Возвращает модуль (абсолютную величину) числа.

ACOS— Возвращает арккосинус числа.

ACOSH — Возвращает гиперболический арккосинус числа.

ASIN — Возвращает арксинус числа.

ASINH— Возвращает гиперболический арксинус числа.

ATAN — Возвращает арктангенс числа.

ATAN2 — Возвращает арктангенс для заданных координат х и у.

ATANH— Возвращает гиперболический арктангенс числа.

ОКРВВЕРХ — Округляет число до ближайшего целого или до ближайшего кратного указанному значению.

ЧИСЛКОМБ — Возвращает количество комбинаций для заданного числа объектов.

COS — Возвращает косинус числа.

COSH— Возвращает гиперболический косинус числа.

СЧЁТЕСЛИ — Подсчитывает количество непустых ячеек, удовлетворяющих заданному условию внутри диапазона.

ГРАДУСЫ — Преобразует радианы в градусы.

ЧЁТН — Округляет число до ближайшего четного целого.

ЕХР — Возвращает число е, возведенное в указанную степень.

ФАКТР — Возвращает факториал числа.

ДВФАКТР — Возвращает двойной факториал числа.

ОКРВНИЗ — Округляет число до ближайшего меньшего по модулю целого.

НОД — Возвращает наибольший общий делитель.

ЦЕЛОЕ — Округляет число до ближайшего меньшего целого.

НОК — Возвращает наименьшее общее кратное.

LN — Возвращает натуральный логарифм числа.

LOG — Возвращает логарифм числа по заданному основанию.

LOGIO — Возвращает десятичный логарифм числа.

МОПРЕД— Возвращает определитель матрицы, хранящейся в массиве.

МОБР — Возвращает обратную матрицу (матрица хранится в массиве).

МУМНОЖ — Возвращает произведение матриц, хранящихся в массивах.

ОСТАТ — Возвращает остаток от деления.

ОКРУГЛТ — Возвращает число, округленное с требуемой точностью. МУЛЬТИНОМ — Возвращает мультиномиальный коэффициент множества чисел. НЕЧЁТ — Округляет число до ближайшего нечетного целого.

ПИ — Возвращает число «пи».

СТЕПЕНЬ — Возвращает результат возведения числа в степень.

ПРОИЗВЕД — Возвращает произведение аргументов.

ЧАСТНОЕ — Возвращает целую часть частного при делении.

РАДИАНЫ— Преобразует градусы в радианы.

СЛЧИС — Возвращает случайное число в интервале от 0 до 1.

СЛУЧМЕЖДУ — Возвращает случайное число в заданном интервале.

РИМСКОЕ — Преобразует число в арабской записи к числу в римской, как текст.

ОКРУГЛ — Округляет число до указанного количества десятичных разрядов.

ОКРУГЛВНИЗ — Округляет число до ближайшего меньшего по модулю целого.

ОКРУГЛВВЕРХ— Округляет число до ближайшего по модулю большего целого.

РЯД.СУММ — Возвращает сумму степенного ряда, вычисленную по заданной формуле.

ЗНАК — Возвращает знак числа.

SIN — Возвращает синус заданного угла.

SINH — Возвращает гиперболический синус числа.

КОРЕНЬ — Возвращает положительное значение квадратного корня.

КОРЕНЬПИ — Возвращает значение квадратного корня из (число * «пи»),

ПРОМЕЖУТОЧНЫЕ.ИТОГИ — Возвращает промежуточный итог в списке или базе данных.

СУММ — Суммирует аргументы.

СУММЕСЛИ — Суммирует ячейки, удовлетворяющие заданному условию. СУММПРОИЗВ — Возвращает сумму произведений соответствующих элементов массивов.

СУММКВ — Возвращает сумму квадратов аргументов.

СУММРАЗНКВ — Возвращает сумму разностей квадратов соответствующих значений в двух массивах.

СУММСУММКВ — Возвращает сумму сумм квадратов соответствующих элементов двух массивов.

СУММКВРАЗН — Возвращает сумму квадратов разностей соответствующих значений в двух массивах.

TAN — Возвращает тангенс числа.

TANH — Возвращает гиперболический тангенс числа.

ОТБР— Отбрасывает дробную часть числа.

 

Текстовые функции:

ASC— Преобразует полноширинные (двухбайтные) английские буквы или знаки катакана в текстовой строке в полуширинные (один байт).

БАТТЕКСТ— Преобразует число в текст, используя денежный формат (БАТ).

СИМВОЛ — Возвращает знак с заданным кодом.

ПЕЧСИМВ — Удаляет все непечатаемые знаки из текста.

КОДСИМВ — Возвращает числовой код первого знака в текстовой строке.

СЦЕПИТЬ — Объединяет несколько текстовых элементов в один.

РУБЛЬ — Преобразует число, используя денежный формат.

СОВПАД— Проверяет идентичность двух текстов.

НАЙТИ — Ищет вхождение одного текста в другой (с учетом регистра).

ФИКСИРОВАННЫЙ — Форматирует число и преобразует его в текст с заданным числом десятичных знаков.

JIS — Преобразует полуширинные (однобайтные) английские буквы или знаки катакана в текстовой строке в полноширинные (два байта).

ЛЕВСИМВ — Возвращает самые левые знаки текстового значения. ДЛСТР — Возвращает количество знаков в текстовой строке. СТРОЧН — Делает все буквы в тексте строчными.

ПСТР — Возвращает определенное число знаков из строки текста, начиная с указанной позиции.

PHONETIC — Извлекает фонетические (фуригана) знаки из текстовой строки.

ПРОПНАЧ — Делает прописной первую букву в каждом слове текста.

ЗАМЕНИТЬ — Заменяет знаки в тексте.

ПОВТОР — Повторяет текст заданное число раз.

ПРАВСИМВ — Возвращает самые правые знаки текстовой строки.

ПОИСК — Ищет вхождение одного текста в другой (без учета регистра).

ПОДСТАВИТЬ — Заменяет в текстовой строке старый текст новым.

Т — Преобразует аргумент в текст.

ТЕКСТ — Форматирует число и преобразует его в текст.

СЖПРОБЕЛЫ — Удаляет из текста пробелы.

ПРОПИСН — Делает все буквы в тексте прописными.

ЗНАЧЕН — Преобразует текстовый аргумент в число.

 

 


Дата добавления: 2018-08-06; просмотров: 518; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!