Вывод - процедура - Большая Энциклопедия Нефти и Газа, статья, страница 1
Если у вас есть трудная задача, отдайте ее ленивому. Он найдет более легкий способ выполнить ее. Законы Мерфи (еще...)

Вывод - процедура

Cтраница 1


Вывод процедуры - обусловливает выполнение соответствующих заранее определенных групп операций ( называемых процедурами) в той точке программы, в которой имеется вызов процедуры.  [1]

Как только текущая строка вывода процедуры FillLine заполнена, проверяется, не требуется ли выравнивание правого поля. Если да, то текущая строка вывода передается процедуре AddSpaces. Процедура AddSpaces добавляет пробелы между словами в строки вывода, так что строка в точности равна строке определенной длины. Пробелы добавляются вначале справа налево между словами строки, затем слева направо на очередных строках текста. Это сделано, чтобы добиться равномерного распределения насыщенности текста по странице. Когда строка выровнена, она посылается к процедуре PutLine для вывода.  [2]

Ниже в общих чертах описывается применение преобразований определяющих для вывода процедур Р1 и Р2 для предиката подмнож.  [3]

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

Эквивалентная подстановка - это одно из правил вывода в логике первого порядка, оказавшееся особенно полезным для манипулирования тем видом предложений, которые обычно участвуют в выводе процедур.  [5]

Удобно соединить этот метод с еще одной новой возможностью, которую мы назовем целенаправленным выводом. Под целенаправленным выводом мы понимаем вывод процедуры путем обработки исходного целевого утверждения, состоящего из вызова интересующего нас отношения.  [6]

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

Целевые утверждения образуются здесь в таком же духе, как и при исполнении логической программы. Вследствие использования резолюции исполнение программы ( Р, GI) порождает каждое новое целевое утверждение Gt i так, чтобы выполнялось отношение Р, Gt Gt i - При выводе процедур с целью выбора информации на каждом шаге вместо множества процедур Р используется спецификация S, и в общем случае для работы с более произвольным синтаксисом целевых утверждений требуются более сложные правила вывода, чем правило резолюции.  [8]

Имеется несколько причин, в силу которых синтетический подход оказывается особенно удобным для разработки логических программ. Во-первых, метод верификации, описанный в гл. V как вывод процедур, сразу же дает нам средство синтеза, способное гарантировать соответствие программ своим спецификациям: в процессе построения вывода эффективным образом получается текст программы. Во-вторых, отделение логики от управления означает, что программист может пользоваться этим средством, заранее не беспокоясь о всех деталях поведения: хотя синтез каждого сегмента программы может и предполагать некоторое определенное поведение, последнее самим сегментом окончательно не фиксируется, поскольку имеется возможность выбора того или иного управления независимо от логики сегмента.  [9]

Эта общая цель синтеза программы поддерживается в мыслях программиста за счет действий, которые ему нужно выполнять на каждом шаге и которые заключаются в применении некоторого выбранного из S факта к текущему целевому утверждению Gt обоснованным с точки зрения вычисления образом. Заметим, что в принципе программист мог бы ввести вывод в ту точку, где действительно решается исходное целевое утверждение, как будто бы он исполнял программу, множеством процедур которой является спецификация S. На практике, однако, этот вывод обычно заканчивается в некоторой более ранней точке, где может быть получена какая-либо полезная процедура. Поэтому, если цель исполнения программы - получить решение, то в процессе построения вывода процедур ищется способ ( процедура) получения решения.  [10]



Страницы:      1