Задания
Версия для печати и копирования в MS Word
Тип Д19 № 3365
i

Дан фраг­мент про­грам­мы, об­ра­ба­ты­ва­ю­щей двух­мер­ный мас­сив A[1..5,1..4]:

 

Бей­сикPython

k = 4

FOR m = 1 TO 4

    k = k + 1

    FOR n = 1 TO 5

        k = m - k

        A(n,m) = n*n+m*m-2*k

    NEXT n

NEXT m

 

k = 4

for m in range(1, 5):

   k += 1

   for n in range(1, 6):

      k=m-k

      A[n][m]=n*n+m*m-2*k

Пас­кальАл­го­рит­ми­че­ский язык

k:=4;

for m:=1 to 4 do begin

   k:=k+1;

   for n:=1 to 5 do begin

       k:=m-k;

       A[n,m]:=n*n+m*m-2*k;

    end;

end;

k:=4

нц для m от 1 до 4

    k:=k+1

    нц для n от 1 до 5

        k:=m-k

        A[n,m]:=n*n+m*m-2*k

    кц

кц

 

Си++

k = 4;

for (m = 1; m <= 4; m++) {

    k = k + 1;

    for (n = 1; n <= 5; n++) {

        k=m-k;

        A[n][m]=n*n+m*m-2*k;

    }

}

 

Чему будет равно зна­че­ние A[3,1]?

Спрятать решение

Ре­ше­ние.

Най­дем A[3,1]:

m=1, зна­чит, пер­вый цикл прой­дет толь­ко один раз и из него вый­дет k:= k + 1 = 4 + 1 = 5.

 

Вто­рой цикл прой­дет 3 раза:

1.  k:=m - k = 1 - 5 = -4;

2.  k:=m - k = 1 - (-4) = 5;

3.  k:=m - k = 1 - 5 = -4.

 

Те­перь уже вы­чис­лим A[3,1]:=3*3 + 1*1 - 2*(-4)=9 + 1 + 8 = 18.