Создание имитационных моделей абстрактных автоматов Тьюринга и Маркова
Изучение программа машины Тьюринга. Рассмотрение записи программы прибавления единицы к двоичному числу. Описание нормальных алгоритмов Маркова - непустого конечного упорядоченного набора формул подстановки. Исследование функции просмотра и ссылок.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | методичка |
Язык | русский |
Дата добавления | 11.04.2023 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
12
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«Ижевский государственный технический университет имени М. Т. Калашникова»
Кафедра «Конструирование радиоэлектронной аппаратуры»
Издательство ИжГТУ имени М. Т. Калашникова
Методическое руководство к лабораторной работе № 1 и №2 по курсу «Информатика»
для направления 11.03.03 «Конструирование и технология электронных средств» по профилю «Проектирование и технология радиоэлектронных средств»
Создание имитационных моделей абстрактных автоматов Тьюринга и Маркова
Составитель: О.Я. Шамсиахметов
Ижевск 2019
УДК 004.45
Рецензент
С.В.Клишин, канд. физ.-мат. наук, доцент
П.А.Ушаков, доктор техн. наук, профессор
Составитель
О.Я.Шамсиахметов, старший преподаватель
Рекомендовано к изданию на заседании кафедры «Конструирование радиоэлектронной аппаратуры» ИжГТУ имени М. Т. Калашникова (протокол № 60 от 16.01.2019 г.).
Создание имитационных моделей абстрактных автоматов Тьюринга и Маркова: методическое руководство к. лаб. раб. № 1 и №2 / сост.: О.Я.Шамсиахметов. ? Ижевск :ИжГТУ имени М. Т. Калашникова, 2019. - 46 с.
Настоящие методические указания определяют последовательность выполнения лабораторной работы по дисциплине «Информатика» и включают в себя рекомендации по созданию прикладных программ имитационных моделей абстрактных автоматов, а также методы адаптации программного обеспечения к конкретным задачам оптимизации алгоритмов.
УДК 004.45
© ИжГТУ имени М. Т. Калашникова, 2019
© Шамсиахметов О.Я., составление, 2019
Краткая теория. Описание машины Тьюринга.
Структура машины Тьюринга Машина Тьюринга (МТ) состоит из двух частей - ленты и автомата (рис. 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:
Слева перечисляются все состояния, в которых может находиться автомат, сверху - все символы (в том числе и X), которые автомат может видеть на ленте. (Какие именно символы и состояния указывать в таблице - определяет программист.)
Таблица 1. Программа машины Тьюринга
Si |
S2 |
Si |
Sn |
X |
||||
qi |
||||||||
qi |
S', [L, R, 0], q' |
|||||||
qm |
В ячейках таблицы указываются те такты, которые должен выполнить автомат, когда он находится в соответствующем состоянии и видит на ленте соответствующий символ.
В целом таблица определяет действия МТ при всех возможных конфигурациях и тем самым полностью задаёт поведение МТ.
Описать алгоритм в виде МТ - значит предъявить такую таблицу.
До выполнения программы нужно проделать следующие предварительные действия.
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:
Таблица 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 |
Описание нормальных алгоритмов Маркова (НАМ).
Особенностью нормальных алгоритмов Маркова (НАМ) является использование одного элементарного действия - подстановки, которая определяется следующим образом.
Формулой подстановки называется запись вида б>в (читается «б заменить на в»), где б и в - любые слова включая пустые. При этом б называется левой частью формулы, а в - правой частью.
Сама подстановка (как действие) задается формулой подстановки и применяется к некоторому слову Р. Суть операции сводится к тому, что в слове Р отыскивается часть, совпадающая с левой частью этой формулы (т.е. с б), и она заменяется на правую часть формулы (т.е. на в). При этом остальные части слова Р (слева и справа от б) не меняются. Получившееся слово 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 -- Извлекает фонетические (фуригана) знаки из текстовой строки.
ПРОПНАЧ -- Делает прописной первую букву в каждом слове текста.
ЗАМЕНИТЬ -- Заменяет знаки в тексте.
ПОВТОР -- Повторяет текст заданное число раз.
ПРАВСИМВ -- Возвращает самые правые знаки текстовой строки.
ПОИСК -- Ищет вхождение одного текста в другой (без учета регистра).
ПОДСТАВИТЬ -- Заменяет в текстовой строке старый текст новым.
Т -- Преобразует аргумент в текст.
ТЕКСТ -- Форматирует число и преобразует его в текст.
СЖПРОБЕЛЫ -- Удаляет из текста пробелы.
ПРОПИСН -- Делает все буквы в тексте прописными.
ЗНАЧЕН -- Преобразует текстовый аргумент в число.
Таблица 3 Функции, использованные в лабораторной работе.
Функция |
Результат |
Назначение |
|
=ДЛСТР("Бабочка") |
7 |
Длина текста |
|
=ЗАМЕНИТЬ("Лампочка";3;2; "ст") |
Ласточка |
Замена символов внутри текста |
|
=И(ИСТИНА;ЛОЖЬ) |
ЛОЖЬ |
Логическое И |
|
=EСЛИ(F1>5;10;5) |
10 (здесь F1=7); 5 (здесь Fl=3) |
Проверяет условие и возвращает одно из двух значений |
|
=ЕТЕКСТ(155) |
ИСТИНА |
Если текст, возвращает логическое значение ИСТИНА |
|
=ЕЧИСЛО("Текст") |
ЛОЖЬ |
Если число, возвращает логическое значение ИСТИНА |
|
=НАЙТИ("Н";A2;1) |
(A2›“ЛИМОН”) (1-отсчет с первой позиции) 5 |
Ищет вхождение одного текста в другой (с учетом регистра). |
|
=ПОИСКПОЗ(39;B2:B5;1) |
2 (B2:B5›25/38/40/41) (1- функция находит наибольшее значение, которое меньше или равно значению аргумента 39) |
возвращается позиция ближайшего меньшего элемента (38) из диапазона B2:B5 (2) |
|
=ВПР(1;A2:C10;2;) |
(функция ищет в столбце A значение 1, находит наибольшее значение, которое меньше или равно 1 (если последний аргумент опущен или 1), а затем возвращает значение из столбца B в той же строке ) |
Ищет значение в первом столбце массива таблицы и возвращает значение в той же строке из другого столбца массива таблицы |
|
=СУММ(A2:A4) |
(A2:A4›2/4/6) 12 |
Суммирует все числа в интервале ячеек. |
|
=МАКС(A2:A6; 30) |
(A2:A6›50/23/40/7) 50 |
Возвращает наибольшее значение из набора значений |
|
=СЧЁТЕСЛИ(A2:A5;"яблоки") |
(Количество ячеек, содержащих текст «яблоки» в первом столбце таблицы ) Например 2 |
Подсчитывает количество ячеек внутри диапазона, удовлетворяющих заданному критерию. |
|
=ЕПУСТО(A2) |
(A2=5) ИСТИНА(то есть любая цифра >0) |
Проверяет, является ли ячейка C2 пустой |
|
=СЧЕТЗ(A2:A6) |
(A2>пусто, A3>6 ,A4>2, A5›5,A6›пусто) 3 |
Подсчитывает количество непустых ячеек в приведенном списке |
Основные понятия условного форматирования.
Условное форматирование - это инструмент электронных таблиц Excel, при помощи которого можно изменить форматирование ячеек (цвет заливки, шрифт, границы) в зависимости от заданного условия, не прибегая к помощи встроенного языка программирования Visual Basic for Applications. Условное форматирование может значительно упростить выделение определенных ячеек или диапазона ячеек и визуализацию данных с помощью гистограммы, цветовых шкал и наборов значков. Оно изменяет внешний вид диапазона ячеек на основе указанного условия (или критерия). Если условие выполняется, то диапазон ячеек форматируется в соответствии с заданным для условия форматом; если условие не выполняется, то диапазон ячеек не форматируется.
Например, можно выделить ячейку с текущей датой; ячейку с числом, входящим в указанный диапазон; ячейка с определенным текстом и т.п.
Условное форматирование позволяет автоматизировать выполнение однообразных операций. Например, необходимо в большой таблице данных закрасить красным цветом все ячейки, значение в которых превышает 100. Обычно это делается установкой фильтра>Больше 100 и отфильтрованные строки закрашиваются. При изменении данных таблицы необходимо повторить фильтрацию таблицы вручную. Если значения этих ячеек формируются при помощи условного форматирования - ячейки будут окрашены красным автоматически всякий раз при изменении данных.
...Подобные документы
Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.
курсовая работа [1,5 M], добавлен 07.07.2013Нормальный алгоритм Маркова. Тезис Маркова и машина Тьюринга. Гипотеза теории алгоритмов. Алгоритмически неразрешимые проблемы. Задача эквивалентности двух слов в ассоциативном исчислении. Задача распознавания выводимости. Линейная оценка сложности.
методичка [57,0 K], добавлен 06.07.2009Принципы работы и основы программирования машины Тьюринга, а также перечень правил написания алгоритмов на ее эмуляторе. Особенности решения задачи по сложению нескольких чисел в двоичной системе путем реализации ее алгоритма на эмуляторе машины Тьюринга.
контрольная работа [82,4 K], добавлен 05.12.2010Простое вычислительное устройство машина Тьюринга и ее алгоритмические свойства. Тезис Черча–Тьюринга и моделирование машины Тьюринга (операции перезаписи ячеек, сравнения и перехода к другой соседней ячейке с учетом изменения состояния машины).
контрольная работа [23,3 K], добавлен 24.04.2009Изучение методик языка Javascript по формализации и решению поставленной задачи, технологических приемов разработки программ на языке Javascript, HTML, CSS. Формально определение машины Тьюринга, распознающую язык. Ее программная модель, протоколы работы.
курсовая работа [220,7 K], добавлен 03.03.2015Методика разработки программы, предназначенной для разбора предложения с помощью многоленточной машины Тьюринга. Цели и назначение данной системы, основные требования, предъявляемые к ней. Организационно-исполнительные работы по содержанию системы.
курсовая работа [386,8 K], добавлен 16.12.2010Положения машины Тьюринга. Алгоритмически неразрешимые проблемы: "остановка", эквивалентность алгоритмов, тотальность. Свойства алгоритма: дискретность, детерминированность, результативность, массовость. Выбор структуры данных. Решение на языке Haskell.
курсовая работа [957,6 K], добавлен 16.11.2013Примеры запросов к одной из поисковых систем Интернет (подбор ключевых слов) и расчетов в табличном процессоре MS Excel (инструменты). Описание машины Тьюринга: составляющие и их функционирование. Основные форматы представления графических данных.
контрольная работа [24,5 K], добавлен 09.06.2009Происхождение и сущность понятия "алгоритм". Основные требования к алгоритмам. Роль абстрактных алгоритмических систем. Алгоритм как абстрактная машина. Алгоритмическая машина Поста. Схема логического устройства и функционирования машины Тьюринга.
реферат [62,2 K], добавлен 16.03.2011А.М. Тьюринг как английский математик, логик, криптограф, оказавший существенное влияние на развитие информатики. Понятие и назначение машины Тьюринга, принцип ее работы и сферы практического применения. Этапы реализации парадигмы программирования.
реферат [8,1 K], добавлен 04.10.2011Синтез и детерминизация, алгоритм минимизации автоматов–распознавателей. Машина Тьюринга как универсальный тип абстрактного преобразователя. Моделирование систем и событий с помощью сетей Петри. Методы синтеза структурных автоматов на базе триггеров.
учебное пособие [2,3 M], добавлен 17.06.2014Более строгое описание алгоритма, чем общее или формализация понятия алгоритма. Три подхода к формализации: теория конечных и бесконечных автоматов, теория вычислимых (рекурсивных) функций и л-исчисление Черча. Воображаемые машины Поста и Тьюринга.
реферат [370,0 K], добавлен 09.02.2009Автоматизация технологических процессов. Написание имитационных моделей систем с дискретными событиями. Модели систем массового обслуживания в общецелевой системе GPSS. Логическая схема алгоритмов и схема программы. Математическая модель и ее описание.
курсовая работа [1,4 M], добавлен 29.06.2011История возникновения и развития понятия "машинный интеллект". Суть теста Тьюринга, разработанного для оценки интеллекта машины. Принцип функционирования машины для решения головоломки из восьми фишек. Состояние распознавание образа, мышления, анализа.
презентация [479,6 K], добавлен 14.10.2013Исследование алгоритмов и характеристик существующих программных систем аналогов для проверки знаний: Aму Life Test Gold, SunRav TestOfficePro. Разработка архитектуры программной системы. Проверка программы в нормальных условиях, руководство пользователя.
курсовая работа [2,5 M], добавлен 17.06.2012Изучение условий поставленной задачи и используемых данных для разработки программы хранения информации о рейсах поезда. Описание разработанных функций, листинга, блок-схем алгоритмов и дерева функции. Рассмотрение сценария диалога данной программы.
курсовая работа [532,7 K], добавлен 20.07.2014Информационная система предприятия. Создание программы средствами Delphi 7 для обработки информации от пользователя и выдачи конечного результата для просмотра. Выбор программных и аппаратных средств. Методика расчета стоимости изготовления изделия.
отчет по практике [237,1 K], добавлен 05.03.2013Написание программы на языке Delphi - создание электронной записной книжки. Описание типов "запись", полей и массива, составление процедур. Создание приветствия и редактирование записи. Создание команды для вызова справки. Принцип работы программы.
контрольная работа [17,9 K], добавлен 23.09.2010Существующие альтернативы программы. Описание формул для выкроек, используемых в разработке. Описание разрабатываемой программы, а также структура ее интерфейса. Детальное описание возможностей и спецификация, функциональные особенности программы.
курсовая работа [427,4 K], добавлен 10.10.2015Изучение основных этапов программирования на ассемблере, который является символическим представлением машинного языка, то есть каждой машинной команде соответствует команда ассемблера. Реализация алгоритма выполнения программы для просмотра bmp файлов.
курсовая работа [248,0 K], добавлен 25.12.2012