рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Стандартные схемы программ

Стандартные схемы программ - раздел Философия, ТЕОРИЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ Определение 5.4. Стандартная Схема – Это Схема Программ С Памят...

Определение 5.4. Стандартная схема – это схема программ с памятью, называемая также алголоподобной или операторной схемой.

 

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

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

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

 

Каждому распознавателю сопоставляется некоторый предикатный терм, а преобразователю – оператор присваивания, имеющий вид y := t, где y – символ переменной, а t - функциональный терм.

Конечная совокупность всех переменных в схеме образуют ее память.

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

 

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

 

Программа выполняется при движении по графу переходов:

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

- при попадании на преобразователь с оператором x:= a вычисляется значение a и присваивается переменной x.

Результат выполнения программы – состояние памяти при попадании на выходную вершину.

 

Пример 5.2. Графическое представление схемы программы, приведенной в примере 5.1, приведено на рис.5.1.

 

 
 

 

 


m 0

 

 

m1

 

Рис.5.1. Графическое представление схемы программы

 

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

Для примера используем другую интерпретацию предложенной ранее схемы. Возьмем в качестве области интерпретации множество V* всех слов в некотором алфавите V. Константу а заменим пустым словом e. Функциональные и предикатные символы заменим операциями и предикатом над словами:

g – двуместной функцией CONSCAR, приписывающий первую букву первого слова ко второму слову (т.е. CONSCAR (ac,b) = ab, здесь и далее функции языка ЛИСП);

h – одноместной функцией CRD, стирающей первую букву слова (т.е.CRD(ac) = c);

p – предикатом «равно пустому слову e».

Такая интерпретация схемы порождает программу, которая любое слово a1,a2,…,an в алфавите V, поданное в качестве начального значения переменной х, превращает в «перевернутое» слово an,an-1,…,a1.

 

Программа переворачивания слов:

 

начало целые х, у;

ввод (х);

у := e;

m: если х = e то на m1;

у := CONSCAR ( х, у);

х := CRD( х );

на m;

m1: вывод (у);

конец

 

 

Интерпретируя по-разному переменные, функциональные и предикатные символы, можно получить совершенно разные программы. Но все они будут устроены одинаково, имея одни и те же переменные, одни и те же типы операторов, одну и ту же логическую структуру и т.д. Значит, все эти программы имеют одну и ту же схему (здесь слово «схема» используется в общем смысле, подтверждая оправданность термина « схема программы»).

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

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

 

Между свойствами программ и свойствами схем программ устанавливается «терминологическая» связь. Например, говорят, что:

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

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

 

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

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

 

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

 

– Конец работы –

Эта тема принадлежит разделу:

ТЕОРИЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ

ПО РЫБОЛОВСТВУ... ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ... УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ МУРМАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ...

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

Что будем делать с полученным материалом:

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

Все темы данного раздела:

Тема 1.1. Понятие вычислительного процесса. Основные свойства
Современные системы управления содержат важный подкласс систем – управляющие устройства, осуществляющие координацию процессов с конечном множеством состояний. Работа таких устройств описыв

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

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

Композиция процессов
Рассмотрим два АП: процесс P1 = <S1, F1, I1, R1> (необязательно приведенный) и приведенный процесс P2п = <S

Модельная интерпретация асинхронного процесса с помощью сети Петри
Ситуациями в сети является начальная разметка М0 и все разметки, достижимые от М0, т.е. МÎR(À). Ситуация-инициатор – начальная разметка, результанты – множество к

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

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

Анализ безопасности и ограниченности
Утверждение 1. Сеть Петри ограниченна тогда и только тогда, когда символ w отсутствует в её дереве достижимости. Краткое обоснование. Присутствие символа w в дереве достижимо

Матричные уравнения
Другой подход к анализу сетей Петри основан на матричном представлении сетей Петри и решении матричных уравнений. Альтернативным по отношению к определению сети Петри À в виде пятерки <P,

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

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги