Предмет: Информатика, автор: ДашаМил13

ПОМОГИТЕ ПОЖАЛУЙСТА!!!



var k, m, day: integer;
Dat: array[1..10] of integer;
begin
Dat[1]:=7; Dat[2]:= 1;
Dat[3]:= 3; Dat[4]:= 3;
Dat[5]:= 2; Dat[6]:= 2;
Dat[7]:= 5; Dat[8]:= 5;
Dat[9]:= 7; Dat[10]:= 1;
day:= 1; m:= Dat[1];
for k:= 2 to 10 do begin
if Dat[k] < m then
begin
m:= Dat[k]; day:= k
end
end;
write(day);
end.


ПрофессорНиколаевич: А что делать то?
ПрофессорНиколаевич: Найти ошибку?
ДашаМил13: определить, что будет напечатано в результате алгоритма

Ответы

Автор ответа: ПрофессорНиколаевич
2

Будет выведенно 2. Это индекс минимального числа в массиве.


ПрофессорНиколаевич: Если не сложно, отметьте как лучшее.
ДашаМил13: Отмечу. Только пожалуйста объясните как это решать
ДашаМил13: с чего начинается алгоритм, что первое сравнивается. 1 и 7 или 1 и 1?
ПрофессорНиколаевич: Смотри.
Начинается алгоритм с заполнения массива Dat. (Если без заполнений, то сравнивается m (Dat[1]) и Dat[2] ).
Первым сравнивается m (Dat[1]) и Dat[2]. То есть минимальное значение и k-ый элемент.
ПрофессорНиколаевич: То есть, сперва k=2, а m(минимальное значение)=Dat[1].
ДашаМил13: То есть сначала сравнивается 1 и 7, правильно?
ПрофессорНиколаевич: Да.
Похожие вопросы
Предмет: История, автор: beker1