Разработать схему алгоритма для подсчёта количества отрицательных чисел среди целых чисел а,в,с.протестировать алгоритм для всех возможных случаев (когда количество отрицательных чисел равно 0,1,2,3,) кто понимает))
// PascalABC.Net 3.0, сборка 1052 function kn(a,b,c:integer):byte; { функция возвращает количество отрицательных среди a,b,c} var n:byte; begin if a<0 then n:=1 else n:=0; if b<0 then Inc(n); if c<0 then Inc(n); kn:=n end;
function cond(c:char;v:integer):string; { функция формирует строку вида с>0 или c<0 в зависимости от знака v} begin if v<0 then cond:=c+'<0 ' else cond:=c+'>=0' end;
procedure pv(a,b,c:integer; n:byte); { печать строки теста } var m:byte; begin m:=kn(a,b,c); Write(cond('a',a),' ',cond('b',b),' ',cond('c',c),' '); Write('отрицательных ',m); if n=m then Write(' - тест тестовое: ',n); Writeln end;
{ тестовое решение } const T:array[1..8,1..3] of integer=((1,1,1),(1,1,-1),(1,-1,1), (1,-1,-1),(-1,1,1),(-1,1,-1),(-1,-1,1),(-1,-1,-1)); R:array[1..8] of byte=(0,1,1,2,1,2,2,3); var i:byte; begin for i:=1 to 8 do pv(T[i,1],T[i,2],T[i,3],R[i]) end.
Тестирование: a>=0 b>=0 c>=0 отрицательных 0 - тест a>=0 b>=0 c<0 отрицательных 1 - тест a>=0 b<0 c>=0 отрицательных 1 - тест a>=0 b<0 c<0 отрицательных 2 - тест a<0 b>=0 c>=0 отрицательных 1 - тест a<0 b>=0 c<0 отрицательных 2 - тест a<0 b<0 c>=0 отрицательных 2 - тест a<0 b<0 c<0 отрицательных 3 - тест
Комп'ютер это сложный организм за которым нужно присматривать и следить за компонентами в особенности за кулерами,непонятно почему именно за ними сечас обьясню.кулер охлаждает важние детали такие как блок питания,процесор,видео карта которые при нагреве могут воспламенится или припой может потечь и всей системе может прийти срок или может испортится блок питания который питает систему,процессор который обрабатывает информацию,видео карту которая выводит и обрабатывает видео сигналы.но нерекомендуется пользоватся водным охлаждением или в народе их называют водянками потому-что вода может потечь на детали и к короткому замыканию! и нужно иметь антивирусную програму для защиты данных.
function kn(a,b,c:integer):byte;
{ функция возвращает количество отрицательных среди a,b,c}
var
n:byte;
begin
if a<0 then n:=1 else n:=0;
if b<0 then Inc(n);
if c<0 then Inc(n);
kn:=n
end;
function cond(c:char;v:integer):string;
{ функция формирует строку вида с>0 или c<0 в зависимости от знака v}
begin
if v<0 then cond:=c+'<0 ' else cond:=c+'>=0'
end;
procedure pv(a,b,c:integer; n:byte);
{ печать строки теста }
var
m:byte;
begin
m:=kn(a,b,c);
Write(cond('a',a),' ',cond('b',b),' ',cond('c',c),' ');
Write('отрицательных ',m);
if n=m then Write(' - тест тестовое: ',n);
Writeln
end;
{ тестовое решение }
const
T:array[1..8,1..3] of integer=((1,1,1),(1,1,-1),(1,-1,1),
(1,-1,-1),(-1,1,1),(-1,1,-1),(-1,-1,1),(-1,-1,-1));
R:array[1..8] of byte=(0,1,1,2,1,2,2,3);
var
i:byte;
begin
for i:=1 to 8 do pv(T[i,1],T[i,2],T[i,3],R[i])
end.
Тестирование:
a>=0 b>=0 c>=0 отрицательных 0 - тест
a>=0 b>=0 c<0 отрицательных 1 - тест
a>=0 b<0 c>=0 отрицательных 1 - тест
a>=0 b<0 c<0 отрицательных 2 - тест
a<0 b>=0 c>=0 отрицательных 1 - тест
a<0 b>=0 c<0 отрицательных 2 - тест
a<0 b<0 c>=0 отрицательных 2 - тест
a<0 b<0 c<0 отрицательных 3 - тест