Cтраница 3
В целом структурное программирование содержит набор правил, помогающих писать хорошие программы. Оно включает также новые методы, которые только начинают складываться и призваны повысить надежность программ. [31]
Мы обсудим только структуру решения задачи Восьмерка, потому что хорошая программа чересчур сложна и может увести нас в сторону от полезных экспертных систем. [32]
Хотя Алгол допускает довольно сложные конструкции операторов перехода, признаком хорошей программы на Алголе считается как можно более редкое использование в ней этих операторов. Другие управляющие структуры, в частности условные операторы и операторы цикла, помогают избежать применения операторов goto. Степень наглядности программы на Алголе без операторов goto по всей видимости и лежит в основе дискуссии о переходах ( см. разд. [33]
Язык Паскаль в чистом виде имеет ряд недостатков, затрудняющих написание хороших программ. Наиболее неприятной проблемой, по крайней мере с нашей точки зрения, является то, что размер массива служит частью его типа, и поэтому невозможно написать функции или процедуры общего назначения, с помощью которых обрабатывались бы массивы разных размеров в разные моменты. Мы преодолеваем эту проблему как только можем, но она представляется весьма серьезным препятствием. [34]
Все эти предложения составляют, на наш взгляд, в целом хорошую программу реального обеспечения безопасности в Европе, программу упрочения мира на европейском континенте. [35]
Второе, на что обращается внимание в книге, - как писать хорошие программы. Как уже упоминалось, мы надеемся передать Вам принципы: хорошего проектирования для того, чтобы Вы писали программы, пригодные для работы и простые в эксплуатации и модификации; проектирования с учетом человеческих факторов, чтобы Вы могли применять их удобным для вас образом; надежности, чтобы Вы получали правильные ответы; и эффективности, чтобы Вы могли позволить себе использовать их на машине. [36]
Варианты конструкций сортирующих программ неисчислимы, и надо применять обычные принципы составления хороших программ. Выгодно ли программу обмена и программу движения по данным создавать внешними по отношению к программе сравнений, передать ли предварительную обработку записей и ключей в функцию сравнения, сосредоточить ли ее на предварительном просмотре - все эти факторы влияют на реализацию сортировки и ее конечную производительность. [37]
Мне могут справедливо сказать: одно дело высказать хорошее пожелание, наметить хорошую программу, установить лучшую цель, и совсем другое дело то, что мы на деле имеем или можем иметь в нашей действительности для осуществления этой основной задачи. [38]
Есть несколько веских причин, чтобы пользоваться поименованными константами вместо их значений, и хорошие программы редко содержат значения констант вне раздела определений Иой стант. Предположим, идентификатор размерстраницы представ - - ляет размер страниц, на которых программа печатает результаты своей работы, и предположим, что эта программа разрабатывалась в условиях работы с устройством, страницы которого содержали по 60 строк, а затем программу надо было мвдифйцирО - вать для работы с меньшими страницами на которых не умещается больше 40 строк. [39]
Приведенные в книге сведения о машинах достаточны для программирования для них, однако чтобы получить хорошие программы, кроме этих сведений, необходима еще некоторая тренировка. [40]
![]() |
Схема иерархии начисления удержаний. [41] |
Она хороша также тем, что явно группирует взаимосвязанные функции - это ключ к проектированию хороших программ. [42]
Приведенные в книге сведения о машинах достаточны для программирования для них, однако, чтобы получить хорошие программы, кроме этих сведений, необходима еще некоторая тренировка. [43]
Главное заключается в другом - именно на этих хорошо известных в математике задачах показано, как трудно создать хорошую программу даже в той области, где кажется, что уже нет никаких проблем. [44]
![]() |
Область поток., рнссматpnпасма я при тс-чеини в окнах перегородок.| Область потока до н после1 крайних перегородок. [45] |