КАТЕГОРИИ: Архитектура-(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 он предложил называть операторами, а символы α1,α2,...-логическими условиями. Логическое условие (ЛУ) - это такая функция, которая может принимать лишь два значения – 0 или 1. Оказалось, что с помощью введенных понятий возможно формально описать любой алгоритм, используя терминологию логики. Действительно, допустим символ α1 (х1=х2) означает, что α1=1, если равенство истинно и α1=0 в противном случае. Рассмотрим некоторый алгоритм как определенную последовательность операторов.
U = A1 α11 A2 α2 2 A3 α3 3… ¯2A10 α103… Ak
Будем считать, что ЛУ, за исключением α2, равны единице. Тогда выражение можно переписать в виде
U =A1 A2 α22 A3 … ¯2A10 … Ak ,
так как действия стрелок трактуются следующим образом: после выполнения оператора A1 проверяется его ЛУ α1; если α1=1, то выполняется следующий оператор, т.е. А2, а если α1=0, то необходимо в строке отыскать конец стрелки ¯1 и выполнить стоящее справа от неё элементарное выражение. Так как все ЛУ, кроме α2, равны 1, то это и позволяет нам перейти от первого выражения ко второму.
Определение. Логической схемой алгоритма (ЛСА) будем называть конечную строку, состоящую из символов операторов А1, А2, …, Аn, логических условий со стрелками α11, α22, … αmm и концов стрелок ¯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 =A0p21p32¯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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |