Совершенно нет, рассмотрим такую вот программу:К примеру программа должна определять, является ли число положительным, предположим что имеется такая функция:
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, однако в других случаях она не вывести правельный ответ.Проще говоря, просто подтверждаем ответ на ваш вопрос - "НЕТ, программа не будет правильно функционировать в целом, а лишь в частных случаях".Производный вопрос - а как этого избежать? ответ: покрыть код программы и все её логические блоки - тестами.
1) const n=10; var a:array[1..n]of integer; i,k:integer; begin for i:=1 to n do begin readln(a[i]);;; if a[i]mod 5=0 then k:=k+1; end; writeln; writeln(k); end.
2) const n=10; var a:array[1..n]of integer; i,S:integer; begin for i:=1 to n do begin a[i]:=random(21)-10; write(a[i]:4); if (abs(a[i]mod 10)=3) then S:=S+a[i]; end; writeln; writeln(S); end.
#include <iostream>
#include <cmath>
struct coord
{
double x;
double y;
};
using namespace std;
void TriangleExist(coord a, coord b, coord c)
{
double modAB = sqrt(pow((a.x-b.x),2)+pow((a.y-b.y),2));
double modAC = sqrt(pow((a.x-c.x),2)+pow((a.y-c.y),2));
double modBC = sqrt(pow((b.x-c.x),2)+pow((b.y-c.y),2));
if (modAB+modAC <= modBC)
cout << "Do not exist" << endl;
else if (modAC + modBC <= modAB)
cout << "Do not exist" << endl;
else if (modAB+modBC <= modAC)
cout << "Do not exist" << endl;
else
cout << "Exist" << endl;
}
int main()
{
coord A, B, C;
cin >> A.x >> A.y;
cin >> B.x >> B.y;
cin >> C.x >> C.y;
TriangleExist(A, B, C);
system("pause");
exit(0);
return 0;
}
Еще с чистым мейном.
#include <iostream>
#include <conio.h>
#include <cmath> //математическая библия, ну очень облегчает задачу :)))
using namespace std;
void main(void)
{
double Ax, Ay, Bx, By, Cx, Cy;
cin >> Ax >> Ay >> Bx >> By >> Cx >> Cy;
double modAB = sqrt(pow((Ax-Bx),2)+pow((Ay-By),2));
double modAC = sqrt(pow((Ax-Cx),2)+pow((Ay-Cy),2));
double modBC = sqrt(pow((Bx-Cx),2)+pow((By-Cy),2));
if (modAB+modAC <= modBC)
cout << "Do not exist" << endl;
else if (modAC + modBC <= modAB)
cout << "Do not exist" << endl;
else if (modAB+modBC <= modAC)
cout << "Do not exist" << endl;
else
cout << "Exist" << endl;
_getch();
return;
}