Cтраница 2
Длина подпрограммы ADITER составляет 29 байт, подпрограммы GRAN 19 байт. При написании подпрограммы ADITER предполагалось, что переменные z, у, у - положительные целые со знаком. Если при суммировании zn с j с помощью команды DAD ( девятая команда подпрограммы) возникнет переполнение 15-битовой разрядной сетки данных, то единица переполнения временно запоминается в 16-знаковом бите суммы. Такое расширение формата данных эквивалентно переходу к арифметике 16-битовых целых чисел без знака. После вычитания у с помощью команды CALL SBS2 о знаке результата, помещенного в HL, судят по состоянию триггера переноса, причем нуль соответствуе. [16]
Когда список сортируемых данных слишком велик, чтобы поместиться в основной памяти, забот у разработчика сортировки существенно прибавляется. Проблемы возникают, начиная с написания хорошей подпрограммы и до определения правильного равновесия между программой в целом и всеми сопутствующими характеристиками ввода-вывода, центрального процессора, разбиения на блоки и буферизации, передачи данных между компонентами программы. [17]
Работа с API упрощается после того, как становятся понятными основные прин - ципы этого интерфейса. Однако независимо от уровня понимания, написание подпрограмм API занимает время, которое можно сравнить со временем, потенциально сэкономленным при работе с API. Если подпрограмма создается для общего использования, нужно учесть возможность ее последующего и неоднократного применения, так что с этой точки зрения дополнительное время, затрачиваемое на написание подпрограммы, может быть вполне оправдано. [18]
Ранее уже было упомянуто о том, что транслятор имитирует действия программиста при составлении рабочей программы. Практически это означает, что в его блоках запрограммированы процессы написания подпрограмм для - всех используемых алгоритмов. [19]
Хотя язык Си и не содержит средств, необходимых для этой области применения, большая часть этих средств реализована в виде функций, входящих в состав стандартных библиотек. Примерами могут служить возможность работы со строками, механизм динамического распределения памяти и возможность работы с файлами. Язык Си позволяет написание подпрограмм с переменным числом параметров, но это приводит к созданию немобильных программ. Работа с символами, не имеющими графического представления, так же как и инициализация переменных на этапе трансляции, не вызывают никаких проблем при использовании языка Си, существенным недостатком которого для рассматриваемой области применения является отсутствие возможности работы с множествами. [20]
Использование констант типа Y обычно ограничено машинами с объемом памяти, не. Принципиальное использование констант типа S иллюстрируется в приведенных уже в этой главе примерах. Константы типа V используются при написании подпрограмм, где они содержат адрес входа в программу. [21]
Работа с API упрощается после того, как становятся понятными основные прин - ципы этого интерфейса. Однако независимо от уровня понимания, написание подпрограмм API занимает время, которое можно сравнить со временем, потенциально сэкономленным при работе с API. Если подпрограмма создается для общего использования, нужно учесть возможность ее последующего и неоднократного применения, так что с этой точки зрения дополнительное время, затрачиваемое на написание подпрограммы, может быть вполне оправдано. [22]
Этот тип структуры программы может быть вам незнаком. Многие из вас, возможно, имели дело с полностью завершенными программами, для которых требовались только входные данные. Такие программы, даже если они чрезвычайно сложны, не могут сравниться с практически неограниченной гибкостью и универсальностью программы, подобной CONDUCT, в которой можно задавать описание задачи и разрабатывать желательный вывод результатов посредством написания подпрограмм на языке ФОРТРАН. Конечно, нет необходимости в такой гибкости, когда программа используется для рутинных расчетов узкого класса задач. [23]