Помогите срочно 100 баллов плаоао
Ответы
Ответ:
var
Dat: array [1..10] of Integer = (70, 80, 90, 100, 80, 40, 40, 70, 80, 90);
i, m, k: Integer;
begin
k := 1;
m := dat[k];
WriteLn (' k, m, i, Dat[k]<m');
for i := 2 to 10 do begin
if Dat [i] < m then begin
m := Dat [i];
k := i;
end;
WriteLn (k:3, m:3, i:4, ' ', Dat[i]<m);
end;
writeln ('m = ', m);
writeln ('k = ', k);
ReadLn;
end.
Объяснение:
трассировочная таблица на скриншоте
===== PascalABC.NET =====
Программа для получения трассировочной таблицы
begin
var dat := Arr(0, 70, 80, 90, 100, 80, 40, 40, 70, 80, 90);
var k := 1;
var m := dat[k];
for var i := 2 to 10 do
begin
if dat[i] < m then
begin
(m, k) := (dat[i], i);
$'k={k} m={m} i={i} dat[i]<m=True'.Println
end
else
$'k={k} m={m} i={i} dat[i]<m=False'.Println;
end;
writeln('m=', m);
writeln('k=', k)
end.
Результат выполнения (трассировочная таблица)
k=1 m=70 i=2 dat[i]<m=False
k=1 m=70 i=3 dat[i]<m=False
k=1 m=70 i=4 dat[i]<m=False
k=1 m=70 i=5 dat[i]<m=False
k=6 m=40 i=6 dat[i]<m=True
k=6 m=40 i=7 dat[i]<m=False
k=6 m=40 i=8 dat[i]<m=False
k=6 m=40 i=9 dat[i]<m=False
k=6 m=40 i=10 dat[i]<m=False
m=40
k=6