Задание № 12650

В таблице 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.


Показать ответ
Комментарий:

Рассмотрим на языке Паскаль

Изначально переменная m:=Dat[1], т.е.45

Условие Dat[k]<Dat[1] проверяет все элементы, которые меньше чем Dat[1] (Равной 45), при выполнении условия переменная m:= m+Dat[k]

Фактически m= 45+ сумма всех элементов которые меньше 45

Под условие подходят: Dat[3]:=40,Dat[4]:=15,Dat[5]:=20,Dat[7]:=35,Dat[9]:=10

Их сумма 40+15+20+35+10=120

m:=45+120=165

Ответ: 165

Ответ: 165

Нашли ошибку в задании? Выделите фрагмент и нажмите Ctrl + Enter.