ПОИСК Статьи Рисунки Таблицы Методы контроля вычислений из "Программирование проектных расчетов" Процесс разработки алгоритмов и составления программ достаточно сложен, требует большой затраты труда и высокой квалификации. Как в любом процессе, связанном с деятельностью человека, в процессе алгоритмирования и программирования возможны случайные ошибки. Ошибки могут быть допуш,ены в преобразованиях при выводе формул, в оценке точности, в вычислениях констант, в кодировании команд. [c.76] Ошибки алгоритмирования возникают в процессе приведения расчетных формул к виду, удобному для программирования. Трудно предсказать содержание этих ошибок, но они возможны и с этим необходимо считаться. [c.76] Ошибки алгоритмирования, как правило, не удается выявить в процессе программирования и расчетов на машине. Более того, они целиком входят в программу, искажая результаты, и так как в программе допускаются другие ошибки, то их смешение чрезвычайно затрудняет проверку правильности и алгоритмов, и программ. Поэтому проверку правильности алгоритмов следует производить до начала программирования. [c.76] В том случае, когда не удается обеспечить независимость способов получения результатов, можно сравнивать результаты двух расчетов по одному и тому же алгоритму, если их выполнение поручить разным вычислителям. [c.77] Вычисления при сравнениях следует производить с максимальной требуемой точностью. [c.77] В отличие от ошибок первой группы ошибки программирования обнаруживаются в процессе решения задач на машине. Процесс обнаружения ошибок, допущенных при программировании, называется отладкой программы. [c.77] К наиболее распространенным ошибкам второй группы относятся ошибки при кодировании информации, при переводе констант в двоичную систему, при нарушении порядка действий при программировании, прп занесении информации в одни и те же адреса и другие. [c.77] Количество ошибок в программе можно существенно уменьшить, если по составленной программе символически проделать все действия, указанные кодами команд. Эта проверка дает наилучший результат, если поручить ее программисту, не принимавшему участие в составлении программы. Но и после такой проверки все-таки останутся некоторые ошибки. [c.77] В процессе отладки программы на машине обнаруживаются уже все ошибки программирования. [c.77] Подготавливаясь к процессу отладки, программист должен составить подробный план работы. От тш ательности и продуманности плана зависит длительность отладки. Уменьшение времени отладки снижает стоимость программирования, сокраш,ает его сроки. [c.78] При составлении плана отладки целесообразно придерживаться определенного порядка. В первую очередь удобно проверить правильность работы стандартных подпрограмм. Это делается для выявления случайных ошибок, которые могут возникнуть в процессе замены символических адресов действительными. Иногда нри отладке стандартных подпрограмм удается обнаружить допущ,енные в библиотеке стандартных подпрограмм опечатки. Возможно даже обнаружение некоторых промахов при составлении этих программ. Для проверки подпрограмм удобно нсно.тьзовать произвольные аргументы, для которых легко получить вручную соответствуюш ее значение функции или нужный результат. [c.78] Закончив проверку стандартных подпрограмм, можно перейти к отладке рабочих подпрограмм, в которых часто используются уже проверенные стандартные подпрограммы. Отлаживая рабочие подпрограммы, надо учитывать особенности взаимодействия этих подпрограмм с основной программой. [c.78] Отладив все подпрограммы, можно приступать к отладке основной, управляющей программы. [c.78] В табл. 7 приведен отрывок примерного плана отладки программы расчета воздухоподогревателя на машине Урал-1 . План составлен с учетом использования возможностей управления машиной с пульта. В шестой графе плана кратко указывается поэтапное содержание работы и некоторые предварительные действия, для чего часто оказывается удобным с целью сокращения записи кодировать соответствующие действия операциями машины и действительными адресами отлаживаемой программы. [c.78] Приступая к очередному этапу отладки, прежде всего необходимо набрать адрес останова, пользуясь тумблерами Останов по адресу . Так, на первом этапе отладки набираем останов по адресу 1154, выполняем необходимые действия но вводу программы, включая контрольное суммирование. После останова, пользуясь тумблерами контрольного регистра, набираем адреса 7760 и 7766, проверяя совпадение содержимого этих ячеек с записанным в плане. Совпадение укажет на правильность работы подпрограммы перевода из двоично-десятичной системы счисления в двоичную. [c.78] На втором этапе надо набрать останов по адресу 0255, с пульта занести в регистр команд число 027766, выполнить эту команду, нажав кнопку Однотактный режим , набрать в регистр команд операцию 220200, выполнить ее в однотактном режиме и нажать кнопку Пуск . После печати машина должна будет остановиться по адресу 0255. На ленте должно быть отпечатано число 050000000. [c.78] Ввести исходные данные и перевести в двоичную систему. [c.79] Продолжая таким же образом, выполним всю отладку программы. Отлаживая программу, программист обычно пользуется тумблерами Останов по адресу , различными режимами работы машины (однотактный и автоматический на машине Урал-1 , циклический, тактовый и автоматический на машине Минск-1 ), восьмеричной и десятичной печатью, — т. е. всей клавиатурой пульта управления. Этот метод отладки по суш еству является ручным методом. [c.80] Чтобы повысить темпы от.иадки, применяют автоматические методы ее. В основе автоматических методов отладки лежит использование специальных отладочных программ. К отладочным программам относятся, например, такие программы библиотеки [3] как программы прокрутки, блокировки, Луч и Сыщик , комбинация прокрутки и блокировки — отладочная программа . В лгашине Урал-1 при отладке полезно использовать II режим печати программы, когда на бумажной ленте последовательно печатаются коды команд и результаты соответствующих им операций. [c.80] Вернуться к основной статье