игра брюс 2048
Главная / Алгоритмы и дискретные структуры / Решение олимпиадных задач по информатике / Тест 5

Решение олимпиадных задач по информатике - тест 5

Упражнение 1:
Номер 1

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, двумерный массив math будет заполнен так:

… for i:=1 to 4 do for j:=1 to 5 do x[i,j]:=i; …

Ответ:

 (1) \begin{matrix} 1&1&1&1&1\\ 2&2&2&2&2\\ 3&3&3&3&3\\ 4&4&4&4&4 \end{matrix} 

 (2) \begin{matrix} 1&2&3&4&5\\ 1&2&3&4&5\\ 1&2&3&4&5\\ 1&2&3&4&5 \end{matrix} 

 (3) \begin{matrix} 1&1&1&1\\ 2&2&2&2\\ 3&3&3&3\\ 4&4&4&4\\ 5&5&5&5 \end{matrix} 

 (4) \begin{matrix} 1&2&3&4\\ 1&2&3&4\\ 1&2&3&4\\ 1&2&3&4\\ 1&2&3&4 \end{matrix} 


Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, двумерный массив math будет заполнен так:

… for j:=1 to 4 do for i:=1 to 5 do x[i,j]:=i; …

Ответ:

 (1) \begin{matrix} 1&1&1&1\\ 2&2& 2& 2\\ 3& 3& 3& 3\\ 4& 4& 4& 4\\ 5& 5& 5& 5 \end{matrix} 

 (2) \begin{matrix} 1& 1& 1& 1& 1\\ 2& 2& 2& 2& 2\\ 3& 3& 3& 3& 3\\ 4& 4& 4& 4& 4 \end{matrix} 

 (3) \begin{matrix} 1& 2& 3& 4& 5\\ 1& 2& 3& 4& 5\\ 1& 2& 3& 4& 5\\ 1& 2& 3& 4& 5 \end{matrix} 

 (4) \begin{matrix} 1& 2& 3& 4\\ 1& 2& 3& 4\\ 1& 2& 3& 4\\ 1& 2& 3& 4\\ 1& 2& 3& 4 \end{matrix} 


Номер 3

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, двумерный массив math будет заполнен так:

… for i:=1 to 4 do for j:=1 to 5 do x[i,j]:=j; …

Ответ:

 (1) \begin{matrix} 1& 2& 3& 4& 5\\ 1& 2& 3& 4& 5\\ 1& 2& 3& 4& 5\\ 1& 2& 3& 4& 5 \end{matrix} 

 (2) \begin{matrix} 1& 1& 1& 1& 1\\ 2& 2& 2& 2& 2\\ 3& 3& 3& 3& 3\\ 4& 4& 4& 4& 4 \end{matrix} 

 (3) \begin{matrix} 1& 1& 1& 1\\ 2& 2& 2& 2\\ 3& 3& 3& 3\\ 4& 4& 4& 4\\ 5& 5& 5& 5 \end{matrix} 

 (4) \begin{matrix} 1& 2& 3& 4\\ 1& 2& 3& 4\\ 1& 2& 3& 4\\ 1& 2& 3& 4\\ 1& 2& 3& 4 \end{matrix} 


Упражнение 2:
Номер 1

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдет:

… max:=x[1,1]; min:=x[1,1]; for i:=1 to n do for j:=1 to m do if x[i,j]>max then max:=x[i,j] else min:=x[i,j]; …

Ответ:

 (1) в переменной max - максимальный элемент массива, в переменной min - элемент math (если максимальный элемент хранится не в math

 (2) в переменной max - максимальный элемент массива, в переменной min - минимальный элемент массива 

 (3) в переменной max - максимальный элемент массива, в переменной min - минимальный элемент массива (если максимальный элемент хранится не в math

 (4) в переменной max - максимальный элемент массива, в переменной min - следующий за максимальным элемент массива х (во всех случаях расположения максимального и минимального элементов массива) 


Номер 2

В программе на Паскале все значения элементов двумерного массива равны "2". Что будет выведено на экран монитора в результате выполнения программы, фрагмент которой приведен ниже:

… n:=5; x[2,3]:=5; x[4,1]:=1; max:=x[1,1]; min:=x[1,1]; for i:=1 to n do for j:=1 to n do if x[i,j]>max then max:=x[i,j] else min:=x[i,j]; writeln (max, ' ', min); …

Ответ:

 5 2 


Номер 3

Типовой алгоритм поиска максимального и минимльного элемента двумерного массива на Паскале, фрагмент которого приведен ниже, содержит ошибку. Найдите ее:

… m1:=x[1,1]; m2:=x[1,1]; for i:=1 to n do for j:=1 to m do if x[i,j]<m1 then m1:=x[i,j] else m2:=x[i,j]; …

Ответ:

 (1) неверно: ...else m2:=x[i,j]. Верно: if x[i,j]>m1 then m1:=x[i,j]; if x[i,j]<m2 then m2:=x[i,j]; 

 (2) неверно: …m1:=x[i,j]… …m2:=x[i,j]. Верно: …x[i,j]:=m1… …x[i,j]:=m2. 

 (3) неверно: m1:=x[1,1]; m2:=x[1,1]; Верно: m1:=0; m2:=1000; 

 (4) во фрагменте программы нет ошибок  


Упражнение 3:
Номер 1

Программа на Паскале, фрагмент которой приведен ниже, выводит…

… for i:=1 to n do for j:=1 to m do if (x[i,j]>0) and (i*j mod 2 =0) then writeln (i,j); …

Ответ:

 (1) индексы положительных элементов двумерного массива, произведение индексов которых четно 

 (2) индексы положительных элементов двумерного массива, имеющих четный номер строки или четный номер столбца 

 (3) индексы положительных элементов двумерного массива, имеющих четный номер строки и четный номер столбца 

 (4) индексы элементов двумерного массива, произведение индексов которых делится на два 


Номер 2

Программа на Паскале, фрагмент которой приведен ниже, выводит индексы положительных элементов двумерного массива, произведение индексов которых четно. Какое логическое выражение вместо вопросительного знака в ветвлении необходимо указать:

… for i:=1 to n do for j:=1 to m do if ? then writeln (i,j); …

Ответ:

 (1) (x[i,j]>0) and (i*j mod 2) =0 

 (2) (x[i,j]>0) or (i*j mod 2) =0 

 (3) (x[i,j]>0) and (i*j div 2) =0 

 (4) (x[i,j]>0) and (i mod=0)*(j mod 2 =0) 


Номер 3

Программа на Паскале, фрагмент которой приведен ниже, выводит…

… n:=3; y:=-1; for i:=1 to n do for j:=1 to n do x[i,j]:=y*(-2); y:=x[i,j]; for i:=1 to n do for j:=1 to n do if (x[i,j]>0) and (i*j mod 2 =0) then writeln (i+j); …

Ответ:

 4 


Упражнение 4:
Номер 1

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:

… d:=0; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]>m[j] then m[j]:=x[i,j]; end; d:=d+m[j]; end …

Ответ:

 (1) сумма максимальных элементов каждого стролбца квадратного массива 

 (2) сумма максимальных элементов каждой строки квадратного массива 

 (3) сумма элементов, находящихся выше главной диагонали квадратного массива 

 (4) сумма элементов, находящихся на главной диагонали квадратного массива 


Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:

… d:=0; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]<m[j] then m[j]:=x[i,j]; end; d:=d+m[j]; end …

Ответ:

 (1) сумма максимальных элементов каждого стролбца квадратного массива 

 (2) сумма всех элементов массива 

 (3) сумма максимальных элементов каждой строки квадратного массива 

 (4) сумма минимальных элементов каждой строки квадратного массива 


Номер 3

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, в переменной math будет:

… d:=0; n:=3; for j:=1 to n do for i:=1 to n do x[i,j]:=i+j; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]>m[j] then m[j]:=x[i,j]; end; d:=d+m[j]; end …

Ответ:

 15 


Упражнение 5:
Номер 1

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:

… s:=0; for i:=1 to n do for j:=1 to n do if (i<=n-j+1) then s:=s+x[i,j]; …

Ответ:

 (1) сумма элементов, расположенных выше и на побочной диагонали квадратного массива 

 (2) сумма элементов, находящихся ниже и на главной диагонали квадратного массива 

 (3) сумма элементов, находящихся в нижней правой четверти квадратного массива 

 (4) сумма элементов, расположенных на побочной диагонали квадратного массива 


Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:

… s:=0; for i:=1 to n do for j:=1 to n do if (i>n-j+1) then s:=s+x[i,j]; …

Ответ:

 (1) сумма элементов, расположенных ниже побочной диагонали квадратного массива 

 (2) сумма элементов, находящихся выше и на главной диагонали квадратного массива 

 (3) сумма элементов, находящихся в верхней правой четверти квадратного массива 

 (4) сумма элементов, расположенных на побочной диагонали квадратного массива 


Номер 3

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, значение переменной math будет равно:

… n:=3; s:=0; k:=1; for i:=1 to n do for j:=1 to n do begin x[i,j]:=k; k:=k+1; end for i:=1 to n do for j:=1 to n do if (i<=n-j+1) then s:=s+x[i,j]; …

Ответ:

 22 


Упражнение 6:
Номер 1

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:

… for i:=1 to n do for j:=1 to i do x[i,j]:=1; …

Ответ:

 (1) \begin{matrix} 1&0&0&0&0\\ 1&1&0&0&0\\ 1&1&1&0&0\\ 1&1&1&1&0\\ 1&1&1&1&1 \end{matrix} 

 (2) \begin{matrix} 1&1&1&1&1\\ 0&1&1&1&1\\ 0&0&1&1&1\\ 0&0&0&1&1\\ 0&0&0&0&1 \end{matrix} 

 (3) \begin{matrix} 1&1&1&1&1\\ 1&1&1&1&0\\ 1&1&1&0&0\\ 1&1&0&0&0\\ 1&0&0&0&0 \end{matrix} 

 (4) \begin{matrix} 0&0&0&0&1\\ 0&0&0&1&1\\ 0&0&1&1&1\\ 0&1&1&1&1\\ 1&1&1&1&1 \end{matrix} 


Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:

… for i:=1 to n do for j:=i to n do x[i,j]:=1; …

Ответ:

 (1) \begin{matrix} 1&1&1&1&1\\ 0&1&1&1&1\\ 0&0&1&1&1\\ 0&0&0&1&1\\ 0&0&0&0&1 \end{matrix} 

 (2) \begin{matrix} 1&0&0&0&0\\ 1&1&0&0&0\\ 1&1&1&0&0\\ 1&1&1&1&0\\ 1&1&1&1&1 \end{matrix} 

 (3) \begin{matrix} 1&1&1&1&1\\ 1&1&1&1&0\\ 1&1&1&0&0\\ 1&1&0&0&0\\ 1&0&0&0&0 \end{matrix} 

 (4) \begin{matrix} 0&0&0&0&1\\ 0&0&0&1&1\\ 0&0&1&1&1\\ 0&1&1&1&1\\ 1&1&1&1&1 \end{matrix} 


Номер 3

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:

… for i:=1 to n do for j:=1 to (n-i+1) do x[i,j]:=1; …

Ответ:

 (1) \begin{matrix} 1&1&1&1&1\\ 1&1&1&1&0\\ 1&1&1&0&0\\ 1&1&0&0&0\\ 1&0&0&0&0 \end{matrix} 

 (2) \begin{matrix} 1&1&1&1&1\\ 0&1&1&1&1\\ 0&0&1&1&1\\ 0&0&0&1&1\\ 0&0&0&0&1 \end{matrix} 

 (3) \begin{matrix} 0&0&0&0&1\\ 0&0&0&1&1\\ 0&0&1&1&1\\ 0&1&1&1&1\\ 1&1&1&1&1 \end{matrix} 

 (4) \begin{matrix} 1&0&0&0&0\\ 1&1&0&0&0\\ 1&1&1&0&0\\ 1&1&1&1&0\\ 1&1&1&1&1 \end{matrix} 


Упражнение 7:
Номер 1

Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:

\begin{matrix} 1&0&0&0&0&0&0&0&0\\ 1&1&0&0&0&0&0&0&0\\ 1&1&1&0&0&0&0&0&0\\ 1&1&1&1&0&0&0&0&0\\ 1&1&1&1&1&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ \end{matrix}

Ответ:

 (1) … for i:=1 to (n div 2 + 1) do for j:=1 to i do x[i,j]:=1; … 

 (2) … for i:= (n div 2 + 1) to n do for j:=i to n do x[i,j]:=1; … 

 (3) … for i:=1 to (n div 2 + 1) do for j:=i to (n-i+1) do x[i,j]:=1; … 

 (4) … for i:=(n div 2 + 1) to n do for j:= (n-i+1) to i do x[i,j]:=1; … 


Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже заполняется квадратный массив:

… for i:=1 to (?) do for j:=1 to i do x[i,j]:=1; …

Укажите выражение, которое должно стоять вместо вопросительного знака в заголовке цикла, чтобы квадратный массив заполнится таким образом:

\begin{matrix} 1&0&0&0&0&0&0&0&0\\ 1&1&0&0&0&0&0&0&0\\ 1&1&1&0&0&0&0&0&0\\ 1&1&1&1&0&0&0&0&0\\ 1&1&1&1&1&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0 \end{matrix}

Ответ:

 (1) math 

 (2) math 

 (3) math 

 (4) math 


Номер 3

Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:

\begin{matrix} 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&1&1&1&1&1\\ 0&0&0&0&0&1&1&1&1\\ 0&0&0&0&0&0&1&1&1\\ 0&0&0&0&0&0&0&1&1\\ 0&0&0&0&0&0&0&0&1 \end{matrix}

Ответ:

 (1) … for i:= (n div 2 + 1) to n do for j:=i to n do x[i,j]:=1; … 

 (2) … for i:=1 to (n div 2 + 1) do for j:=1 to i do x[i,j]:=1; … 

 (3) … for i:=1 to (n div 2 + 1) do for j:=i to (n-i+1) do x[i,j]:=1; … 

 (4) … for i:=(n div 2 + 1) to n do for j:= (n-i+1) to i do x[i,j]:=1; … 


Упражнение 8:
Номер 1

Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:

\begin{matrix} 1&1&1&1&1&1&1&1&1\\ 0&1&1&1&1&1&1&1&0\\ 0&0&1&1&1&1&1&0&0\\ 0&0&0&1&1&1&0&0&0\\ 0&0&0&0&1&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0 \end{matrix}

Ответ:

 (1) … for i:=1 to (n div 2 + 1) do for j:=i to (n-i+1) do x[i,j]:=1; … 

 (2) … for i:=1 to (n div 2 + 1) do for j:=1 to i do x[i,j]:=1; …  

 (3) … for i:= (n div 2 + 1) to n do for j:=i to n do x[i,j]:=1; … 

 (4) … for i:=(n div 2 + 1) to n do for j:= (n-i+1) to i do x[i,j]:=1; … 


Номер 2

Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:

\begin{matrix} 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&1&0&0&0&0\\ 0&0&0&1&1&1&0&0&0\\ 0&0&1&1&1&1&1&0&0\\ 0&1&1&1&1&1&1&1&0\\ 1&1&1&1&1&1&1&1&1 \end{matrix}

Ответ:

 (1) … for i:=(n div 2 + 1) to n do for j:= (n-i+1) to i do x[i,j]:=1; … 

 (2) … for i:=1 to (n div 2 + 1) do for j:=1 to i do x[i,j]:=1; … 

 (3) … for i:= (n div 2 + 1) to n do for j:=i to n do x[i,j]:=1; … 

 (4) … for i:=1 to (n div 2 + 1) do for j:=i to (n-i+1) do x[i,j]:=1; … 


Номер 3

Ниже приведен фрагмент программы

… for i:=(n div 2 + 1) to n do for j:=??? x[i,j]:=1; …

выполнение которой приведет к такому заполнению квадратного массива:

\begin{matrix} 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&1&0&0&0&0\\ 0&0&0&1&1&1&0&0&0\\ 0&0&1&1&1&1&1&0&0\\ 0&1&1&1&1&1&1&1&0\\ 1&1&1&1&1&1&1&1&1 \end{matrix}

Укажите, что должно стоять вместо вопросительных знаков в заголовке внутреннего цикла:


Ответ:

 (1) for j:= (n-i+1) to i do 

 (2) for j:=1 to n do  

 (3) for j:= (n-i+1) downto 1 do  

 (4) for j:=i to (n-i+1) do 




Главная / Алгоритмы и дискретные структуры / Решение олимпиадных задач по информатике / Тест 5