Поделитесь своими знаниями, ответьте на вопрос:
Определите значение переменой С после выполнения следующего фрагмента алгоритма, в котором a, b, c - переменные вещественного типа. Для решения задачи построить трассировочную таблицу a:=74;b:=36;если b>a/2-1 то c:=(b+a)/4 иначе c:=b+a
//Pascal ABC.NET 3.1 сборка 1219
Type
ty=record
valu:integer;
count:integer;
end;
Const
n=3;
Var
ma:array[1..n,1..n] of integer;
tyar:array of ty;
se:set of integer;
i,j,z,k,MaxCount:integer;
begin
randomize;
se:=[];
k:=0;
MaxCount:=integer.MinValue;
writeln('Matrix:');
for i:=1 to n do
begin
for j:=1 to n do
begin
ma[i,j]:=random(-10,10);
write(ma[i,j]:4);
if not(ma[i,j] in se) then
begin
inc(k);
setlength(tyar,k+1);
tyar[k].valu:=ma[i,j];
tyar[k].count:=1;
se:=se+[ma[i,j]];
end
else
for z:=1 to k do {O(n^3) в худшем случае - нормальные люди ненавидят это}
if tyar[z].valu=ma[i,j] then
begin
inc(tyar[z].count);
break;
end;
end;
writeln;
end;
for i:=1 to k do
if MaxCount<tyar[i].count then MaxCount:=tyar[i].count;
writeln('Res:');
for i:=1 to k do if tyar[i].count=MaxCount then writeln(tyar[i].valu);
end.
Пример работы программы:
Matrix:
-7 -2 10
8 0 -2
6 10 1
Res:
-2
10