10
В таблице Dat хранятся данные о количестве проданных единиц товаров 10 типов (Dat[1] — проданных товаров первого типа, Dat[2] — второго типа и т.д.). Определите, что будет напечатано в результате выполнения следующего алгоритма, записанного на трёх языках программирования.
Алгоритмический язык
алг
нач
целтаб Dat [1:10]
цел к, m
Dat [1] = 45; Dat[2]:= 55
Dat [3] = 40; Dat[4]:= 15
Dat [5] = 20; Dat[6]:= 80
Dat [7] = 35; Dat[8]:= 70
Dat [9] = 10
Dat [10] := 45
m:= Dat[l]
нц для к от 2 до 10
если Dat[к] < Dat[l] то
m := m + Dat[k]
все
кц
вывод m
кон
Бейсик
DIM Dat(10) AS INTEGER
Dat(1)= 45 Dat(2)= 55
Dat(3)= 40 Dat(4)= 15
Dat(5)= 20 Dat(6)= 80
Dat(7)= 35 Dat(8)= 70
Dat(9)= 10 Dat(10)= 45
m = Dat(1)
FOR k = 2 TO 10
IF Dat(k) < Dat (1)
THEN
m = m + Dat(k)
END IF
NEXT k
PRINT m
END
Паскаль
var k, m: integer;
Dat: array[1..10]
of integer;
begin
Dat[1]:= 45; Dat[2]:= 55;
Dat[3]:= 40; Dat[4]:= 15;
Dat[5]:= 20; Dat[6]:= 80;
Dat[7]:= 35; Dat[8]:= 70;
Dat[9]:= 10; Dat[10]:= 45;
m:= Dat [1];
for k:= 2 to 10 do begin
if Dat[k] < Dat[1] then
begin
m:= m + Dat [k]
end
end;
write(m);
end.
Answers & Comments
Verified answer
Эм, ищем сумму элементов которые меньше первого и первогоvar
k, m: integer;
Dat: array[1..10] of integer;
begin
Dat[1] := 45;Dat[2] := 55;
Dat[3] := 40;Dat[4] := 15;
Dat[5] := 20;Dat[6] := 80;
Dat[7] := 35;Dat[8] := 70;
Dat[9] := 10;Dat[10] := 45;
m := Dat[1];
for k := 2 to 10 do
if Dat[k] < Dat[1] then
m := m + Dat[k];
write(m);
end.
Вывод 165