Cтраница 3
Программа 6 6 является клиентской программой, снабженной теми ж обшнмн функциона - р шмц срслствнми, что и функция main нэ программы 6.1, и ийпошнен-ной возможностями маЕ ипуллЕШЕТ массивами и элемекгами, инкапсулированными в утдсльнуя чолулях, Это обеспечивает, л HSICTKOCTH. Программа 6 6 обретается к Ештсрфейсу с целью выполнить операции exch n compcxch, исполь - jv - смыс рсрогрэммкЕ ми реализации ми раАчичнця РИЛОВ сортироьки. L благодари легко понимаемой семантике: ззр определении огераторон ирис ишнкя и оператора орега ( огь ниол-не подходят п ы н аи сей ЕКЛЯ. ДЦТЦЕЫХ item, В завершение программ иок реализации следует дал. [31]
Разработайте АТД, который позволяет клиентским программам выполнять сложение и умножение целых чисел произвольной точности. [32]
Разработайте АТД, который позволяет клиентским программам выполнять алгебраические операции над векторами чисел с плавающей точкой. [33]
Разработайте АТД, который позволяет клиентским программам выполнять алгебраические операции над матрицами абстрактных объектов, для которых определены операции сложения, вычитания, умножения и деления. [34]
Для работы со службой телеконференций существуют специальные клиентские программы. Так, например, приложение Microsoft Outlook Express, указанное выше как почтовый клиент, позволяет работать также и со службой телеконференций. Для начала работы надо настроить программу на взаимодействие е сервером групп новостей, оформить подписку на определенные группы и периодически, как и электронную почту, получать все сообщения, проходящие по теме этой группы. В данном случае слово подписка не предполагает со стороны клиента никаких обязательств или платежей - это просто указание серверу о том, что сообщения по указанным темам надо доставлять, а по прочим - нет. [35]
Данная организация налагает ограничения как на клиентскую программу, так и на реализацию. Клиентская программа не может получить доступ к информации никаким другим способом, кроме как за счет использования этого интерфейса. На нее возлагается ответственность за правильное использование дескрипторов: например, в реализации не существует сколь-нибудь подходящего способа проверки с целью выявления недопустимости такого действия, как использование клиентской программой дескриптора удаленного элемента. С другой стороны, реализация не может свободно перемещаться по информации, поскольку у клиентских программ имеются дескрипторы, которые они могут использовать на более поздних стадиях. Этот момент станет более понятным, когда мы приступим к исследованию деталей реализации. Как обычно, какой бы уровень детализации ни был бы выбран в наших реализациях, абстрактный интерфейс, такой как программа 9.8, представляет собой полезную отправную точку для нахождения компромисса между потребностями приложений и потребностями реализаций. [36]
Эта стратегия позволяет аккуратно выделить четыре компонента ( клиентскую программу, реализацию, представление данных и интерфейс) и обеспечивает максимальную гибкость в экспериментировании со структурами данных и алгоритмами. [37]
Данный интерфейс для АТД очереди по приоритетам дает клиентским программам возможность удалять элементы и менять приоритеты ( с использованием дескрипторов, предлагаемых программной реализацией), а также выполнять слияние очередей. [38]
Все эти характеристики объектов определяются вместе с сокрытием от клиентских программ любой информации о представлении данных. [39]
Проблема состоит в том, как вернуть эти данные удаленной клиентской программе. В данном примере я использую подход, который нравится мне больше всего: вместо того чтобы работать со сложными структурами данных SOAP, я возвращаю клиенту XML-документы. Я не могу понять, почему XML используется в рамках SOAP в качестве механизма передачи сообщений и при этом не используется для форматирования передаваемых данных. До сих пор лишь немногие веб-службы в качестве результатов своей работы возвращают XML-документы, и я не понимаю, почему другие программисты не используют XML в полной мере. [40]
Определите интерфейс АТД таблицы символов, который ITO J во л нет клиентским программам улалятъ конкретные элементы с использованием л крип трон it изменять ключи ( см. радели А. [41]
Можно заменять о шу реализацию лруюй, не делал никаких изменений в клиентских программах, подобных ц-мь которые р с млтрнвмнсь в разделе 4.3. Они отличаются только нрси во тельнисгью. LUI распределение: ПУМНТИ при каждой операции запюмнуть н освобождение памяти при кажлой оперении аытйлкнугпъ. Если требуется стек больших размеров, который об ы ч ко iy и ол ня е I с л J J p j k 1 ическ и п о л кост ью h сю - вили мо ну h п ре д г я он тсн и с сто ит отдать рсгиниацнн ка GHJC маслина. ECJIH же размер стека варьируется в пшрскчч п ц нрисутстную. [42]
Операция вставить возвращает дескриптор каждого объекта, добавляемого в очередь по приоритетам в клиентской программе. Дескрипторы объектов отличаются от дескрипторов очередей по приоритетам. При такой организации клиентские программы берут на себя обязанность отслеживать дескрипторы, которые впоследствии они могут использовать для определения, какие объекты подвергались воздействию со стороны операций удалить и изменить приоритет, и над какими очередями по приоритетам должны быть выполнены все указанные операции. [43]
Серверное программное обеспечение при совместимости протоколов передачи данных может обрабатывать почту, подготовленную различными клиентскими программами. Это программное обеспечение различается уровнями производительности, надежности, совместимости, устойчивостью к ошибкам, возможностями расширения. [44]
Когда клиентская программа выделит память для узла, пн удаляется из свободного списка, клиентская программа удаляет узел, он при & иывается к свободному списку. [45]