В таблице Dat хранятся данные о количестве самолётов, отправляющихся из аэропорта
В таблице Dat хранятся данные о количестве самолётов, отправляющихся из аэропорта городка на юг в первой декаде августа (Dat[1] количество самолётов первого числа, Dat[2] количество самолётов второго числа и т. д.). Обусловьте, что будет написано в итоге исполнения последующего метода, записанного на трёх алгоритмических языках.
Var k, m, day: integer;
Dat: array[1...10] of integer;
Begin
Dat[1] := 2;
Dat[2] := 2;
Dat[3] := 3;
Dat[4] := 3;
Dat[5] := 2;
Dat[6] := 2;
Dat[7] := 5;
Dat[8] := 5;
Dat[9] := 6;
Dat[10] := 6;
day:=1; m := Dat[1];
for k := 2 to 10 do
if Dat[k] =lt; m then
begin
m:= Dat[k];
day := k;
end;
write(day);
End.
Растолкуйте пожалуйста по подробнее
Если условие верно, m: присваиваем значение Dat[k], day := k.
1 шаг Сопоставляем Dat[k] =lt; m (Dat[2]( а это 2)=lt;2
Да, верно m:=2, day :=2.
2 шаг 3 =lt; 2 Нет, оставляем m:=2, day :=2
3 шаг 3 =lt; 2 Нет, m:=2, day :=2
4 шаг 2 =lt; 2 , да, m:=2, day :=5
5 шаг 2 =lt; 2 , да, m:=2, day :=6
6 шаг 5 =lt; 2 Нет, m:=2, day :=6
7 шаг 5 =lt; 2 Нет, m:=2, day :=6
8 шаг 6 =lt; 2 Нет, m:=2, day :=6
9 шаг 6 =lt; 2 Нет, m:=2, day :=6
На экране будет число 6 (write(day))
При этом если таких дней несколько будет избран заключительный из их.
В нашем случае это 6.
Ниже в программке после // написано объясненье к нижеследующему коду.
Var k, m, day: integer;
Dat: array[1...10] of integer;
Begin
// Тут определяются значения элементов массиа Dat - количество самолетов за каждый денек декады
Dat[1] := 2;
Dat[2] := 2;
Dat[3] := 3;
Dat[4] := 3;
Dat[5] := 2;
Dat[6] := 2;
Dat[7] := 5;
Dat[8] := 5;
Dat[9] := 6;
Dat[10] := 6;
//переменным денек и m присваиваются исходные значения
//переменная m предназначена для запоминания промежуточного результата работы метода.
day:=1; m := Dat[1];
//организуем цикл в котором каждый (начиная со второго) денек сравнивается с текущим значением m в котором фиксируется каждый раз наименьшая величина из 2-ух сравниваемых по количеству самолетов
for k := 2 to 10 do
//если кол-во самолетов в текущий денек (Dat[k]) меньше либо одинаково самому меньшему количеству самолетов за прошлые деньки ( мы помним, что m изначально присвоили значение для первого денька)), то значение m меняем на значение Dat[k] и переменной day присваиваем номер этого денька
if Dat[k] =lt; m then
begin
m:= Dat[k];
day := k;
end;
//после работы цикла выводим заключительнее значение day. т.е. номер денька, в котором вылетело меньше всего самолетов
write(day);
End.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.