Cтраница 2
Поскольку сопроцессор 8087 имеет стек-ориентированную архитектуру, то программирование для него на языке ассемблера может потребовать выработки определенных навыков. Однако то небольшое количество времени, которое Вам придется на это затратить, с лихвой компенсирует муки написания процедур для выполнения арифметических операций над числами повышенной точности. [16]
Макрос ( Macro) - набор команд, который позволяет автоматизировать выполнение операций или создавать новые операции. В большинстве программ Microsoft Office макросы представляют собой программы на языке Visual Basic, но в Access это не так: для создания макросов существует - п мчс / ьш набор специальных команд, a Visual Basic используется для написания более сложных процедур и функций. Существует и способ конвертации: макрокоманды можно запускать средствами Visual Basic. В окне базы данных Access есть специальная вкладка, позволяющая создавать и запускать макросы. [17]
В листинге 7.5 показана процедура, которая лежит в основе первого прохода ассемблера. Названия процедур были выбраны таким образом, чтобы была ясна их суть. Листинг 7.5 представляет собой хорошую отправную точку для изучения. Он достаточно короткий, он легок для понимания, и из него видно, каким должен быть следующий шаг - это написание процедур, которые используются в данном листинге. [18]
Операнд RECORD предназначен для извлечения вычисляемой записи по ключу хеширования, первичной записи - по значению поля-адреса и вторичной записи - по цепи поиска. Последняя возможность требует комментария. При описании вторичной записи одна из цепей, где эта запись является детальной, объявлена цепью поиска. Если эта цепь сортированная, то для извлечения детальной записи оператором RETRY RECORD достаточно инициировать соответствующую цепь и задать значение ключа сортировки искомой записи. Такая возможность освобождает программиста от написания процедуры просмотра цепи в поисках требуемой записи. [19]
Кроме того, предполагается использование всевозможных встроенных предикатов. Встроенный предикат-это такой предикат, который является частью Пролога и для которого пользователю нет необходимости записывать процедуру. Любая Пролог-система поставляется вместе с большим числом таких предикатов. Часть из них обеспечивает возможности, которые вообще нельзя реализовать в Прологе. Другая их часть предоставляет весьма полезные возможности, которые избавляют программиста от написания собственных процедур. [20]
Эти странности не имеют никакого значения, если единственным назначением процедуры является демонстрация сущности отношения быть подсписком для двух списков. Но процедуры чаще всего пишутся не для этого, а для того, чтобы использовать их внутри больших программ. Методы и стратегии разработки больших программ на Прологе составляют содержание второй части книги. Они базируются на том допущении, что программистом проверен и понят каждый аспект режима работы всех отдельно взятых процедур. Этому допущению лишь частично удовлетворяет подход к программированию на Прологе, основанный на выражении логических взаимосвязей. Этот подход может обеспечить некие озарения как отправные точки при написании процедур, но он должен быть обязательно дополнен детальным исследованием процедурного режима работы написанной программы. [21]
Внешний уровень реализуется в СУБД СЕТЬ с использованием механизма подсхемы. Подсхема, представляющая собой описание структуры данных приложения, выполняется на ЯОД подсхемы и содержит описание записей, наборов и областей, требуемых приложению. В подсхеме могут быть определены логические записи. Структура логической записи представляет собой соединение структур записей подсхемы, которые выступают в качестве ее элементов. Использование аппарата логических записей позволяет устранить в ПП детальную спецификацию процедур навигации в БД. При описании логической записи кроме перечня ее элементов задаются процедуры интерпретации операторов манипулирования логическими записями. Написание интерпретирующих процедур выполняется с помощью ряда операторов ЯМД, в которых задаются требуемые выражения селекции записей БД. Кроме того, с помощью отдельного оператора могут быть описаны действия, которые должны быть предприняты в зависимости от результата выполнения оператора ЯМД. [22]