Задача №4929

Задания A12 по информатике с решением

Поиск задачи:

Здесь представлено решение задачи по информатике. Если у вас возникли сложности в решении то вы можете воспользоваться ответами которые размещены на данной странице. Вы конечно можете не согласиться с ответами, но данная информация размещена с целью ознакомления. Списывать с ответов или решать самому выбирать вам. Данная задача по теме ЕГЭ
Решение задачи:

Уважаемые посетители сайта, если вы не согласны с той информацией которая представлена на данной странице или считаете ее не правильной, не стоит попросту тратить свое время на написание негативных высказываний, вы можете помочь друг другу, для этого присылайте в комментарии свое "правильное" решение и мы его скорее всего опубликуем.

Условие задачи:

A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниж е фрагменте программы массив сначала
заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
k:=A[10-i];
A[10-i]:=A[i];
k:=A[i];
end;
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 0 1 2 3 4 5 6 7 8 9 10
3) 0 1 2 3 4 5 4 3 2 1 0
4) 10 9 8 7 6 5 6 7 8 9 10
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=0,
i=1: a[1]=1,
i=2: a[2]=2,
...
i=10: a[10]=10.
Второй цикл, не меняет местами значения первых пяти элементов с последующими, потому что
переменной k присваивается поочерёдно два разных значения, что никак не зависит от
операции
A[10-i]:=A[i] и нигде не учитывается.
i=0: a[10]=a[0]=0,
i=1: a[9]=a[1] = 1,
...
i=4: a[6]=a[4] = 4.
Поэтому в результате выполнени программы элементы массива будут равны: 0, 1, 2, 3, 4, 5, 4, 3, 2,
1, 0.
Правильный ответ указан под номером 3.
A12 Значения двумерного массива задаются с помощью влож енного оператора цикла в
представленном фрагменте программы:
for n:=1 to 5 do
for k:=1 to 5 do
B[n,k] := n + k;
Чему будет равно значение B[2,4]?
1) 9
2) 8
3) 7
4) 6
Пояснение.
Очевидно, что значение элемента B[2,4] = 2 + 4 = 6.
Правильный ответ указан под номером 4.

A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниж е фрагменте программы массив сначала
заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
k:=A[i];
A[i]:=A[i+5];
A[i+5]:=k;
end;
Чему будут равны элементы этого массива?
1) 5 6 7 8 9 0 1 2 3 4 10
2) 10 9 8 7 6 5 4 3 2 1 0
3) 0 1 2 3 4 5 4 3 2 1 0
4) 1 0 3 2 5 4 7 6 9 8 10
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=0,
i=1: a[1]=1,
i=2: a[2]=2,
...
i=10: a[10]=10.
Второй цикл, меняем значения элементов a[i] и a[i+5] местами:
i=0: a[0] = 5 и a[5] = 0,
i=1: a[1] = 6 и a[6] = 1,
...
i=4: a[4] = 9 и a[9] = 4.
Поэтому в результате выполнения программы элементы массива будут равны: 5, 6, 7, 8, 9, 0, 1, 2,
3, 4, 10.
Правильный ответ указан под номером 1.
A12 Дан фрагмент программы:
for n : = 1 tо 5 do
for m : = 1 tо 5 do
C[n,m] : = (m – n)*(m – n);
Сколько элементов массива С будут равны 1?
1) 5
2) 2
3) 8
4) 14
Пояснение.
Элемент будет равен 1, если номер строки на единицу больше или меньше, чем номер столбца,
т. е.
|m - n| = 1.
В первой и пятой строках таких элементов по одному: С[1,2] и С[5,4].
Во второй их два: С[2,1] и С[2,3], аналогично в строках 3 и 4.
Следовательно, всего таких элементов 2 * 3 + 2 = 8.
Правильный ответ указан под номером 3.
A12 Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего
фрагмента программы:
for i:=1 to 100 do
for k:=1 to 100 do
if i = k then
A[i,k] := 1
else A[i,k] := -1;
Чему равна сумма элементов массива после выполнения этого фрагмента программы?

1) 0
2) -9800
3) -9900
4) -10000
Пояснение.
Итак, после программы на главной диагонали будут стоять 1, а во всем остальном пространстве
будут -1.
Всего ячеек 100 * 100 = 10 000, а ячеек в главной диагонали 100, так что сумма будет равна
100 * 1 + (10 000 - 100) * (-1) = 100 - 10 000 + 100 = 200 - 10 000 = -9 800.
Правильный ответ указан под номером 2.
A12 Значения элементов двух массивов A[1..100] и B[1..100] задаются с помощью следующего
фрагмента программы:
for n:=1 to 100 do
A[n] := n – 50;
for n:=1 to 100 do
B[101-n]:=A[n]*A[n];
Какой элемент массива B будет наименьшим?
1) B[1]
2) B[50]
3) B[51]
4) B[100]
Пояснение.
Элемент массива B будет наименьшим, когда произведение A[n]*A[n] = 0.
Найдём n. A[n] = n - 50 = 0, откуда n = 50. Следовательно, наименьший элемент массива B имеет
номер
101 - n = 101 - 50 = 51.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
for i : = 0 to 10 do
A[i] : = 2*i;
for i : = 0 to 4 do begin
A[10-i] : = A[i]-1;
A[i] : = A[10-i]-1;
end;
Чему будут равны элементы этого массива?
1) 0 2 4 6 8 10 12 14 16 18 20
2) 19 17 15 13 11 10 -1 1 3 5 7
3) -2 0 2 4 6 10 7 5 3 1 -1
4) -1 1 3 5 7 9 11 13 15 17 19
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=0,
i=1: a[1]=2,
i=2: a[2]=4,
...
i=10: a[10]=20.
Второй цикл, меняем элементы масссива, причём заметим, что элемент a[10-i] задаётся через
исходные элементы, а элемент а[i] задаётся через уж е изменённый элемент a[10-i].
i=0:
a[10] = a[0] - 1 = -1,
a[0] = a[10] - 1 = -2.
i=1:
a[9] = a[1] - 1 = 1,
a[1] = a[9] - 1 = 0,

...
i=4:
a[6] = a[4] - 1 = 7
a[4] = a[6] - 1 = 6.
При заполнении этого массива мы использовали уж е изменившиеся элементы
В итоге получаем следующие элементы: -2, 0, 2, 4, 6, 10, 7, 5, 3, 1, -1.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниж е фрагменте программы массив сначала
заполняется, а потом изменяется:
for i : = 0 to 10 do
A[i] : = i;
for i : = 10 downto 0 do begin
k : = A[10-i];
A[10-i] : = A[i];
A[i] : = k;
end;
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 0 1 2 3 4 5 6 7 8 9 10
3) 10 9 8 7 6 5 6 7 8 9 10
4) 0 1 2 3 4 5 4 3 2 1 0
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0] = 0,
i=1: a[1] = 1,
i=2: a[2] = 2,
...
i=10: a[10] = 10.
Второй цикл меняет элементы a[10-i] и a[i] местами. При изменении i от 10 до 5. Элементы
приобретают вид 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0. Но при изменении i от 5 до 0 элементы снова
поменяются местами.
В итоге получаем исходный порядок элементов.
Правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
for i : = 0 to 10 do
A[i] : = i;
t : = A[0];
for i : = 1 to 10 do
A[i-1] : = A[i];
A[10] : = t;
Чему будут равны элементы этого массива?
1) 10 10 10 10 10 10 10 10 10 10
2) 1 2 3 4 5 6 7 8 9 10 0
3) 0 0 0 0 0 0 0 0 0 0
4) 1 2 3 4 5 6 7 8 9 10 1
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=0,
i=1: a[1]=1,
i=2: a[2]=2,
...
i=10: a[10]=10.

Присваиваем переменной t значение 0.
Второй цикл, сдвигаем все элементы влево, а элементу a[10] присваиваем значение t, которое не
менялось в ходе цикла: a[10] = 0:
i=1: a[0]=a[1]=1,
i=2: a[1]=a[2]=2,
...
i=10: a[9]=a[10]=10,
В итоге получаем следующие элементы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0.
Правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниж е
представлен записанный на разных языках программирования,фрагмент одной и той ж е
программы, обрабатывающей данный массив:
Бейсик Паскаль
s = 0
n = 10
FOR i = 0 TO n
IF A(n − i)-A(i) > A(i) THEN
s = s + A(i)
END IF
NEXT i
s := 0;
n := 10;
for i:=0 to n do begin
if A[n - i] - A[i] > A[i] then
s := s + A[i];
end;
Си Алгоритмический язык
s = 0;
n = 10;
for (i = 0; i <= n; i++ )
if(A[n - i]-A[i] > A[i])
s = s+ A[i];
s := 0
n:=10
нц для i от 0 до n
если A[n - i] - A[i] > A[i]
то s := s + A[i]
все
кц
В начале выполнения этого фрагмента в массиве находились числа 0,2,4,6,8,10,12,14,16,18,20 т.
е. A[0] = 0, A[1] = 2 и т. д. Чему будет равно значение переменной s после выполнения данной
программы?
1) 12
2) 20
3) 30
4) 110
Пояснение.
Цикл выполняется, пока разность A[n − i] − A[i] больше, чем A[i]. При i=0, 1, 2, 3, 4 получаем:
i=0: A[10] − A[0] = 20 − 0 > A[0], s:=0 + 0 = 0;
i=1: A[9] − A[1] = 18 − 2 > A[1], s:=0 + 2 = 2;
i=2: A[8] − A[2] = 16 − 4 > A[1], s:=2 + 4 = 6;
i=3: A[7] − A[3] = 14 − 6 > A[1], s:=6 + 6 = 12.
Условие A[n − i] − A[i] > A[i] перестанет выполняться на пятом шаге, когда 12 − 8 > 8 — неверно.
Таким образом, присваивание s := s + A[i] выполнится для первых четырех элементов. После
выполнения программы получим s = 12.
Правильный ответ указан под номером 1.
A12 В программе описан двухмерный целочисленный массив A [1..6,1..6]. Ниж е представлен
фрагмент этой программы, в котором изменяются значения элементов массива.
for n:=1 to 6 do
for m:=1 to 6 do
A[n,m]:=A[m,n]+2*n-m;
До выполнения данного фрагмента программы значение A[4,3] было равно 10, а значение A[3,4]
было равно 15. Чему будет равно значение A[4,3] после выполнения этого фрагмента программы?

1) 10
2) 15
3) 17
4) 20
Пояснение.
Итак, в начале будет меняться массив A[3,4] (n=3 < n=4), так что
A[3,4] := A[4,3] + 2 * 3 - 4 = 10 + 6 - 4 = 12.
А теперь найдем A[4,3]:
A[4,3] := A[3,4] + 2 * 4 - 3 = 12 + 8 - 3 = 17.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до n. Ниж е
представлен фрагмент одной и той ж е программы, записанный на разных языках
программирования, обрабатывающей данный массив:
Бейсик Паскаль
s = 0
z = A(n)
FOR i = 0 TO n
IF A(i) > z THEN s = s + 1
NEXT i
A(10)=10
s: = 0;
z: = A[n];
for i: = 0 to n do
begin
if A[i] > z then
s: = s + 1;
end
Си Алгоритмический язык
s = 0;
z = A[n];
for (i = 0; i <= n; i++){
if (A[i] > z)
s++;
}
s: = 0
z: = A[n]
нц для i от 0 до n
если A[i] > z то
s: = s + 1
все
кц
Чему будет равно значение переменной s после выполнения данной программы, при любых
значениях элементов массива?
1) Минимальному элементу в массиве A
2) Количеству элементов массива A, больших последнего элемента массива
3) Индексу последнего элемента массива А, который меньше A[0]
4) Количеству элементов массива A, меньших последнего элемента массива
Пояснение.
Переменой z присваивается значение последнего элемента.
Внутри цикла все элементы массива сравниваются с последним, при этом если элемент больше
последнего, то переменная s увеличивается на 1. Если в массиве x элементов больше последнего,
то s примет значение, равное x, т. е. станет равным количеству элементов массива A, больших
последнего элемента массива.
Правильный ответ указан под номером 2.

A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, записанный на разных языках программирования, в
котором значения элементов массива сначала задаются, а затем меняются.
Бейсик Паскаль
FOR i=0 TO 10
A(i)=i-1
NEXT i
FOR i=1 TO 10
A(i-1)=A(i)
NEXT i
A(10)=10
for i:=0 to 10 do
A[i]:=i-1;
for i:=1 to 10 do
A[i-1]:=A[i];
A[10]:=10;
Си Алгоритмический язык
for (i=0;i<=10;i++)
A[i]=i-1;
for (i=1;i<=10;i++)
A[i-1]=A[i];
A[10]=10;
нц для i от 0 до 10
A[i]:=i-1
кц
нц для i от 1 до 10
A[i-1]:=A[i]
кц
A[10]:=10
Как изменятся элементы этого массива после выполнения фрагмента программы?
1) все элементы, кроме последнего, окаж утся равны между собой
2) все элементы окаж утся равны своим индексам
3) все элементы, кроме последнего, будут сдвинуты на один элемент вправо
4) все элементы, кроме последнего, уменьшатся на единицу
Пояснение.
После первого цикла элементы массива примут значения -1, 0, 1...9
Второй цикл сдвигает элементы налево:
i=1, A[0]:=A[1] = 0
i=2, A[1]:=A[2] = 1,
...
i=10, A[9]= 9.
Учитывая, что A[10]:=10, то все элементы окаж утся равны своим индексам.
Правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниж е
представлен записанный на разных языках программирования фрагмент одной и той ж е
программы, обрабатывающей данный массив.
Бейсик Паскаль
s = 0
n = 10
FOR i = 1 ТО n
IF i = n - i THEN
s = s + A(i) - A (i + 1)
END IF
NEXT i
s: = 0;
n : = 10 ;
for i : = 1 to n do
begin
if i = n - i then
s : = s + A[i] - A[i + 1];
end
Си Алгоритмический язык
s = 0;
n = 10;
for (i = 1; i <= n; i++){
if (i == n - i)
s = s + A[i] - A[i + 1];
s: = 0
n : = 10
нц для i от 1 до n
если i = n - i
то s := s + A[i] - A[i - 1]
все
кц
В начале выполнения этого фрагмента в массиве находились числа 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
20, т. е. элемент А[0]=0, А[1]=2 и т. д. Чему будет равно значение переменной s после
выполнения данной программы?

1) 0
2) 11
3) 22
4) 110
Пояснение.
Условию i = n − i удовлетворяет только i = 5, для которого получим: s = A[5] + A[5+1] = 10 + 12 =
22.
Правильный ответ указан под номером 3.
A12 Элементы двухмерного массива A размером NxN первоначально были равны 1000. Затем
значения некоторых из них меняют с помощью следующего фрагмента программы:
k := 0;
for i:=1 to N do
for j:=N-i+1 to N do begin
k:= k + 1;
A[i,j]:= k;
end;
Какой элемент массива в результате будет иметь минимальное значение?
1) A[1,1]
2) A[1,N]
3) A[N,1]
4) A[N,N]
Пояснение.
Отметим, что j изменяется от N до 1.
Оператор k:= k + 1; A[i,j]:= k; увеличивает значение элемента A[i,j] на единицу. Значит,
минимальное значние будет в самом начале цикла при k=1, чему соответствует элементу A[1,N].
Правильный ответ указан под номером 2.
A12 Ниж е представлен записанный на разных языках программирования фрагмент одной и той
ж е программы. В программе описан одномерный целочисленный массив A, в представленном
фрагменте программы обрабатываются элементы массива с индексами от 1 до 10.
Бейсик Паскаль
n = 10
FOR i = 1 ТО n
s = A(n + 1 - i) * (n + 1 - i)
A(n + 1 - i) = A(i) * (n + 1 - i)
A(i) = s
NEXT i
n : = 10;
for i : = 1 to n do begin
s : = A[n + 1 - i] * (n + 1 - i);
A[n + 1 - i] : = A[i] * (n + 1 -
i);
A[i] : = s;
end;
Си Алгоритмический язык
n = 10;
for (i = 1; i <= n; i++){
s = A[n + 1 - i] * (n + 1 - i);
A[n + 1 - i] = A[i] * (n + 1 -
i);
A[i] = s;
}
n : = 10
нц для i от 1 до n
s : = s + A[i] - A[i - 1]
A[n + 1 - i] : = A[i] * (n + 1 - i)
A[i] : = s
кц
Перед началом выполнения фрагмента все элементы массива равны 1. Укажите утверждение,
которое будет верно после выполнения указанного фрагмента программы при изменении индекса
от 1 до 10.
1) значения массива постоянны
2) значения массива сначала возрастают, а потом убывают
3) значения массива возрастают
4) значения массива убывают
Пояснение.
Так будет выглядеть массив после второго шага:
A[10] = 10

A[9] = 9
A[8] = 1
A[7] = 1
A[6] = 1
A[5]= 1
A[4]= 1
A[3] = 1
A[2] = 9
A[1] = 10
Следовательно вариант 1 не подходит. После пятого шага, начнут использоваться элементы,
созданные в цикле ранее. Получающиеся после каждого шага массивы всегда "симметричны"
относительно середины массива (A[5]=A[6], A[7] = A[4]). Таким образом, варианты 3 и 4 не
подходят.
Следовательно, ответ 2.
A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
for i:=0 to 10 do
A[i]:=i-1;
for i:=10 downto 1 do
A[i-1]:=A[i];
Чему будут равны элементы этого массива?
1) 9 9 9 9 9 9 9 9 9 9 9
2) 0 1 2 3 4 5 6 7 8 9 9
3) 0 1 2 3 4 5 6 7 8 9 10
4) -1 -1 0 1 2 3 4 5 6 7 8
Пояснение.
Итак, пойдем по программе:
От 0 до 10 выполняем
A[i]:=i - 1, т. е. по порядку -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
От 10 до 1 выполняем
A[i-1]:=A[i], т. е. справа налево каждый элемент массива будет принимать значение справа
стоящей ячейки, так что
A[9]:=A[10]=9, a A[8]:=A[9]=A[10]=9 и т. д., так что все значения ячейки будут равны 9.
Правильный ответ указан под номером 1.
A12 Все элементы двумерного массива A размером 10х10 элементов первоначально были равны 0.
Затем значения элементов меняются с помощью влож енного оператора цикла в представленном
фрагменте программы:
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;
Сколько элементов массива в результате будут равны 1?
1) 0
2) 16
3) 12
4) 4
Пояснение.
Операция A[n,k] : = A[n,k] + 1 при заданных n и k увеличивает на 1 элементы первых четырёх
строк и столбцов, имеющих номера начиная с номера строки до 4.
Операция A[k,n] : = A[k,n] + 1 при заданных n и k увеличивает на 1 элементы строк, имеющих
номера начиная с номера столбца до 4.
Нарисуем изменяющийся фрагмент числовой таблицы:

1 + 1 1 1 1
1 1 + 1 1 1
1 1 1 + 1 1
1 1 1 1 + 1
Видим, что операции пересеклись на 4-х элементах, т. е. 12 элементов будут равны 1.
Правильный ответ указан под номером 3.
A12 В программе обрабатывается двумерный целочисленный массив A [0..n,0..n]. Первый индекс
элемента обозначает номер строки, а второй – номер столбца. Дан фрагмент программы:
for i:=0 to n do begin
c:=A[i,n-i];
A[i,n-i]:=A[1,i];
A[1,i]:=c;
end;
Что меняет этот фрагмент программы?
1) два столбца в таблице
2) строку и столбец в таблице
3) элементы диагонали и строки в таблице
4) элементы диагонали и столбца в таблице
Пояснение.
Этот фрагмент меняетместами элементы A[i,n-i] и A[1,i]. Разберёмся, что это за элементы.
При i=0 A[i,n-i] = A[0,n] — элемент нулевй строки и последнего столбца.
При i=1 A[i,n-i] = A[1,n-1] — элемент первой строки и предпоследнего столбца.
Каждый следующий элемент будет сдвигаться на строку вниз и на столбец влево, т. е. мы получим
элементы диагонали массива.
Элемент A[1,i] — элемент первой строки и столбца с номером i.
Значит, данный фрагмент программы меняет элементы диагонали и первой строки в таблице.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
for i : = 0 to 10 do
A[i] : = i;
for i : = 0 to 5 do begin
A[10-i] : = A[9-i];
A[i] : = A[i+1];
end;
Чему будут равны элементы этого массива?
1) 0 1 2 3 4 5 6 7 8 9 10
2) 0 1 2 3 4 5 6 7 8 9 9
3) 1 2 3 4 5 5 5 6 7 8 9
4) 1 2 3 4 5 6 5 4 3 2 1
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=0,
i=1: a[1]=1,
i=2: a[2]=2,
...
i=10: a[10]=10.
Второй цикл, меняем значения элементов:
i=0: a[10]=a[9] = 9, a[0]=a[1] = 1,

i=1: a[9]=a[8] = 8, a[1]=a[2] = 2,
...
i=5: a[5]=a[4] = 5, a[5]=a[6] = 5.
В последней строке мы обращемся к значению уж е изменённых элементов a[4] и a[6].
В итоге имеем следующие элементы: 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 9.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив А, в представленном фрагменте
программы обрабатываются элементы массива с индексами от 1 до 10.
n := 10;
for i := 1 to n do begin
A [n+1−i] := 2*A[i] ; end;
Перед началом выполнения фрагмента элементы массива имеют значения соответственно 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, т.е. А[1] = 1; А[2] = 2 и т.д. Укажите значение, которое после выполнения
указанного фрагмента программы имеют два или более рассмотренных в этом фрагменте
элемента массива. Если таких чисел несколько, укажите наибольшее из них.
1) такого значения нет
2) 10
3) 8
4) 4
Пояснение.
После выполнения цикла массив будет выглядеть следующим образом:
A[10] = 2
A[9] = 4
A[8] = 6
A[7] = 8
A[6] = 10
A[5]= 20
A[4]= 16
A[3] = 12
A[2] = 8
A[1] = 4
Следовательно, правильный ответ указан под номером 3.
A12 Дан фрагмент программы, обрабатывающей двухмерный массив A[1..5,1..4]:
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;
Чему будет равно значение A[3,1]?
1) 18
2) 19
3) 20
4) 21
Пояснение.
Найдем 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.

Правильный ответ указан под номером 1.
A12 Ниж е представлен записанный на разных языках программирования фрагмент одной и той
ж е программы. В программе описан одномерный целочисленный массив A, в представленном
фрагменте программы обрабатываются элементы массива с индексами от 1 до 10.
Бейсик Паскаль
n = 10
FOR i = 1 ТО n
s = A(n + 1 - i) * i
A(n + 1 - i) = A(i) * i
A(i) = s
NEXT i
n : = 10;
for i : = 1 to n do begin
s : = A[n + 1 - i] * i;
A[n + 1 - i] : = A[i] * i;
A[i] : = s;
end;
Си Алгоритмический язык
n = 10;
for (i = 1; i <= n; i++){
s = A[n + 1 - i] * i;
A[n + 1 - i] = A[i] * i;
A[i] = s;
}
n : = 10
нц для i от 1 до n
s : = A[n + 1 - i] * i
A[n + 1 - i] : = A[i] * i
A[i] : = s
кц
Перед началом выполнения фрагмента все элементы массива равны 1. Укажите утверждение,
которое будет верно после выполнения указанного фрагмента программы при изменении индекса
от 1 до 10.
1) значения массива возрастают
2) значения массива убывают
3) значения массива постоянны
4) значения массива сначала возрастают, а потом убывают
Пояснение.
Так будет выглядеть массив после пятого шага:
A[10] = 1
A[9] = 2
A[8] = 3
A[7] = 4
A[6] = 5
A[5]= 5
A[4]= 4
A[3] = 3
A[2] = 2
A[1] = 1
Так будет выглядеть массив после седьмого шага:
A[10] = 1
A[9] = 2
A[8] = 3
A[7] = 28
A[6] = 25
A[5]= 25
A[4]= 28
A[3] = 3
A[2] = 2
A[1] = 1
Значения массива явно не останутся постоянными, так ж е нельзя сказать что они только убывают
или только возрастают. Следовательно, ответ 4.
Следовательно, правильный ответ указан под номером 4.

A12 В программе описан одномерный целочисленный массив с индексами от 0 до n. Ниж е
представлен записанный на разных языках программирования фрагмент одной и той ж е
программы, обрабатывающей данный массив:
Бейсик Паскаль
s = 0
z = A(n)
FOR i = 1 TO n - 1
IF A(i) < z THEN
s = s + A(i)
NEXT i
A(10)=10
s: = 0;
z: = A[n];
for i: = 0 to n - 1 do
begin
if A[i] < z then
s: = s + A[i];
end
Си Алгоритмический язык
s = 0;
z = A[n];
for (i = 0; i < n; i++){
if (A[i] < z) s = s + A[i];
s: = 0
z: = A[n]
нц для i от 0 до n - 1
если A[i] < z то
s:=s + A[i]
все
кц
Чему будет равно значение переменной s после выполнения данной программы? Ответ долж ен
быть верным при любых значениях элементов массива.
1) Минимальному элементу в массиве A
2) Количеству элементов массива A, меньших последнего элемента массива
3) Сумме всех элементов массива А, меньших последнего элемента массива
4) Индексу первого элемента массива А, который меньше A[n]
Пояснение.
Переменой z присваивается значение последнего элемента.
Внутри цикла все элементы массива сравниваются с последним, при этом если элемент меньше
последнего, то переменная s увеличивается на значение данного элемента. Если в массиве x
элементов меньше последнего, то s примет значение, равное сумме значений x элементов,
меньших последнего элемента массива.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
for i : = 0 to 10 do
A[i] : = 10-i;
for i : = 0 to 5 do begin
A[10-i] : = A[5-i];
A[5+i] : = A[i];
end;
Чему будут равны элементы этого массива?
1) 9 8 7 6 5 10 9 8 7 6 10
2) 10 9 8 7 6 5 6 7 8 9 10
3) 10 9 8 7 6 10 9 8 7 6 10
4) 5 6 7 8 9 10 9 8 7 6 5
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0] = 10,
i=1: a[1] = 9,
i=2: a[2] = 8,
...
i=10: a[10] = 0.
Второй цикл, не изменяются первые пять элементов:
i=0:

a[10] = a[5] = 5, a[5] = a[0] = 10.
i=1:
a[9] = a[4] = 6, a[6] = a[1] = 9,
i=2:
a[8] = a[3] = 7, a[7] = a[2] = 8,
i=3:
a[7] = a[2] = 8, a[8] = a[3] = 7,
i=4:
a[6] = a[1] = 9, a[9] = a[4] = 6,
i=5:
a[5] = a[0] = 10, a[10] = a[5] = 10.
При i=5 элемент a[10] задавался через уж е изменившийся элемент a[5].
В итоге получаем следующие элементы: 10, 9, 8, 7, 6, 10, 9, 8, 7, 6, 10.
Правильный ответ указан под номером 3.
A12 Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего
фрагмента программы:
for i : = 1 to 100 do
for k : = 1 to 100 do
if i > k then
A[i,k] : = 1
else A[i,k] : = -1;
Чему равна сумма элементов массива после выполнения этого фрагмента программы?
1) 0
2) 100
3) -100
4) -200
Пояснение.
Условие говорит нам, что если номер строки больше номера столбца, то соответствующий
элемент равен 1. В первой строке таких элементов нет. Во второй строке это будет только
элемент A[2,1], третьей их будет два: A[3,1] и A[3,2] и т. д. В строке с номером 100 таких
элементов будет 99.
По формуле для суммы арифметической прогрессии найдём количество таких элементов:
a1 = 1, an = 99, n = 99, поэтому N = (1 + 99) / 2 * 99 = 4950.
Всего в таблице 100 * 100 = 10 000 элементов. Элементов, равных -1, будет 10 000 - 4950 = 5050.
Найдём сумму элементов: 4950 * 1 + 5050 * (-1) = -100.
Правильный ответ указан под номером 3.
A12 Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента
программы:
for n:=1 to 100 do
A[n] := n - 10;
for n:=1 to 100 do
B[n] := A[n]*n;
Сколько элементов массива B будут иметь положительные значения?
1) 10
2) 50
3) 90
4) 100
Пояснение.
Массив A:
n=1: a[1]=1-10=-9,
n=2: a[2]=2-10=-8,
n=3: a[3]=-7,
...
n=9: a[9]=-1,

n=10: a[10]=0,
...
n=100: a[100]=90.
Элементы массива B имеют такой ж е знак, как и соответствующие элементы массива A, поскольку
n принимает только положительные значения и B[n]=A[n]*n. В массиве A 100-10=90
положительных значений, следовательно и в B их тож е 90.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. В
приведенном ниж е фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i + 1;
for i:=1 to 10 do
A[i]:= A[i-1];
Как изменяются элементы этого массива?
1) все элементы, кроме последнего, сдвигаются на 1 элемент вправо
2) все элементы, кроме первого, сдвигаются на 1 элемент влево
3) все элементы окаж утся равны 1
4) все элементы окаж утся равны своим индексам
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=1,
i=1: a[1]=2,
i=2: a[2]=3,
i=3: a[3]=4,
...
i=10: a[10]=11.
Второй цикл, изменяем значения всех элементов, кроме нулевого:
i=1: a[1]=a[0]=1,
i=2: a[2]=a[1]=1,
i=3: a[3]=a[2]=1
...
i=10: a[10]=a[9]=1.
Видно, что все элементы, стали равными единице
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. В
приведенном ниж е фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i - 1;
for i:=1 to 10 do
A[i-1]:= A[i];
A[10] := 10;
Как изменяются элементы этого массива?
1) все элементы, кроме последнего, окаж утся равны между собой
2) все элементы окаж утся равны своим индексам
3) все элементы, кроме последнего, сдвигаются на один элемент вправо
4) все элементы, кроме последнего, уменьшаются на единицу
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0] = -1,
i=1: a[1] = 0,
i=2: a[2] = 1,
...
i=10: a[10] = 9.
Второй цикл, изменяем значения массива:
i=1: a[0]=a[1] = 0,

i=2: a[1]=a[2] = 1,
i=3: a[2]=a[3] = 2,
...
i=10: a[9]=a[10] = 9.
a[10] = 10.
Поэтому в результате выполнени программы элементы массива будут равны: 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, т. е. равны своим индексам.
Правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниж е
представлен записанный на разных языках программирования фрагмент одной и той ж е
программы, обрабатывающей данный массив:
Бейсик Паскаль
s = 0
n = 10
FOR i = 1 ТО n
s = s + A(i) - A (i-1)
NEXT i
s: = 0;
n : = 10 ;
for i : = 1 to n do
begin
s : = s + A[i] - A[i-1];
end
Си Алгоритмический язык
s = 0;
n = 10;
for (i = 1; i <= n; i++)
{
s = s + A[i] - A[i - 1];
s: = 0
n : = 10
нц для i от 1 до n
s := s + A[i] - A[i - 1]
кц
В начале выполнения этого фрагмента в массиве находились числа 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
20, т.е. А[0]=0, А[1]=2 и т. д. Чему будет равно значение переменной s после выполнения данной
программы?
1) 10
2) 20
3) 22
4) 110
Пояснение.
Из цикла видно, что с каждым проходом число s увеличивается на разницу между элементами
массива с номерами, соответствующими данному проходу. Итого, в самом конце s должно быть
равно сумме всех «расстояний» между элементами массива, то есть, «расстоянию» между
последним и первым элементом, если элементы массива располож ены в порядке возрастания. В
данном массиве эта разность равна 20.
Правильный ответ указан под номером 2.
A12 Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего
фрагмента программы:
for i:=1 to 100 do
for k:=1 to 100 do
if i > k then
A[i,k] := i
else A[i,k] := -k;
Чему равна сумма элементов массива после выполнения этого фрагмента программы?
1) 5000
2) 0
3) -5000
4) -5050
Пояснение.
Из данной программы мы получим такую таблицу
-1 -2 -3 -4
 2 -2 -3 -4
 3 3 -3 -4

 4 4 4 -4 и т. д.
Если смотреть симметричность таблицы, то относительно главной диагонали ячейки будут
взаимно уничтожаться, так что останется найти только сумму главной диагонали:
-1 - 2 - 3 - 4 - 5 -...- 98 - 99 - 100 = -(1 + 99) - (2 + 98) -...- (49 + 51) - 50 - 100 =
= -100 * 49 - 150 = -4 900 - 150 = -5 050.
Правильный ответ указан под номером 4.
A12 Значения элементов двумерного массива А размером 5x5 задаются с помощью влож енного
цикла в представленном фрагменте программы:
for i:=1 tо 5 do
for j:=1 tо 5 do begin
A[i,j] := i*j;
end;
Сколько элементов массива будут иметь значения больше 10?
1) 12
2) 8
3) 10
4) 4
Пояснение.
Элемент A[3,3] = 3 * 3 = 9, 9 < 10, следовательно нас интересуют элементы, у которых один
индекс не меньше 3, а другой больше 3. Обозначим все эти элементы: A[3,4], A[3,5], A[4,3], A[4,4],
A[4,5], A[5,3], A[5,4], A[5,5]. Их 8.
Правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до n (т.е. первый
элемент имеет индекс 0, последний - индекс n). Ниж е представлен фрагмент одной и той ж е
программы, записанный на разных языках программирования, обрабатывающей данный массив:
Бейсик Паскаль
s = n
z = A(0)
FOR i = 1 TO n
IF A(i) = z THEN s = s - 1
NEXT i
A(10)=10
s: = n;
z: = A[0];
for i: = 1 to n do
begin
if A[i] = z then
s: = s - 1;
end
Си Алгоритмический язык
s = n;
z = A[0];
for (i = 1; i <= n; i++){
if (A[i] == z)
s--;
}
s: = n
z: = A[0]
нц для i от 1 до n
если A[i] = z то
s: = s - 1
всекц
Чему будет равно значение переменной s после выполнения данной программы, при любых
значениях элементов массива?
1) Количеству элементов массива A, больших первого элемента массива
2) Количеству элементов массива A, не превосходящих первого элемента массива
3) Количеству элементов массива A, не равных первому элементу массива
4) Количеству элементов массива A, равных первому элементу массива
Пояснение.
Переменой z присваивается значение первого элемента массива.
Внутри цикла все элементы массива сравниваются с первым, при этом если элемент равен
первому, то переменная s уменьшается на 1. Если в массиве x элементов, равных первому, то s
примет значение, равное n-x, т. е. станет равным количеству элементов массива A, не равных
первому элементe массива.
Правильный ответ указан под номером 3.

A12 Значения элементов двухмерного массива A[1..10,1..10] сначала равны 0. Затем выполняется
следующий фрагмент программы:
for i : = 1 to 4 do
for j : = 2 to 5 do begin
A[i,j] : = A[i,j]+4;
A[j,i] : = A[j,i]+5;
end;
Сколько элементов массива будут равны 9?
1) 20
2) 16
3) 9
4) 4
Пояснение.
Мы имеем матрицу размером 10x10. Операция A[i,j] : = A[i,j]+4 при заданных i и j увеличивает на 4
элементы первых четырёх строк и столбцов со второго по пятый.
Операция A[j,i] : = A[j,i]+5 при заданных i и j увеличивает на 5 элементы строк со второй по пятую
и первых четырёх столбцов.
Нарисуем изменяющийся фрагмент числовой таблицы:
4 4 4 4
5 4+5 4+5 4+5 4
5 4+5 4+5 4+5 4
5 4+5 4+5 4+5 4
5 5 5 5
Видим, что операции пересеклись на 9-ти элементах, т. е. 9 элементов будут равны 9.
Правильный ответ указан под номером 3.
A12 Значения двух массивов A и B с индексами от 1 до 100 задаются при помощи следующего
фрагмента программы:
for i:=1 to n do
A[i]:=(i-75)*(i-75);
for i:=1 to n do
B[101-i]:=A[i];
Какой элемент массива B будет наибольшим?
1) B[1]
2) B[26]
3) B[75]
4) B[100]
Пояснение.
Итак, если рассмотреть массив A[i]:= (i - 75)2
 как функцию у = (x - 75)2
, то найдем максимальное
значение на интервале [1, 100]: при i=1 A[1]:=(1 - 75)2=(-74)2
;
По условию B[101 - 1]:=A[1] наибольшее, т. е. B[100] — наибольшее.
Правильный ответ указан под номером 4.

A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
for i:=0 to 10 do
A[i]:=3*i;
for i:=1 to 10 do
A[i]:=A[i] mod 3;
Чему будут равны элементы этого массива?
1) Все элементы будут равны 3.
2) Все элементы будут равны 1.
3) Все элементы будут равны 0.
4) Все элементы будут равны своим индексам.
Пояснение.
Сначала задается массив A[i]:=3*i от 0 до 10,
а потом меняется на A[i]:=A[i] mod 3 = 0.
X mod a - остаток от деления числа X на а, а так как все ячейки кратны 3, то остатка и не будет,
т. е. ячейки будут равны нулю.
Правильный ответ указан под номером 3.
A12 Дан фрагмент программы, обрабатывающий двухмерный массив A размером nxn.
for i:=1 to n-1 do
for j:=1 to n do
if A[i,1] < A[j,1] then begin
k:=A[i,1];
A[i,1]:=A[j,1];
A[j,1]:=k;
end;
В этом фрагменте:
1) упорядочивается первая строка массива по убыванию
2) упорядочивается первый столбец массива по убыванию
3) заменяются элементы k-ого столбца таблицы
4) заменяются элементы k-ой строки таблицы
Пояснение.
Обратим внимание, что в двойном цикле переменная i изменяется от 1 до n-1, а j – от 1 до n (на 1
шаг больше). Это означает, что с элементом a[j,1] будут по очереди сравниваться все элементы
столбца 1, кроме последнего. Они выстротся от самого большого до самого маленького сверху
вниз, т.е. по убыванию.
Но чтобы выбрать правильный ответ, можно было рассмотреть данный фрагмент программы:
...k:=A[i,1];
A[i,1]:=A[j,1];
A[j,1]:=k;
...
Эта операция меняет местами два элемента первого столбца, а значит все изменения происходят
только в нём. Вариант ответа, в котором фигурирует только первый столбец , указан под номером
2.
Правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. В
приведенном ниж е фрагменте программы массив сначала заполняется, а потом изменяется:
for i : = 0 to 10 do
A[i] : = i;
for i : = 1 to 11 do
A[i-1] : = A[11-i];
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 11 10 9 8 7 6 5 4 3 2 1

3) 10 9 8 7 6 5 6 7 8 9 10
4) 11 10 9 8 7 6 7 8 9 10 11
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=0,
i=1: a[1]=1,
i=2: a[2]=2,
...
i=10: a[10]=10.
Второй цикл, меняем значения всех элементов:
Обращаемся к значениям, полученным при заполнении массива.
i=1: a[0]=a[10]=10,
i=2: a[1]=a[9]=9,
...
i=6: a[5]=a[5]=5
i=7: a[6]=a[4]=7(Начиная с этого элемента обращаемся к элементам уж е изменённым)
i=11: a[10]=a[0] = 0,
Поэтому в результате выполнени программы элементы массива будут равны: 10, 9, 8, 7, 6, 5, 6, 7,
8, 9, 10.
Правильный ответ указан под номером 3.
A12 Значения элементов двух массивов А и В размером 1 х 100 задаются с помощью следующего
фрагмента программы:
for i:=1 tо 100 do
A[i] := 50 – i;
for i:=1 tо 100 do
B[i] := A[i] + 49;
Сколько элементов массива В будут иметь отрицательные значения?
1) 1
2) 10
3) 50
4) 100
Пояснение.
Массив A:
i=1: a[1]=50-1=49,
i=2: a[2]=50-2=48,
i=3: a[2]=47,
...
i=50: a[50]=0
i=51: a[51]=-1
...
i=100: a[100]=-50.
Массив B:
i=1: b[1]=a[1]+49=49+49=98,
i=2: b[2]=a[2]+49=48+49=97,
...
i=99: b[99]=-49+49=0,
i=100: b[100]=-50+49=-1
В массиве B одно отрцательное значение.
Правильный ответ указан под номером 1.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. В
приведенном ниж е фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i + 1;
for i:=0 to 10 do
A[i]:= A[10-i];
Чему будут равны элементы этого массива?

1) 10 9 8 7 6 5 4 3 2 1 0
2) 11 10 9 8 7 6 5 4 3 2 1
3) 11 10 9 8 7 6 7 8 9 10 11
4) 10 9 8 7 6 5 6 7 8 9 10
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=1,
i=1: a[1]=2,
i=2: a[2]=3,
...
i=10: a[10]=11.
Второй цикл, меняем значения всех элементов:
Обращаемся к значениям, полученным при заполнении массива.
i=0: a[0]=a[10]=11,
i=1: a[1]=a[9]=10,
...
i=5: a[5]=a[5]=6,
i=6: a[6]=a[4]=7(Начиная с этого элемента обращаемся к элементам уж е изменённым),
...
i=10: a[10]=a[0] = 11.
Поэтому в результате выполнени программы элементы массива будут равны: 11, 10, 9, 8, 7, 6, 7, 8,
9, 10, 11.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленная переменная i. В приведенном ниж е фрагменте программы массив сначала
заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 9 do begin
A[i]:=A[i+1];
end;
Чему будут равны элементы этого массива?
1) 10 0 1 2 3 4 5 6 7 8 9
2) 1 2 3 4 5 6 7 8 9 10 10
3) 0 0 1 2 3 4 5 6 7 8 9
4) 1 2 3 4 5 6 7 8 9 10 0
Пояснение.
Идем по программе:
от 0 до 10 выполняем A[i]:=i, т. е. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
от 0 до 9 выполняем A[i]:=A[i+1], т. е. значения ячеек смещаются влево на одну ячейку, кроме
последней, так что 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10.
Правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив А, в представленном фрагменте
программы обрабатываются элементы массива с индексами от 1 до 10.
n := 10;
for i := 1 to n do begin
A [n+1-i] := 2*A[i] ; end;
Перед началом выполнения фрагмента элементы массива имеют значения соответственно 2, 4, 6,
8, 10, 12, 14, 16, 18, 20, т.е. А[1] = 2; А[2] = 4 и т.д. Укажите значение, которое после выполнения
указанного фрагмента программы имеют два или более рассмотренных в этом фрагменте
элемента массива. Если таких чисел несколько, укажите наибольшее из них.
1) 8
2) 16
3) 20
4) такого значения нет
Пояснение.
После выполнения цикла массив будет выглядеть следующим образом:

A[10] = 4
A[9] = 8
A[8] = 12
A[7] = 16
A[6] = 20
A[5]= 40
A[4]= 32
A[3] = 24
A[2] = 16
A[1] = 8
Следовательно, правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниж е
представлен записанный на разных языках программирования,фрагмент одной и той ж е
программы, обрабатывающей данный массив:
Бейсик Паскаль
s=0
n = 10
FOR i = 0 TO n
IF A(n − i)-A(i) > A(i) THEN
s = s + A(i)
END IF
NEXT i
s := 0;
n := 10;
for i:=0 to n do begin
if A[n - i] - A[i] > A[i] then
s := s + A[i];
end;
Си Алгоритмический язык
s = 0;
n = 10;
for (i = 0; i <= n; i++ )
if(A[n - i]-A[i] > A[i])
s = s+ A[i];
s := 0
n:=10
нц для i от 0 до n
если A[n - i] - A[i] > A[i]
то s := s + A[i]
все
кц
В начале выполнения этого фрагмента в массиве находились числа 0, 10, 20, 30, 40, 50, 60, 70,
80. 90, 100, т.е. A[0] = 0, A[1] = 10 и т. д. Чему будет равно значение переменной s после
выполнения данной программы?
1) 60
2) 100
3) 150
4) 550
Пояснение.
Цикл выполняется, пока разность A[n − i] − A[i] больше, чем A[i]. При i=0, 1, 2, 3, 4 получаем:
i=0: A[10] − A[0] = 100 − 0 > A[0], s:=0 + 0 = 0;
i=1: A[9] − A[1] = 90 − 10 > A[1], s:=0 + 10 = 10;
i=2: A[8] − A[2] = 80 − 20 > A[1], s:=10 + 20 = 30;
i=3: A[7] − A[3] = 70 − 30 > A[1], s:=30 + 30 = 60.
Условие A[n − i] − A[i] > A[i] перестанет выполняться на пятом шаге, когда 60 − 40 > 40 —
неверно. Таким образом, присваивание s := s + A[i] выполнится для первых четырех элементов.
После выполнения программы получим s = 60.
Правильный ответ указан под номером 1.

A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниж е
представлен записанный на разных языках программирования фрагмент одной и той ж е
программы, обрабатывающей данный массив:
Бейсик Паскаль
s = 0
n = 10
FOR i = 1 ТО n
s = s + A(i) - A (i - 1)
NEXT i
s: = 0;
n : = 10 ;
for i : = 1 to n do begin
s : = s + A[i] - A[i-1];
end
Си Алгоритмический язык
s = 0;
n = 10;
for (i = 1; i <= n; i++){
s = s + A[i] - A[i - 1];
s: = 0
n : = 10
нц для i от 1 до n
s := s + A[i] - A[i - 1]
кц
В начале выполнения этого фрагмента в массиве находились числа 0, 10, 20, 30, 40, 50, 60, 70,
80, 90, 100, т.е. А[0]=0, А[1]=10 и т.д. Чему будет равно значение переменной s после
выполнения данной программы?
1) 10
2) 50
3) 100
4) 110
Пояснение.
Из цикла видно, что с каждым проходом число s увеличивается на разницу между элементами
массива с номерами, соответствующими данному проходу. Итого, в самом конце s должно быть
равно сумме всех «расстояний» между элементами массива, то есть, «расстоянию» между
последним и первым элементом, если элементы массива располож ены в порядке возрастания. В
данном массиве эта разность равна 100.
Правильный ответ указан под номером 3.
A12 Дан фрагмент программы, обрабатывающий массив А из 10 элементов:
j := 1;
for i:=1 tо 10 do
if A[i] = A[j] then j := i;
s := j;
Чему будет равно значение переменной s после выполнения этого алгоритма?
1) 1
2) 10
3) индексу элемента, равного первому, и имеющему наибольший индекс
4) индексу элемента, равного последнему, и имеющему наименьший индекс
Пояснение.
Изначально элемент a[j]=a[1]. Условие цикла говорит нам о том, что если какой-то элемент а[i]
массива А совпадает с первым элементом этого массива, то индексу j присваивается значение
индекса i. Т. к. цикл пробегает все значения i в порядке увеличения, то последним значением j
станет наибольшее значение индекса i такое, что a[i]=a[1]. Это значение совпадёт со значением
переменной s после выполнения алгоритма.
Правильный ответ указан под номером 3.
A12 Значения двух массивов A и B с индексами от 1 до 100 задаются при помощи следующего
фрагмента программы:
for i : = 1 to 100 do
A[i] : = i*i;
for i : = 1 to 100 do
B[i] : = A[i]-100;
Сколько положительных значений будет в массиве B?

1) 0
2) 10
3) 90
4) 91
Пояснение.
Первый цикл, заполняем массив A:
i=1: a[1]=1,
i=2: a[2]=4,
i=3: a[3]=9
...
Значения элементов равны квадратам соответствующих индексов.
Рассмотрим, как задаются элементы массива В:
b[i] : = a[i]-100. Если a[i] > 100, то b[i] положителен, что соответствует идексу i > 10.
Следовательно, в массиве B будет 100 - 10 = 90 положительных элементов.
Правильный ответ указан под номером 3.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниж е фрагменте программы массив сначала
заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
k:=A[2*i];
A[2*i]:=A[2*i+1];
A[2*i+1]:=k;
end;
Чему будут равны элементы этого массива?
1) 5 6 7 8 9 0 1 2 3 4 10
2) 10 9 8 7 6 5 4 3 2 1 0
3) 0 1 2 3 4 5 4 3 2 1 0
4) 1 0 3 2 5 4 7 6 9 8 10
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=0,
i=1: a[1]=1,
i=2: a[2]=2,
...
i=10: a[10]=10.
Второй цикл, меняем значения элементов a[2*i] и a[2*i+1] местами:
i=0: a[0]=a[1]=1 и a[1]=a[0]=0,
i=1: a[2]=a[3]=3 и a[3]=a[2]=2,
...
i=4: a[8]=a[9]=9 и a[9]=a[8]=8.
Поэтому в результате выполнения программы элементы массива будут равны: 1, 0, 3, 2, 5, 4, 7, 6,
9, 8, 10.
Правильный ответ указан под номером 4.
A12 В программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниж е фрагменте программы массив сначала
заполняется, а потом изменяется:
for i : = 0 to 10 do A[i] : = i;
for i : = 0 to 4 do begin
k : = A[i];
A[i] : = A[10-i];
A[10-i] : = k;
end;
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 0 1 2 3 4 5 6 7 8 9 10

3) 0 1 2 3 4 5 4 3 2 1 0
4) 10 9 8 7 6 5 6 7 8 9 10
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=0,
i=1: a[1]=1,
i=2: a[2]=2,
...
i=10: a[10]=10.
Второй цикл, меняет местами значения первых пяти элементов с последующими:
i=0: a[0]=a[10]=10,
i=1: a[1]=a[9] = 9,
...
i=4: a[4]=a[6] = 6,
причём a[10]=a[0]=0,
a[9]=a[1]=1,
...
a[6]=a[4]=4.
Поэтому в результате выполнени программы элементы массива будут равны: 10, 9, 8, 7, 6, 5, 4, 3,
2, 1, 0.
Правильный ответ указан под номером 1.
A12 Значения элементов двухмерного массива A[1..10,1..10] сначала равны 4. Затем выполняется
следующий фрагмент программы:
for i:=1 to 4 do
for j:=1 to 5 do begin
A[i,j]:=A[i,j]+4;
A[j,i]:=A[j,i]+5;
end;
Сколько элементов массива будут равны 9?
1) 20
2) 16
3) 5
4) 4
Пояснение.
Мы имеем матрицу размером 10x10. Операция A[i,j] : = A[i,j]+4 при заданных i и j увеличивает на 4
элементы первых четырёх строк и первых пяти столбцов.
Операция A[j,i] : = A[j,i]+5 при заданных i и j увеличивает на 5 элементы первых пяти строк и
первых четырёх столбцов.
Поскольку все элементы массива изначально равны 4, то после первого оператора 4 * 5 = 20
элементов будут равны 8, а после второго – 16 элементов будут равны 13, 4 элемента будут
равны 8 и 4 элемента приобретут значение 9.
Нарисуем для наглядности изменяющийся фрагмент числовой таблицы:
4 + 4 +
5
4 + 4 + 5 4 + 4 + 5 4 + 4 + 5 4 + 4
4 + 4 +
5
4 + 4 + 5 4 + 4 + 5 4 + 4 + 5 4 + 4
4 + 4 +
5
4 + 4 + 5 4 + 4 + 5 4 + 4 + 5 4 + 4
4 + 4 +
5
4 + 4 + 5 4 + 4 + 5 4 + 4 + 5 4 + 4
4 + 5 4 + 5 4 + 5 4 + 5 4
Правильный ответ указан под номером 4.

A12 В программе описан одномерный целочисленный массив A с индексами от 1 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
for i:=1 to 10 do
A[i]:=5*i;
for i:=1 to 10 do begin
k:=A[i]-2;
A[10-i+1]:=k;
end;
Чему будут равны элементы этого массива?
1) 1 6 11 16 21 23 18 13 8 3
2) 3 8 13 18 23 28 33 38 43 48
3) 48 43 38 33 28 23 18 13 8 3
4) 1 6 11 16 21 26 31 36 41 46
Пояснение.
Первый цикл, заполняем массив:
i=1: a[1]=5,
i=2: a[2]=10,
...
i=10: a[10]=50.
Второй цикл, меняем значение элементов:
i=1: k = a[1] - 2 = 3, a[11-1] = a[10] = 3,
i=2: k = a[2] - 2 = 8, a[11-2] = a[9] = 8,
i=3: a[8] = 13,
i=4: a[7] = 18,
i=5: a[6] = 23,
i=6: k = a[6] - 2 = 21, a[11-6] = a[5] = 21 (здесь и далее используются уж е изменённые элементы,
а не исходные),
i=7: k = a[7] - 2 = 16, a[11-7] = a[4] = 16,
...
i=10: k = a[10] - 2 = 3 - 2 = 1, a[1] = 1.
Поэтому в результате выполнени программы элементы массива будут равны: 1, 6, 11, 16, 21, 23,
18, 13, 8, 3.
Правильный ответ указан под номером 1.
A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
for i:=0 to 10 do
A[i]:=2+i;
for i:=0 to 4 do begin
A[i]:=A[10-i]-1;
A[10-i]:=A[i]+3;
end;
Чему будут равны элементы этого массива?
1) 11 10 9 8 7 5 6 7 8 9
2) 11 10 9 8 7 7 5 6 7 8 9
3) 11 10 9 8 7 7 10 11 12 13 14
4) 11 10 9 8 7 10 11 12 13 14
Пояснение.
Задаем массив A[i]:=2 + i: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.
Меняем массив, идя от краев в центр, левый меняем на правый с вычетом 1, а потом правый на
измененный левый плюс 3:
A[i]:= A[10-i] - 1: 12 - 1, 11 - 1, 10 - 1, 9 - 1, 8 - 1 = 11, 10, 9, 8, 7 - первые пять ячеек.
A[10 - i]:= A[i] + 3 = A[10-i] - 1 + 3 = A[10-i] + 2: 12 + 2, 11 + 2, 10 + 2, 9 + 2, 8 + 2 = 14, 13, 12, 11,
10 - вторые пять ячеек в обратном порядке (с номера 10 до номера 6).

Элемент A[5] остался неизменным: A[5] = 7.
В итоге: 11 10 9 8 7 7 10 11 12 13 14.
Правильный ответ указан под номером 3.
A12 Элементы двухмерного массива A размером 10x10 первоначально были равны 1. Затем
значения некоторых из них меняют с помощью следующего фрагмента программы:
for n:=1 to 4 do
for k:=1 to n+1 do begin
A[n,k]:=A[n,k]-1;
A[n,k+1]:=A[n,k]-1;
end;
Сколько элементов массива в результате будут равны 0?
1) 0
2) 4
3) 8
4) 16
Пояснение.
Итак, идем по программе:
от n=1 до 4 выполняется
от k=1 до n+1 выполняется
(n=1, k=1) из ячейки вычитают 1 и ячейка принимает значение 0
ячейка, которая будет следовать дальше по счетчику, принимает значение
данной минус 1, т е значение -1.
(n=1, k=2) Дальше работаем с этой ячейкой и ее значение получается -2, Так что далее получим,
что только ячейки с k=1, а n:=1 to 4 будут равны 0, т е только 4 ячейки.
Правильный ответ указан под номером 2.
A12 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниж е
представлен фрагмент этой программы, в котором значения элементов массива сначала
задаются, а затем меняются.
A[0] : = 1;
for i : = 1 to 10 do
A[i] : = 2+A[i-1];
for i : = 0 to 5 do
A[10-i] : = A[i]-1;
Чему будут равны элементы этого массива?
1) 1 3 5 7 9 10 8 6 4 2 0
2) 1 3 5 7 9 11 13 15 17 19 21
3) 1 3 5 7 9 11 9 7 5 3 1
4) 1 3 5 7 9 11 8 6 4 3 0
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=1,
i=1: a[1]=3,
i=2: a[2]=5,
i=3: a[3]=7,
...
i=10: a[10]=21.
Второй цикл, меняем значения последних пяти элементов:
i=0: a[10]=a[0]-1 = 0,
i=1: a[9]=a[1]-1 = 2,
...
i=5: a[5]=a[5]-1 = 10,
Поэтому в результате выполнения программы элементы массива будут равны: 1, 3, 5, 7, 9, 10, 8, 6,
4, 2, 0.

Правильный ответ указан под номером 1.
 

 


Категория: по информатике | Добавил: Админ (03.01.2016)
Просмотров: | Теги: ЕГЭ | Рейтинг: 0.0/0


Другие задачи:
Всего комментариев: 0
avatar