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

Mynir Mynir    1   08.09.2019 06:20    7

Ответы
ovrvoin2 ovrvoin2  20.08.2020 23:19
Совершенно нет, рассмотрим такую вот программу:К примеру программа должна определять, является ли число положительным, предположим что имеется такая функция:

boolian isNumberMoreThenZero(integer num)   //функция булевая, т.е.
//возращает одно из значений - true/false, принемает на вход число
{
    boolian result;     //есть переменная хранящая результат,
                                //или ответ если пожелаете

    result = false;     //по умолчанию он равен false

        if (num <= 0)    //тут к примеру ОШИБКА,
                                //проверяем является ли число больше либо равно 0
                                //(мы допустили ошибку и указали меньше)

        {
            result = true;      //если да, то число положительное и ответ true
        }
    return result;     //вернуть значение
}

Если на входных данных будет 0 - он является положительным числом, программа выведет true - что является правильным ответом.Но если мы введем любое отрицательное число, то ответ так же будет true - что является ошибкой.Подай на вход мы положительное число, то программа выведет false - и это ошибка.
Вывод такой:Функция функционирует правильно в часных случаях, к примеру как с 0, однако в других случаях она не вывести правельный ответ.Проще говоря, просто подтверждаем ответ на ваш вопрос - "НЕТ, программа не будет правильно функционировать в целом, а лишь в частных случаях".Производный вопрос - а как этого избежать? ответ: покрыть код программы и все её логические блоки - тестами.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика