Cтраница 1
Проверка правильности программы еще не обеспечивает этойг правильности. Она лишь позволяет убедиться в правильности программы относительно выбранного теста ( в полной правильности, если тест полный, или в относительной - в противном случае) или обнаружить факт наличия ошибки. Далее следует работа по выявлению содержания ошибки и ее устранению. Эта работа носит название отладки программы. [1]
Проверка правильности программы осуществляется составителем перед записью программы. [2]
Второй шаг совершенствования программы. [3] |
При проверке правильности программы замечаем, что для значения степени загрязнения более 100 млн 1 ( для некоторого момента измерений) значение over увеличивается на единицу. Вполне очевидно, что необходимо зафиксировать начальное нулевое значение этой переменной. Поэтому необходимо производить начальную установку кмк-менной over вне цикла почасовой обработки измерений, чтобы количество отсчетов для первого часа было верным. [4]
Описан метод индуктивных утверждений для проверки правильности программ обработки многосвязных списков. Эти списки, называемые обобщенными файловыми структурами, способны поддерживать различные типы организаций файлов: индексно-последовательную, инвертированную и муль-тисписковую. В работе приведены примеры использования метода индуктивных утверждений. [5]
Печать исходного текста полезна при проверке правильности программы. [6]
Как уже говорилось, основным средством проверки правильности программы или отдельных ее частей является сравнение результатов, получаемых на машине с помощью этой программы, с заранее известными результатами - их несовпадение и свидетельствует о наличии ошибок в программе. [7]
Из других-средств, облегчающих составление и проверку правильности программ, пока отметим только необходимость предварительной записи алгоритма в другой, более наглядной форме, чем программа, даже снабженная примечаниями, - например, в виде блок-схемы или пошаговой записи. Малоопытные программисты часто пренебрегают этим этапом и, как правило, бывают наказаны. В лучшем случае отладка программы сильно затягивается, в худшем - ее вообще не удается довести до конца. При наличии наглядно записанного алгоритма упрощается и составление примечаний - они могут ссылаться на те или иные действия алгоритма и. [8]
Из других средств, облегчающих составление и проверку правильности программ, пока отметим только необходимость предварительной записи алгоритма в другой, более наглядной форме, чем программа, даже снабженная примечаниями, - например, в виде блок-схемы или пошаговой записи. Малоопытные программисты часто пренебрегают этим этапом и, как правило, бывают наказаны. В лучшем случае отладка программы сильно затягивается, в худшем - ее вообще не удается довести до конца. При наличии наглядно записанного алгоритма упрощается и составление примечаний - они могут ссылаться на те или иные действия алгоритма и использовать введенные там обозначения. [9]
В этой главе рассматриваются основные приемы разработки и проверки правильности программ, применение которых необходимо при решении на ЭВМ любых даже самых простых задач. [10]
Программа задачи о загрязнении среды после первого шага совершенствования. [11] |
После записи очередного шага процесса совершенствования программы производится мысленная проверка правильности программы. Последняя пока лишь вычисляет и печатает средние значения измеряемой величины и определяет отказы аппаратуры. Однако, как обычно, правильность программы в конечном счете зависит от раскрытия функции в строке 8.18 ( обработка нарушений режима) в рамках существующей структуры программы. [12]
Небольшие подпрограммы и наборы исходных данных, служащие для проверки правильности программ, составленных для реализации к. Так как программы первоначально содержат ошибки, поэтому проводится их автоматич. Они контролируют работу всей программы или ее частей. [13]
Однако преимущества строгого подхода перед эвристическим существенны не столько в отношении возможностей проверки правильности программ, сколько в выражении стабильности и целостности всего проекта. Проектирование на основе строгого подхода позволяет создавать более жизнеспособные проекты в смысле их кодирования и последующего обслуживания, чем это возможно при эвристическом подходе. В этой связи целесообразно вернуться к примеру, рассмотренному в гл. Пусть мы имеем программу, разработанную эвристическим путем, при исполнении которой встречаются ошибки, и при обнаружении каждой ошибки она прекращает работу. По прошествии некоторого времени такая программа станет весьма специфической, зависящей от того, какие ошибки были обнаружены. Если одни и те же ошибки встречаются в различной последовательности, то результирующие программы с внесенными исправлениями будут различны. Таким образом, специфичность программы определяется не только характером ошибок, но и последовательностью их обнаружения. [14]
К строгим методам относят такие методы проектирования, которые предполагают существование независимых аргументов проверки правильности программ. И наоборот, в эвристических методах такие аргументы отсутствуют. Доказательство правильности проекта, основанного на строгом подходе, может оказаться ошибочным вследствие заблуждений проектировщика. И в то же время эвристический подход может быть абсолютно правильным, даже несмотря на отсутствие независимого аргумента проверки правильности. Опыт проведения математических доказательств показывает, что строгий подход обычно дает верный результат, если проектировщики достаточно внимательны, а эвристические методы доказательства в случае сложных реализуемых функций часто приводят к ошибкам в тех или иных конкретных ситуациях. Например, применение эвристического подхода для решения задачи исключения тупиковых ситуаций для некоторого набора взаимодействующих асинхронных процессов не позволяет исключить возможности таких ситуаций; точно так же при попытке обработки всех возможных выражений языка программирования с помощью эвристических методов выясняется, что имеются выражения, которые не могут быть обработаны. Значительная часть программного обеспечения современных ЭВМ разработана на эвристической основе. Это приводит к появлению многочисленных исправлений в процессе эксплуатации программ. [15]