Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Логические схемы алгоритмов




Схемы алгоритмов

 

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

 

 

Реализация алгоритма есть последовательное выполнение команд ЭВМ, каждая из которых в свою очередь является последовательностью элементарных действий-микрокоманд, выполняемых за один машинный такт.

Функцию задания алгоритма А. А. Ляпунов предложил записывать определенным способом, а именно в виде конечной строки, состоящей из символов элементарных действий Аi, где i изменяется от 1 до n (n – целое положительное число), логических функций αp (p =1,m) и специальных символов начала и конца стрелок с индексом, где индекс также целое положительное число.

Символы A1,A2,…,An он предложил называть операторами, а символы α12,...-логическими условиями. Логическое условие (ЛУ) - это такая функция, которая может принимать лишь два значения – 0 или 1. Оказалось, что с помощью введенных понятий возможно формально описать любой алгоритм, используя терминологию логики. Действительно, допустим символ α112) означает, что α1=1, если равенство истинно и α1=0 в противном случае.

Рассмотрим некоторый алгоритм как определенную последовательность операторов.

 

U = A1 α1­1 A2 α2 ­2 A3 α3 ­3… ¯2A10 α10­3… Ak

 

Будем считать, что ЛУ, за исключением α2, равны единице. Тогда выражение можно переписать в виде

 

U =A1 A2 α2­2 A3 … ¯2A10 … Ak ,

 

так как действия стрелок трактуются следующим образом: после выполнения оператора A1 проверяется его ЛУ α1; если α1=1, то выполняется следующий оператор, т.е. А2, а если α1=0, то необходимо в строке отыскать конец стрелки ¯1 и выполнить стоящее справа от неё элементарное выражение. Так как все ЛУ, кроме α2, равны 1, то это и позволяет нам перейти от первого выражения ко второму.

 

Определение. Логической схемой алгоритма (ЛСА) будем называть конечную строку, состоящую из символов операторов А1, А2, …, Аn, логических условий со стрелками α1­1, α2­2, … αm­m и концов стрелок ¯1, ¯2, … ¯m такую, что для каждого начала стрелки c индексом i найдётся один и только один конец стрелки с тем же индексом.

 

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

 

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

Из ранее приведённых рассуждений вполне понятно, что в любой ЛСА порядок выполнения операторов определяется состоянием всех ЛУ. Будем для определённости считать, что ЛУ могут изменять своё состояние, но только во время выполнения некоторого оператора.

Таким образом, описание алгоритма в общем виде в терминах ЛСА может быть представлено:

 

U = U (A1,…,An; p1,…,pm)

 

здесь Ai (i = 0, n) - множество операторов,

pj (j = (1, к)) - множество логических переменных, входящих в функции αt(p1,p2,…,pm).

 

Всевозможные наборы состояний логических переменных p1, …, pm обозначим

 

Δ1 , Δ2 ,…, Δm , Δm+1 , …

 

Тогда процесс реализации ЛСА для этой произвольной последовательности наборов определяется следующим образом:

1. Выбираем начальный набор независимых логических переменных Δ1.

2. Анализируем самое левое элементарное выражение ЛСА: если это ЛУ, то может быть два продолжения: при рi =1 переходим к анализу следующего элементарного выражения, а при рi = 0 переходим к анализу элементарного выражения, стоящего справа от конца стрелки с индексом i. При выполнении оператора совершается переход от набора Δ1 к Δs, где s – индекс выполняемого оператора.

Строка операторов, полученная в результате описанных действий, является значением ЛСА для заданной выше последовательности наборов.

 

Пример. Дана ЛСА U =A0p2­1p3­2¯1A2A3¯2A4A5AK

Рассмотрим процесс реализации ЛСА при всевозможных наборах ЛУ.

 

Δ1 = p2p3 U1 = A0A2A3A4A5AK;

Δ2 = p2!p3 U2 = A0A4A5AK;

Δ3 =!p2p3 U3 = A0A2A3A4A5AK= U1;

Δ4 =!p2!p3 U4 = A0A2A3A4A5AK= U1.

 




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


Дата добавления: 2015-05-26; Просмотров: 2529; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.