Cтраница 4
Структура программы расчета трехмерной задачи во многом похожа на рассмотренную в § 3.5. структуру программы для одномерной задачи. Основное отличие состоит в организации расчетов внутри цикла по времени. [46]
Структура программы квадратичной аппроксимации исходных характеристик ГЭС очевидна из приведенного в параграфе 2 - 2 описания. [47]
Такая структура программы может быть расширена для обработки больших наборов объектов, которые находятся справа от стрелки в грамматических правилах. [48]
Когда структура программы определена, остается составить перечень команд для каждой из выделенных последовательностей. [49]
Какая структура программы на бейсике соответствует циклу До, циклу Пока. [50]
Такая структура многофазной программы называется структурой с перекрытием. Использование структур с перекрытием позволяет минимизировать необходимый для программы объем основной памяти. [51]
Такая довольно беспорядочная структура программы позволяет легко объединять новые подпрограммы и сегменты программ, странслированные в выполняемую форму во время вы полнения программы, с уже имеющимися элементами программы. Однако во многих случаях это приводит к ошибкам, поскольку пропуск явного перехода на инструкцию может вызывать неправильную передачу управления внутрь тела подпрограммы или из него. [52]
Ясность структуры программы дает программисту большие преимущества. Программу, структура которой отражает стру ктуру лежащего в ее основе алгоритма, легче писать, отлаживать, модифицировать и понимать. Прекрасно сконструированный алгоритм может стать совершенно невразумительным, если синтаксис языка программирования втискивает его в неестественную для него форму. [53]
Изучение структуры программ показало, что программы - даже альтернативные программы для одной и той же задачи и с тем же математическим содержанием - могут очень сильно различаться по своей удобочитаемости и предсказуемости. Было открыто несколько правил, нарушение которых либо серьезно нарушает, либо полностью разрушает удобочитаемость и предсказуемость поведения программы. Имеется два рода правил. Примером служит исключение операторов go to и процедур с более чем одним внешним параметром. Что касается правил второго рода, то я по крайней мере - возможно, из-за отсутствия компетентности - не вижу способов их механического установления, поскольку, по-видимому, требуется некое устройство для доказательства теорем; неизвестно, можно ли обеспечить такой механизм. Таким образом, в настоящее время, а может быть, и навсегда, правила второго рода представляют собой элементы той дисциплины, которая требуется от программиста. Некоторые из правил, которые я имею в виду, настолько очевидны, что им легко обучить, и не может возникнуть споров по поводу того, удовлетворяет ли им данная программа или нет. Примерами служат требования, что нельзя написать цикла, не обеспечив доказательства правила остановки или без формулирования соотношения, которое остается неизменным, сколько бы раз не выполнялись повторяемые операторы. [54]
Планирование структуры программы в виде одного нереентерабельного и одного реентерабельного загрузочного модуля или в виде одного нереентерабельного и нескольких реентерабельных загрузочных модулей начинается уже на этапе разделения. В нашем примере рассматриваются два варианта организации программы. [55]
![]() |
Пример программы с перекрытием. [56] |
Планирование структуры программы во многих случаях необходимо делать еще на этапе разработки алгоритма для того, чтобы наилучшим образом построить логику программы и наиболее эффективно использовать ресурсы вычислительной системы. [57]
Пример структуры программы на языке АЛГОЛ показан на рис. 5.2. В приведенном примере внутри блока / имеются на правах самостоятельных операторов блоки 2 и 3, которые в отношении друг к другу независимы, а по отношению к блоку / являются внутренними. Такая сложная иерархическая структура программы является универсальным средством для описания алгоритмов решения самых разнообразных задач и вносит соответствующее упорядочение в соподчинение тех объектов, которые используются в этой программе. [58]
Планирование структуры программы во многих случаях необходимо делать еще па этапе разработки алгоритма для того, чтобы наилучшим образом построить логику программы и наиболее эффективно использовать ресурсы вычислительной системы. [59]