// PascalABC.NET 3.3, сборка 1542 от 05.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var c1:=ReadlnChar('Введите первый символ:'); var c2:=ReadlnChar('Введите второй символ:'); Print(c1); if c1>c2 then Print('>') else if c1=c2 then Print('=') else print('<'); Println(c2) end.
Примеры Введите первый символ: a Введите второй символ: b a < b
Введите первый символ: d Введите второй символ: d d = d
Введите первый символ: z Введите второй символ: m z > m
Введите первый символ: q Введите второй символ: Q q > Q
Совершенно нет, рассмотрим такую вот программу:К примеру программа должна определять, является ли число положительным, предположим что имеется такая функция:
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, однако в других случаях она не вывести правельный ответ.Проще говоря, просто подтверждаем ответ на ваш вопрос - "НЕТ, программа не будет правильно функционировать в целом, а лишь в частных случаях".Производный вопрос - а как этого избежать? ответ: покрыть код программы и все её логические блоки - тестами.
// Внимание! Если программа не работает, обновите версию!
begin
var c1:=ReadlnChar('Введите первый символ:');
var c2:=ReadlnChar('Введите второй символ:');
Print(c1);
if c1>c2 then Print('>')
else
if c1=c2 then Print('=')
else print('<');
Println(c2)
end.
Примеры
Введите первый символ: a
Введите второй символ: b
a < b
Введите первый символ: d
Введите второй символ: d
d = d
Введите первый символ: z
Введите второй символ: m
z > m
Введите первый символ: q
Введите второй символ: Q
q > Q
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, однако в других случаях она не вывести правельный ответ.Проще говоря, просто подтверждаем ответ на ваш вопрос - "НЕТ, программа не будет правильно функционировать в целом, а лишь в частных случаях".Производный вопрос - а как этого избежать? ответ: покрыть код программы и все её логические блоки - тестами.