Cтраница 2
Хорошие программы юльзуются достаточно долго, и со временем они могут моди-цироваться и исправляться уже не тем программистом, кото-й их создавал. Поэтому необходима документация, позволяю-я работать с ними любому программисту. [16]
Методология PSP состоит из 7 этапов самосовершенствования, и, чтобы хорошо ее освоить, надо закончить специальные курсы. Однако даже простое знакомство с ее идеологией позволит любому программисту значительно улучшить свою работу. [17]
На самом деле одним из принципиальных достоинств языка Паскаль являются его простота и малый размер, поскольку в него включено лишь то, что необходимо для достижения целей, ставившихся при его разработке. Вирт существенно ограничил число различных конструкций в языке Паскаль, и, безусловно, практически любой программист обнаружит в нем отсутствие той или иной излюбленной конструкции. Таким образом, на основании сказанного выше мы делаем вывод, что критика языка Паскаль, связанная с отсутствием в нем тех или иных полезных конструкций, не является правильной. [18]
За исключением аварий пакетов программ, ложных сообщений об ошибках и нескольких ошибок из категории другие, остальные ошибки влияют на ход выполнения программ и вызывают ложные ошибки, неправильные результаты или ложные завершения программ. Могло бы показаться, что ложные ошибки и сообщения, возможно, не имеют серьезных последствий, однако любой программист вспомнит, сколько потеряно времени в поисках ложных ошибок в корректных программах. [19]
Трудно ли умножать числа, занимающие более 16 битов. Как Вы скоро увидите, вовсе нет. Любой программист, которому приходилось составлять программу умножения для 8-битового микропроцессора, знает, что наличие команды умножения компенсирует любые неудобства, связанные с расширением ее возможностей. [20]
В Windows вполне допустимо написать один код, который будет одинаково хорошо выполняться с CGA -, VGA - или EGA-монитором. Любой программист DOS, проделавший серьезную работу в мире графики, сразу поймет, что это очень большое достижение, даже если оно связано с несколькими затруднениями, которые с различных точек зрения освещаются в этой книге. [21]
Системное меню программы MenuTest. [22] |
Несмотря на наличие нескольких скользких моментов, работа с пользовательским меню, в общем-то, не сложна. Думаю, что любой программист, разрабатывающий программу для юной аудитории, должен использовать меню собственного изготовления. Эти меню могут придать программе забавный дружеский интерфейс, который был бы очень привлекателен для детей. [23]
Меню дисков после добавления в список сетевых дисков.| К плагинам из стандартного комплекта добавлены некоторые новые. [24] |
Довольно много их вы найдете на официальной страничке FAR Manager ( http: / / www. Там лежит более двух десятков плагинов. Встречаются они и на других серверах: любой программист имеет возможность написать свой внешний модуль для выполнения каких-то отсутствующих у FAR Manager a функций. [25]
Если все такие команды малой ЭВМ будут независимо реализовываться аппаратурой, то стоимость этой машины станет препятствием для ее широкого использования. Поэтому многие команды не только малых, но и средних машин реализуются на основе некоторого набора так называемых микрокоманд. Этот еще более низкий микропрограммный уровень полностью недоступен любому программисту. Исключением являются некоторые специализированные ЭВМ, в которых предусмотрены для пользователей средства микропрограммирования. Очевидно, что микропрограммная реализация команд приводит к относительному увеличению времени работы программы. [26]
Под этим подразумевается предварительная формулировка и запись алгоритма решения задачи с помощью графических и текстовых обозначений или символов алгоритмического языка. При этом придерживаются общеизвестных правил записи алгоритмов, так что любой программист может воспользоваться сформулированным алгоритмом для составления своей или для знакомства с ранее составленной программой. Основная цель формульной записи последовательности решения - короткая и четкая формулировка логики решения, позволяющая еще раз проверить метод решения, облегчить и упростить работу программиста при составлении программы. На этом этапе ему не надо держать в памяти адреса множества ячеек и все мелкие детали алгоритма, поскольку делается укрупненное описание процесса решения задачи. Составление программы теперь состоит в расписывании каждого этапа алгоритма в командах конкретной машины. [27]
По всей видимости, существует весьма большое количество всевозможных приемов и методов разработки алгоритмов. Однако среди имеющегося разнообразия этих методов можно выделить небольшой набор основных, в том смысле, что методы из такого набора применяются часто и лежат в основе многих процедур и алгоритмов. Можно утверждать, что знание приводимых ниже методов необходимо для любого программиста. Все обсуждаемые ниже методы рассматриваются на примере решения комбинаторных задач, но сфера их применения, безусловно, намного шире. [28]
Доскональное знание организации ввода-вывода необходимо, пожалуй, только системным программистам, занимающимся написанием операционных систем и различных обслуживающих программ. УВВ, так что в принципе рядовой программист может просто писать обращения к нужным модулям, не имея ни малейшего представления о действиях, необходимых для выполнения заказанных им операций. Однако не вызывает сомнения, что понимание организации выполнения операций ввода-вывода полезно любому программисту. [29]
Макрокоманды позволяют многократно из макроопределения с помощью макрогенератора получать на машинно-ориентированном языке группы команд с заданными параметрами и последовательностью команд, которые называются макрорасширениями. Макроопределения могут быть помещены в личную или системную макробиблиотеки и этим макроопределением может пользоваться любой программист. [30]