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

Все эле­мен­ты дву­мер­но­го мас­си­ва A раз­ме­ром 10х10 эле­мен­тов пер­во­на­чаль­но были равны 0. Затем зна­че­ния эле­мен­тов ме­ня­ют­ся с по­мо­щью вло­жен­но­го опе­ра­то­ра цикла в пред­став­лен­ном фраг­мен­те про­грам­мы:

 

Бей­сикPython

FOR n = 1 TO 4

    FOR k = n TO 4

        A(n,k) = A(n,k) + 1

        A(k,n) = A(k,n) + 1

 

    NEXT k

NEXT n

 

for n in range(1, 5):

    for k in range(n, 5):

        A[n][k] = A[n][k] + 1

        A[k][n] = A[k][n] + 1

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

for n:=1 to 4 do

    for k:=n to 4 do begin

        A[n,k] : = A[n,k] + 1;

        A[k,n] : = A[k,n] + 1;

    end;

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

    нц для k от n до 4

        A[n,k] : = A[n,k] + 1

        A[k,n] : = A[k,n] + 1

    кц

кц

Си++

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

    for (k = n; k <= 4; k++) {

        A[n][k] = A[n][k] + 1;

        A[k][n] = A[k][n] + 1;

    }

}

 

Сколь­ко эле­мен­тов мас­си­ва в ре­зуль­та­те будут равны 1?

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

Ре­ше­ние.

Опе­ра­ция A[n,k] : = A[n,k] + 1 при за­дан­ных n и k уве­ли­чи­ва­ет на 1 эле­мен­ты пер­вых четырёх строк и столб­цов, име­ю­щих но­ме­ра на­чи­ная с но­ме­ра стро­ки до 4.

 

Опе­ра­ция A[k,n] : = A[k,n] + 1 при за­дан­ных n и k уве­ли­чи­ва­ет на 1 эле­мен­ты строк, име­ю­щих но­ме­ра на­чи­ная с но­ме­ра столб­ца до 4.

 

На­ри­су­ем из­ме­ня­ю­щий­ся фраг­мент чис­ло­вой таб­ли­цы:

 

1 + 1111
11 + 111
111 + 11
1111 + 1

 

Видим, что опе­ра­ции пе­ре­сек­лись на 4-х эле­мен­тах, т. е. 12 эле­мен­тов будут равны 1.