Втаблице dat хранятся данные о количестве самолётов, отправляющихся из аэропорта города на юг в первой декаде августа (dat[1] — количество самолётов первого числа, dat[2] — количество самолётов второго числа и т. определите, что будет напечатано в результате выполнения следующего алгоритма, записанного на трёх алгоритмических языках. алгоритмический язык бейсик паскаль алг нач целтаб dat[1: 10] цел k, m, day dat[1] : = 2 dat[2] : = 2 dat[3] : = 3 dat[4] : = 3 dat[5] : = 4 dat[6] : = 4 dat[7] : = 5 dat[8] : = 5 dat[9] : = 6 dat[10] : = 6 day: =1; m : = dat[1] нц для k от 2 до 10 если dat[k] > = m то m: = dat[k] day : = k все кц вывод day кон dim dat(10) as integer dat[1] = 2 dat[2] = 2 dat[3] = 3 dat[4] = 3 dat[5] = 4 dat[6] = 4 dat[7] = 5 dat[8] = 5 dat[9] = 6 dat[10] = 6 day = 1: m = dat(1) for k = 2 to 10 if dat(k) > = m then m = dat(k) day = k end if next k print day end var k, m, day: integer; dat: of integer; begin dat[1] : = 2; dat[2] : = 2; dat[3] : = 3; dat[4] : = 3; dat[5] : = 4; dat[6] : = 4; 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] > = m then begin m: = dat[k]; day : = k; end; write(day); end.
Значение переменной m после завершения цикла будет = 6, а значение переменной day будет = 10. На экран будет выведено значение 10.
Начальные присваивания:
day:=1; m := Dat[1];
Затем в цикле элементы массива (начиная со второго) сравниваются с текущим значением переменной m (Dat[k] >= m). Если это условие выполняется, то значение переменных m и day меняются. Таким образом, после проверки всех элементов массива в переменной m будет записано максимальное значение (точнее - последнее максимальное, так как знак сравнения >=), а в переменной day - номер элемента массива, имеющего это максимальное значение.
Ну это конечно нормально, смешать три языка программирования в одну кучу ... Ну то, что на Pascal выцарапал. Даже не знаю, стоило ли тратить время на это.
Ну а ответ: day = 10
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]:= 4;Dat[6]:= 4;
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] >= m then begin
m:= Dat[k];
day := k;
end;
write(day);
end.