Главная страница
Навигация по странице:

  • Ошибки анализа

  • Ошибки физического характера

  • Правильность программ

  • Синтаксические ошибки

  • Неопределенные переменные

  • Обнаружение ошибок.

  • Лекция по ошибкам. Ошибки лекция. Виды ошибок. Определение ошибок по. Классификация ошибок


    Скачать 53.59 Kb.
    НазваниеВиды ошибок. Определение ошибок по. Классификация ошибок
    АнкорЛекция по ошибкам
    Дата09.11.2021
    Размер53.59 Kb.
    Формат файлаdocx
    Имя файлаОшибки лекция.docx
    ТипПрограмма
    #267646

    Виды ошибок. Определение ошибок ПО. Классификация ошибок

    Ошибки в программах могут допускаться от самого начального этапа составления алгоритма решения задачи до окончательного оформления программы. Разновидностей ошибок достаточно много. Рассмотрим некоторые группы ошибок и соответствующие примеры:



    Вид ошибки

    Пример

    Неправильная постановка задачи

    Правильное решение неверно сформулированной задачи

    Неверный алгоритм

    Выбор алгоритма, который привел к неточному или неэффективному решению задачи

    Ошибка анализа

    Неполный перечень ситуаций, которые могут возникнуть при решении задачи, наличие логических ошибок

    Семантические ошибки

    Неправильное понимание порядка выполнение оператора

    Синтаксические ошибки

    Нарушение правил, которые определяются выбранным ЯП

    Ошибки при выполнении операций

    Использование слишком большого числа, деление на ноль, извлечение квадратного корня из отрицательного не комплексного числа и т.д.

    Ошибки в данных

    Неправильно определен возможный диапазон изменения данных

    Опечатки

    Неправильное использование схожих по внешнему виду символов

    Ошибки ввода/вывода

    Неправильное считывание входных данных, неправильное задание форматов данных


    Также, ошибки могут относится к самым разным частям кода:

    • ошибки обращения к данным,

    • ошибки описания данных,

    • ошибки вычислений,

    • ошибки при сравнении,

    • ошибки в передаче управления,

    • ошибки ввода-вывода,

    • ошибки интерфейса,





    Ошибки






    Ошибки выполнения

    Ошибки компоновки

    Ошибки компиляции



    Классификация ошибок по этапу обработки программы





    Ошибки выполнения





    Ошибки накопления погрешностей

    Ошибки определения данных


    Логические ошибки









    Кодирования

    Проектирования

    • Игнорирование ограничений разрядной сетки

    • Игнорирование способов уменьшения погрешности

    • Ошибки передачи

    • Ошибки преобразования

    • Ошибки перезаписи

    • Неправильные данные






    • Некорректная работа с переменными

    • Некорректные вычисления

    • Ошибки межмодульных интерфейсов

    • Неправильная реализация алгоритма

    • Неправильный метод

    • Неверный алгоритм

    • Неверная структура данных



    Классификация ошибок этапа выполнения



    Ошибки анализа.
    Связаны либо с неполным учетом ситуации, которые могут возникнуть, либо с неверным решением задачи.
    К первому случаю относятся, например, пренебрежение возможностью появления отрицательных значений переменных, малых и больших величин.
    Во втором случае обычно имеют место крупные и мелкие логические ошибки, из которых можно назвать:

    1. Отсутствие заданий начальных значений переменных.

    2. Неверные условия окончания цикла.

    3. Неверную индексацию цикла.

    4. Отсутствие задания условий инициирования цикла.

    5. Неправильное указание ветви алгоритма для продолжения процесса решения задачи.

    Ошибки общего характера.
    После того, как найден подходящий алгоритм решения задачи, на этапе программирования также могут появиться ошибки, независимо от выбранного языка.
    Такими ошибками могут быть:

    • ошибки из-за недостаточного знания или понимания программистом языка программирования или самой машины

    • ошибки, допущенные при программировании алгоритма, когда команды, используемые в программе, не обеспечивают последовательности событий, установленной алгоритмом.

    Ошибки физического характера.
    Можно назвать несколько типов ошибок, вызываемых неверными действиями разработчика:

    1. Пропуск некоторых операторов.

    2. Отсутствие необходимых данных.

    3. Непредусмотренные данные.

    4. Неверный формат данных.

    Большое значение для успешной отладки программы имеют простота и рациональность ее кодирования. Когда программа написана аккуратно и логично, легче избежать ошибок или выявить их в случае возникновения.
    Следует избегать возможных «костылей», т.к. чем их больше, тем труднее отладка программы для самого автора, а кто-то другой этого сделать просто не сможет.
    Правильность программ.
    Любые программы - правильные в отношении их логического построения только для определенного типа данных, поэтому необходимо четко определить область значений данных, в которой программа способна функционировать. Необходимо вводить операторы, позволяющие проверить, находятся ли данные в установленных границах.
    Нарушение правильности может проявляться двумя способами:

    • неверная синтаксическая конструкция программы

    • программа выдает неверные результаты

    Правильность синтаксиса означает, что должны быть точно сформированы наименования переменных; арифметические и логические операции должны подчиняться определенным синтаксическим правилам и т.п.

    Синтаксические ошибки.
    Выявление транслятором синтаксических ошибок представляет собой самый важный и необходимый этап отладки программы.
    Если под синтаксической ошибкой понимать "всякое нарушение требований языка программирования", то следует признать, что многие ошибки остаются необнаруженными.
    В качестве примеров синтаксических ошибок можно назвать:

    • пропуск необходимого знака пунктуации

    • несогласованность скобок

    • пропуск нужных скобок

    • неправильное формирование оператора

    • неверное образование имени переменной

    • неправильное использование арифметических операторов

    • неверное написание зарезервированных слов

    Примерами синтаксических ошибок, охватывающих взаимодействие двух или более операторов, могут служить:

    1. Противоречивые команды.

    2. Отсутствие условий окончания цикла.

    3. Дублирование или отсутствие меток.

    4. Отсутствие описания массива.

    5. Запрещенный переход.

    Советы по устранению ошибок:

    1. Если ошибок много, то в первую очередь устранить очевидные.

    2. Обратиться к руководству по программированию на данном языке (справка).

    3. Выбрать хороший отладочный компилятор.

    Неопределенные переменные.
    Распространенными источниками программных ошибок являются неопределенные переменные и переменные, для которых не заданы начальные значения.
    Определение начальных значений:

    1. Присваивание.

    2. Ввод.

    3. Чтение из файла.

    Разные прогоны программы с одними и теми же данными могут привести к различным результатам.

    Обнаружение ошибок.

    Ситуации, по которым мы определяем, что в программе есть ошибка:

    1. Отсутствует уверенность в том, что программа начала выполняться.

    2. Программа начала выполняться, но произошел преждевременный останов с выдачей или без выдачи сообщений о системной ошибке.

    3. Программа начала выполняться, но зациклилась.

    4. Программа выдала неправильную информацию.

    Любая из этих ситуаций требует проверки последовательности выполнения команд. Обычно для этого пригодна трассировка. Процесс обнаружения ошибок характеризуется выявлением двух мест в программе:

    • точки обнаружения

    • точки происхождения

    Точка обнаружения - место в программе, где ошибка себя проявляет или становится очевидной.
    Точка происхождения - место в программе, где возникают условия для появления ошибки.
    Точка обнаружения выявляется первой и служит отправным пунктом для поиска точки происхождения. Действительная ошибка исходит не из точки обнаружения, а из точки происхождения.


    написать администратору сайта