19. Обработка массивов и матриц

Демонстрационный вариант ЕГЭ 2019 г. – задание №19

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 2, 4, 3, 6, 3, 7, 8, 2, 9, 1 соответственно, т.е. A[0] = 2, A[1] = 4 и т.д.
Определите значение переменной c после выполнения следующего фрагмента этой программы, записанного ниже на пяти языках программирования

Бейсик

c = 0
FOR i = 1 TO 9
 IF A(i-1) < A(i) THEN
  c = c + 1
  t = A(i)
  A(i) = A(i-1)
  A(i-1) = t
 END IF
NEXT i

Python

c = 0
for i in range(1, 10):
    if A[i-1] < A[i]:
        c = c + 1
        A[i-1], A[i] = A[i], A[i-1]

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

c := 0
нц для i от 1 до 9
  если A[i-1] < A[i] то
    c := c + 1
    t := A[i]
    A[i] := A[i-1]
    A[i-1] := t
  все
кц

Паскаль

c := 0;
for i := 1 to 9 do
  if A[i-1] < A[i] then
  begin
    c := c + 1;
    t := A[i];
    A[i] := A[i-1];
    A[i-1] := t;
  end;

С++

c = 0;
for (int i = 1; i < 10; i++)
  if (A[i-1] < A[i]){
    c++;
    t = A[i];
    A[i] = A[i-1];
    A[i-1] = t;
  }

Демонстрационный вариант ЕГЭ 2018 г. – задание №19

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 3, 0, 4, 6, 5, 1, 8, 2, 9, 7 соответственно, т.е. A[0] = 3, A[1] = 0 и т.д. Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на разных языках программирования).

Бейсик

c = 0
FOR i = 1 TO 9
  IF A(i-1) > A(i) THEN
   c = c + 1
   t = A(i)
   A(i) = A(i-1)
   A(i-1) = t
  END IF
NEXT i

Python

c = 0
for i in range(1,10):
  if A[i-1] > A[i]:
   c = c + 1
   t = A[i]
   A[i] = A[i-1]
   A[i-1] = t

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

c := 0
нц для i от 1 до 9
если A[i-1] > A[i] то
c := c + 1
t := A[i]
A[i] := A[i-1]
A[i-1] := t
все

Паскаль

c := 0;
for i := 1 to 9 do
  if A[i-1] > A[i] then
  begin
   c := c + 1;
   t := A[i];
   A[i] := A[i-1];
   A[i-1] := t;
  end;

С++

c = 0;
for (int i = 1; i < 10; i++)
  if (A[i-1] > A[i]){
   c++;
   t = A[i];
   A[i] = A[i-1];
   A[i-1] = t;
  }

Одномерный целочисленный массив. В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 1, 2, 5, 8, 9, 3, 4, 0, 7, 6 соответственно, т.е. A[0] = 1, A[1] = 2 и т.д. Определите значение переменной j после выполнения следующего фрагмента программы (записанного ниже на пяти зыках программирования).

Бейсик

j = 5
	WHILE A(j) < A(j-1)
	t = A(j)
	A(j) = A(j-1)
	A(j-1) = t
	j = j - 1
WEND

Python

j = 5
while A[j] < A[j-1]:
	A[j],A[j-1]=A[j-1],A[j]
	j -= 1

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

j := 5
нц пока A[j] < A[j-1]
	t := A[j]
	A[j] := A[j-1]
	A[j-1] := t
	j := j - 1
кц

Паскаль

j:= 5;
while A[j] < A[j-1] do
	begin
		t := A[j];
		A[j] := A[j-1];
		A[j-1] := t;
		j := j - 1;
	end;

Си

j = 5;
while (A[j] < A[j-1])
{
	t = A[j];
	A[j] = A[j-1];
	A[j-1] = t;
	j -= 1;
}

Демонстрационный вариант ЕГЭ 2017 г. – задание №19


Демонстрационный вариант ЕГЭ 2016 г. – задание №19

В про­грам­ме ис­поль­зу­ет­ся од­но­мер­ный це­ло­чис­лен­ный мас­сив A с ин­дек­са­ми от 0 до 9. Зна­че­ния эле­мен­тов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 со­от­вет­ствен­но, т.е. A[0] = 4, A[1] = 7 и т.д.

Опре­де­ли­те зна­че­ние пе­ре­мен­ной c после вы­пол­не­ния сле­ду­ю­ще­го фраг­мен­та этой про­грам­мы (за­пи­сан­но­го ниже на пяти язы­ках про­грам­ми­ро­ва­ния).

Бейсик

c = 0
 FOR i = 1 TO 9
    IF A(i) < A(0) THEN
        c = c + 1
        t = A(i)
        A(i) = A(0)
        A(0) = t
    ENDIF
 NEXT i

Python

c = 0
 for i in range(1,10):
    if A[i] < A[0]:
        c = c + 1
        t = A[i]
        A[i] = A[0]
        A[0] = t

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

c := 0
 нц для i от 1 до 9
    если A[i] < A[0] то
        c := c + 1
        t := A[i]
        A[i] := A[0]
        A[0] := t
    все
 кц

Паскаль

c := 0;
 for i := 1 to 9 do
    if A[i] < A[0] then
    begin
        c := c + 1;
        t := A[i];
        A[i] := A[0];
        A[0] := t;
    end;

Си

c = 0;
 for (i = 1;i < 10;i++)
    if (A[i] < A[0])
    {
        c++;
        t = A[i];
        A[i] = A[0];
        A[0] = t;
    }

Ответ:


В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:

Паскаль Си Python
for i:=0 to 10 do
A[i]:= i + 1;
for i:=10 downto 0 do
A[i]:= A[10-i];
 for (i = 0;i <= 10;i++)
A[i] = i+1;
for (i = 10;i >= 0;i—)
A[i] = A[10-i];
 for i in range(0,11):
A[i] = i+1
for i in range(10, -1, -1):
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) 1 2 3 4 5 6 5 4 3 2 1


В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:

Паскаль Си Python
for i:=0 to 10 do A[i]:=i;
for i:=0 to 10 do begin
A[10-i]:=A[i];
A[i]:=A[10-i];
end;
 for (i = 0;i <= 10;i++)
A[i] = i;
for (i = 0;i <= 10;i++){
A[10-i]=A[i];
A[i]=A[10-i];
}
 for i in range(0,11):
A[i] = i
for i in range(0,11):
A[10-i]=A[i]
A[i]=A[10-i]

Чему будут равны элементы этого массива?

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


В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:

Паскаль Си Python
for i:=0 to 10 do A[i]:=i*i;
k:=A[10];
for i:=0 to 9 do
A[i]:=A[i+1];
A[0]:=k;
 for (i = 0;i <= 10;i++)
A[i]=i*i;
k:=A[10];
for (i = 0;i <= 9;i++){
A[i]=A[i+1];
A[0]=k;
}
 for i in range(0,11):
A[i]=i*i
k=A[10]
for i in range(0,10):
A[i]=A[i+1]
A[0]=k

Чему будут равны элементы этого массива?

1) 100 0 1 4 9 16 25 36 49 64 81

2) 100 4 9 16 25 36 49 64 81 100 100

3) 1 4 9 16 25 36 49 64 81 100 100

4) 1 4 9  16 36 49 64 81 100 0


Значения двух массивов A и B с индексами от 1 до 100 задаются при помощи следующего фрагмента программы:

Паскаль Си Python
for i:=1 to n do
A[i]:=i*i;
for i:=1 to n do
B[i]:=A[i]-100;
 for (i = 1;i <= n;i++)
A[i]=i*i;
for (i = 1;i <= n;i++){
B[i]=A[i]-100;
}
 for i in range(0,n+1):
A[i]=i*i
for i in range(0,n+1):
B[i]=A[i]-100

Сколько положительных значений будет в  массиве B?


Значения элементов двумерного массива А были равны 0. Затем значения некоторых элементов были изменены (см. представленный фрагмент программы:

Паскаль Си Python
n := 0;
for i:=1 tо 5 do
for j:=1 tо 6-i do begin
n := n + 1;
A[i,j] := n;
end;
 n = 0;
for (i = 1;i <= 5;i++)
for (j = 1;j <= 6-i;j++){
n = n + 1;
A[i][j] = n;
}
 n = 0
for i in range(1,6):
for j in range(1,6-i+1):
n = n + 1
A[i][j] = n

Какой элемент массива будет иметь в результате максимальное значение?

1) A[1,1]              2) A[1,5]              3) A[5,1]              4) A[5,5]


В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:

Паскаль Си Python
s:= 0;
n:= 10;
for i:=0 to n do begin
if і = n-i then s:=s+A[i]+A[i+1];
end;
s = 0;
n = 10;
for (i = 0;i <= n;i++)
if (і == n-i)
s=s+A[i]+A[i+1];
 s = 0
n = 10
for i in range(0,n+1):
if і == n-i:
s=s+A[i]+A[i+1];

В начале выполнения этого фрагмента в массиве находились числа 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, т. е. А[0]=0, А[1]=10 и т. д. Чему будет равно значение переменной s после выполнения данной программы?


В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:

Паскаль Си Python
n:= 10; s:= 0;
for i:=1 to n do begin
if A[i]-A[i-1] < i then
s:= s + i;
end;
 n = 10; s = 0;
for (i = 1;i <= n;i++)
if (A[i]-A[i-1] < i)
s = s + i;
 n = 10
s = 0
for i in range(0,n+1):
if A[i]-A[i-1] < i:
s = s + i

В начале выполнения этого фрагмента в массиве находились числа Фибоначчи: 1,1,2,3,5,8,13,21,34,55,89, т.е. A[0]=1, A[1]=1, A[2]=2 и т.д. Чему будет равно значение переменной s после выполнения данной программы?


В программе описан одномерный целочисленный массив с индексами от 1 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:

Паскаль Си Python
n := 10;
for i := 1 to n do begin
A[n+1-i] := 2*A[i];
end;
 n = 10
for (i = 1;i <= n;i++)
A[n+1-i] = 2*A[i];
 n = 10
for i in range(0,n+1):
A[n+1-i] = 2*A[i]

В начале выполнения этого фрагмента в массиве находились числа: 1,2,4,8,16,32,64,128,256,512, т.е. A[i]=2k-1, k=1, …10. Укажите значение из предложенного списка, которое после выполнения указанного фрагмента программы имеют два или более рассмотренных в этом фрагменте элемента массива. Если таких чисел несколько, укажите наименьшее из них.


В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив:

Паскаль Си Python
s:=0;
n:=10;
for i:=0 to n-1 do begin
s:=s+A[i]-A[i+1]
end;
 s=0;
n=10;
for (i = 0;i <= n-1;i++)
s=s+A[i]-A[i+1];
 s=0
n=10
for i in range(0,n):
s=s+A[i]-A[i+1]

В начале выполнения этого фрагмента в массиве находились двухзначные натуральные числа. Какое наибольшее значение может иметь переменная s после выполнения данной программы?


В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 7; 5; 3; 4; 8; 8; 9; 7; 6; 2 соответственно, т.е. A[0] = 7; A[1] = 5 и т.д. Определите значение переменной c после выполнения следующего фрагмента программы:

Паскаль Си Python
c := 0;
for i := 1 to 9 do
if A[i-1] < A[i] then begin
t:= A[i];
A[i]:= A[i — 1];
A[i-1]:= t
end
else
c:= c + 1;
 c = 0;
for (i = 1;i <= 9;i++)
if (A[i-1] < A[i]){
t = A[i];
A[i] = A[i — 1];
A[i-1] = t;
}else
c = c + 1;
 c = 0
for i in range(1,10):
if A[i-1] < A[i]:
t = A[i]
A[i] = A[i — 1]
A[i-1] = t
else:
c = c + 1

Ниже представлен фрагмент программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до 10. Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] < A[1] < … < A[10]. Какое наибольшее значение может иметь переменная s после выполнения данной программы?

Паскаль Си Python
s := 27;
n := 10;
for i:=0 to n-1 do begin
s:=s+A[i]-A[i+1]+2
end;
 s = 27;
n = 10;
for (i = 0;i <= n-1;i++)
s=s+A[i]-A[i+1]+2;
 s = 27
n = 10
for i in range(0,n):
s=s+A[i]-A[i+1]+2