snab54
?>

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

Информатика

Ответы

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

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, однако в других случаях она не вывести правельный ответ.Проще говоря, просто подтверждаем ответ на ваш вопрос - "НЕТ, программа не будет правильно функционировать в целом, а лишь в частных случаях".Производный вопрос - а как этого избежать? ответ: покрыть код программы и все её логические блоки - тестами.
turaev-1098
Использовать Чертежник
алг
нач
  опустить перо
  М;И;Р
  сместиться на вектор(1,0)
  Р;И;М
  сместиться на вектор(1,0)
  М;И;М
кон

алг Р
нач
  опустить перо
  сместиться на вектор(0,3)
  сместиться на вектор(1,0)
  сместиться на вектор(0,-1)
  сместиться на вектор(-1,-0.5)
  поднять перо
  сместиться на вектор(2,-1.5)
кон

алг И
нач
  опустить перо
  сместиться на вектор(0,3)
  сместиться на вектор(0,-3)
  сместиться на вектор(1.5,3)
  сместиться на вектор(0,-3)
  поднять перо
  сместиться на вектор(1,0)
кон

алг М
нач
  опустить перо
  сместиться на вектор(0.75,3)
  сместиться на вектор(0.75,-3)
  сместиться на вектор(0.75,3)
  сместиться на вектор(0.75,-3)
  поднять перо
  сместиться на вектор(1,0)
кон
Svetlana1884
Using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace СиШарп
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Введите натуральное число: ");
            int C = int.Parse(Console.ReadLine());
            Console.Write("A = ");
            int A = int.Parse(Console.ReadLine());
            while (C > 0)
            {
                if (C % 10 == A) A = -1;
                C /= 10;
            }
            Console.WriteLine((A > -1?"Верно":"Не верно"));
            Console.ReadKey();
        }
    }
}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Доказывает ли получение правдоподобного результата правильности программы
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

luksorsps20096124
shuxratmaxmedov
борисовна Елена78
nastikak8
svetrusval
Petrushin482
Дружинин
bereza81
gen218
tolyan791
maltes
MaratФам
kotocafe45
vainshakov
smook0695