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

Схему взаимодействия модулей можно проследить на рис. 14.4.1, где двойные стрелки изображают передачу управления, одинарные — пересылку информации, пунктирные — засылку команд.
Такая схема организации совместной работы модулей может показаться чересчур сложной. Однако ее несомненное достоинство в том, что она позволила обеспечить неизменяемость модулей и независимое распределение памяти в них. Неизменяемость модулей в нашем примере проявляется, в частности, в постоянстве адресов р1п и р1к в основном модуле независимо от того, какой модуль используется для вычисления интеграла и где он расположен, и в независимости адресов /н и /к в подпрограмме 14.3.2 от вида подынтегральной функции и от места расположения модуля /.
Независимое распределение памяти позволяет в нашем примере писать основной модуль, не заботясь о том, как составлены и как работают обе подпрограммы. Например, разделение ячеек аъ Ьи пг и a, by а позволяет программисту, составляющему основной модуль, не интересоваться тем, портит или сохраняет подпрограмма 14.3.2 содержимое ячеек а, Ъ и п, куда засылаются ее аргументы. Даже если это содержимое портится, значения аргументов сохраняются в ячейках аъ Ьг и % и могут быть использованы в вычислениях, выполняемых после выхода из подпрограммы. Любая
из подпрограмм также может быть составлена без учета того, как написаны другие модули. Это особенно важно по отношению к подпрограмме 14.3.2. Действительно, подпрограмма вычисления интеграла, по-видимому, может оказаться полезной в очень многих программах, которые будут составляться, как правило, уже после того, как составлена и отлажена эта подпрограмма. Поэтому автор подпрограммы и не может ничего знать об устройстве и работе этих программ. Ему важно написать свою подпрограмму так, чтобы она работала надежно и правильно, как бы впоследствии ни изовдря-
лись программисты, составляющие другие программы, которые будут обращаться к его подпрограмме.
Разумеется, свобода действий этих программистов должна быть поставлена в какие-то рамки. В частности, автор основного модуля должен знать, что для вычисления интеграла в его модуле следует предусмотреть вычисление пределов интегрирования и числа шагов, но бесполезно, например, вычислять шаг интегрирования, поскольку подпрограмма 14.3.2 вычислит его сама.