Напишите программу, которая получает с клавиатуры натуральное число и находит наибольшую цифру в его десятичной записи. Пример: Введите число? 311 Наибольшая цифра: 3
2) const N=8; M=10; var p:array[1..N,1..M] of integer; i,j:integer; begin for i:= 1 to N do for j:=1 to M do begin p[i,j]:=i*j; write(p[i,j],' ') end; end.
3) const N=4; M=6; var z:array[1..N,1..M] of integer; i,j,sum,pr:integer; begin randomize;sum:=0; pr:=1; for i:= 1 to N do for j:=1 to M do begin z[i,j]:=random(100); write(z[i,j],' '); sum:=sum+z[i,j]; pr:=pr*z[i,j]; end; writeln(); write('сумма ',sum,' произведение ',pr); end.
4) const N=5; M=5; var a:array[1..N,1..M] of integer; i,j,sum,pr:integer; begin randomize; sum:=0; pr:=1; for i:= 1 to N do for j:=1 to M do begin a[i,j]:=random(100); write(a[i,j],' '); sum:=sum+a[i,j]; pr:=pr*a[i,j]; end; writeln(); write('сумма ',sum,' произведение ',pr); end.
Совершенно нет, рассмотрим такую вот программу:К примеру программа должна определять, является ли число положительным, предположим что имеется такая функция:
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, однако в других случаях она не вывести правельный ответ.Проще говоря, просто подтверждаем ответ на ваш вопрос - "НЕТ, программа не будет правильно функционировать в целом, а лишь в частных случаях".Производный вопрос - а как этого избежать? ответ: покрыть код программы и все её логические блоки - тестами.
const
N=8;
M=10;
var p:array[1..N,1..M] of integer;
i,j:integer;
begin
for i:= 1 to N do
for j:=1 to M do
begin p[i,j]:=i*j; write(p[i,j],' ')
end;
end.
3)
const
N=4;
M=6;
var z:array[1..N,1..M] of integer;
i,j,sum,pr:integer;
begin
randomize;sum:=0;
pr:=1;
for i:= 1 to N do
for j:=1 to M do
begin z[i,j]:=random(100);
write(z[i,j],' ');
sum:=sum+z[i,j];
pr:=pr*z[i,j];
end;
writeln();
write('сумма ',sum,' произведение ',pr);
end.
4)
const
N=5;
M=5;
var a:array[1..N,1..M] of integer;
i,j,sum,pr:integer;
begin
randomize;
sum:=0;
pr:=1;
for i:= 1 to N do
for j:=1 to M do
begin
a[i,j]:=random(100);
write(a[i,j],' ');
sum:=sum+a[i,j];
pr:=pr*a[i,j];
end;
writeln();
write('сумма ',sum,' произведение ',pr);
end.
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, однако в других случаях она не вывести правельный ответ.Проще говоря, просто подтверждаем ответ на ваш вопрос - "НЕТ, программа не будет правильно функционировать в целом, а лишь в частных случаях".Производный вопрос - а как этого избежать? ответ: покрыть код программы и все её логические блоки - тестами.