26 мая 2013

Задача 5.10 (а-г).

Крылов С.С., Ушаков Д.М. «ЕГЭ информатика. Тематические тестовые задания», с.99-100, «Экзамен», Москва, 2013.

Вариант (а):
Значения двумерного массива размера  n x n задаются с помощью вложенного оператора цикла в представленном фрагменте программы (вариант на языке Pascal):

for i := 1 to n do
for k := 1 to n do
if i > k then
      A[i,k] := 1
else
      A[i,k] := 0;

Как будет зависеть от  n сумма элементов массива A после выполнения алгоритма? Напишите формулу вычисления суммы элементов массива A, в зависимости от n.

Решение:
Пусть i – номер строки, k – номер столбца.
Вычислим для наглядности значения массива A размером 5 х 5:


i   \   k
1
2
3
4
5
1
0
0
0
0
0
2
1
0
0
0
0
3
1
1
0
0
0
4
1
1
1
0
0
5
1
1
1
1
0

Очевидно, что в этом частном случае сумма элементов массива A  будет   равна 1 + 2 + 3 + 4 = 10.

В общем случае сумма элементов массива A размером  n x n  вычисляется как сумма последовательных натуральных чисел от 1 до  n – 1 по формуле    n (n – 1) / 2.


Вариант (б):
Значения двумерного массива размера  n x n задаются с помощью вложенного оператора цикла в представленном фрагменте программы (вариант на языке Pascal):

for i := 1 to n do
for k := 1 to n do
if i = k then
      A[i,k] := 1
else
      A[i,k] := -1;

Как будет зависеть от  n сумма элементов массива A после выполнения алгоритма? Напишите формулу вычисления суммы элементов массива A, в зависимости от n.

Решение:
Пусть i – номер строки, k – номер столбца.
Вычислим для наглядности значения массива A размером 5 х 5:

i   \   k
1
2
3
4
5
1
1
-1
-1
-1
-1
2
-1
1
-1
-1
-1
3
-1
-1
1
-1
-1
4
-1
-1
-1
1
-1
5
-1
-1
-1
-1
1

Из этого примера видно, что сумма элементов массива A  по каждой строчке будет  равна   2 - n, а сумма всех элементов массива A находится как  n (2 – n).
Внимание!  В книге приведен неправильный ответ:   n n2.


Вариант (в):
Значения двумерного массива размера  n x n задаются с помощью вложенного оператора цикла в представленном фрагменте программы (вариант на языке Pascal):

for i := 1 to n do
for k := 1 to n do
if i > k then
      A[i,k] := 1
else
    A[i,k] := -1;

Как будет зависеть от  n сумма элементов массива A после выполнения алгоритма? Напишите формулу вычисления суммы элементов массива A, в зависимости от n.

Решение:
Пусть i – номер строки, k – номер столбца.
Вычислим для наглядности значения массива A размером 5 х 5:

i   \   k
1
2
3
4
5
1
-1
-1
-1
-1
-1
2
1
-1
-1
-1
-1
3
1
1
-1
-1
-1
4
1
1
1
-1
-1
5
1
1
1
1
-1


Сумма элементов массива размером  n x n  вычисляется как сумма диагональных элементов и будет равна    - n.


Вариант (г):
Значения двумерного массива размера  n x n задаются с помощью вложенного оператора цикла в представленном фрагменте программы (вариант на языке Pascal):

for i := 1 to n do
for k := 1 to n do
if i > k then
      A[i,k] := i
else
      A[i,k] := -k;

Как будет зависеть от  n сумма элементов массива A после выполнения алгоритма? Напишите формулу вычисления суммы элементов массива A, в зависимости от n.

Решение:
Пусть i – номер строки, k – номер столбца.
Вычислим для наглядности значения массива A размером 5 х 5:

i   \   k
1
2
3
4
5
1
-1
-2
-3
-4
-5
2
2
-2
-3
-4
-5
3
3
3
-3
-4
-5
4
4
4
4
-4
-5
5
5
5
5
5
-5

Из этого примера видно, что сумма элементов, расположенных выше и ниже диагонали таблицы, будет равна 0.
Таким образом, сумма элементов всего массива  A  равна взятой со знаком минус сумме  последовательных натуральных чисел от 1 до  n и  определяется формулой  - n (n + 1) / 2.


Комментариев нет: