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

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

Упражнение 1:
Номер 1
 Выберите фрагменты программ на Паскале, реализующие алгоритм сортировки одномерного массива "Пузырьком":

Ответ:

 (1) . . . for j:=n downto 2 do for i:=1 to j-1 do if x[i]>x[i+1] then begin y:=x[i]; x[i]:= x[i+1]; x[i+1]:=y; end;  

 (2) . . . for j:=n downto 2 do for i:=2 to j do if x[i-1]>x[i] then begin y:=x[i]; x[i]:= x[i-1]; x[i-1]:=y; end; 

 (3) . . . for j:=1 to n-1 do for i:=1 to j do if x[i]>x[i+1] then begin y:=x[i]; x[i]:= x[i+1]; x[i+1]:=y; end; 

 (4) . . . for j:=1 to n do for i:=2 to j do if x[i-1]>x[i] then begin y:=x[i]; x[i]:= x[i-1]; x[i-1]:=y; end; 


Номер 2

Найдите ошибки в программе, реализующей алгоритм сортировки одномерного массива "Пузырьком", фрагмент которой приведен ниже:

… for j:=2 to n do for i:=1 to j do if x[i]>x[i+1] then begin y:=x[i]; x[i]:= x[i+1]; x[i+1]:=y; end; …

Ответ:

 (1) неверно: for j:=2 to n do. Верно: for j:=n downto 2 do 

 (2) неверно: for i:=1 to j do. Верно: for i:=1 to j-1 do 

 (3) Неверно y:=x[i]; x[i]:= x[i+1]; x[i+1]:=y; Верно: x[i]:= x[i+1]; y:=x[i]; x[i+1]:=y 

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


Номер 3

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

. . . for i:=1 to 5 do readln (x[i]); for j:=5 downto 2 do for i:=1 to j-1 do if x[i]>x[i+1] then begin y:=x[i]; x[i]:= x[i+1]; x[i+1]:=y; end; …

Ответ:

 00899 


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

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

. . . n:=5; k:=0; for i:=1 to n do a[i]:=i; for j:=n downto 2 do for i:=1 to j-1 do if a[i]<a[i+1] then begin x:=a[i]; a[i]:= a[i+1]; a[i+1]:=x; k:=k+1; end; …

Ответ:

 10 


Номер 2

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

. . . n:=5; k:=0; for i:=1 to n do a[i]:=i; for j:=n downto 2 do for i:=1 to j-1 do if a[i]>a[i+1] then begin x:=a[i]; a[i]:= a[i+1]; a[i+1]:=x; k:=k+1; end; …

Ответ:

 0 


Номер 3

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

. . . n:=5; k:=0; for i:=1 to n do a[i]:=n-i+1; for j:=n downto 2 do for i:=1 to j-1 do if a[i]>a[i+1] then begin x:=a[i]; a[i]:= a[i+1]; a[i+1]:=x; k:=k+1; end; …

Ответ:

 10 


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

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

. . . for i:=1 to n do begin readln (x[i]); y[i]:=i; end; for j:=n downto 2 do for i:=1 to j-1 do if x[i]>x[i+1] then begin m:=x[i]; x[i]:= x[i+1]; x[i+1]:=m; g:=y[i]; y[i]:= y[i+1]; y[i+1]:=g; end; . . .

Ответ:

 (1) 1 3 5 2 4 6 

 (2) 1 2 3 4 5 

 (3) 5 4 3 2 1 

 (4) 1 1 1 2 2 2 


Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, в массив math вводятся числа: 5, 4, 3, 2, 1. Массив У будет содержать значения:

. . . for i:=1 to n do begin readln (x[i]); y[i]:=i; end; for j:=n downto 2 do for i:=1 to j-1 do if x[i]>x[i+1] then begin m:=x[i]; x[i]:= x[i+1]; x[i+1]:=m; g:=y[i]; y[i]:= y[i+1]; y[i+1]:=g; end; . . .

Ответ:

 (1) 5 4 3 2 1 

 (2) 1 2 3 4 5 

 (3) 5 5 5 5 5 

 (4) 1 1 1 1 1 


Номер 3

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

. . . n:=5; for i:=1 to n do begin x[i]:=n-i+1; y[i]:=i; end; for j:=n downto 2 do for i:=1 to j-1 do if x[i]>x[i+1] then begin g:=x[i]; x[i]:= x[i+1]; x[i+1]:=g; g:=y[i]; y[i]:= y[i+1]; y[i+1]:=g; end; for i:=1 to n do write (x[i]+y[i]); . . .

Ответ:

 (1) 6 6 6 6 6 

 (2) 2 3 4 5 6 

 (3) 2 6 2 6 2 

 (4) 5 5 5 5 5 


Упражнение 4:
Номер 1
Для сортировки различных частей одномерного массива, выбранных по определенному правилу (так, чтобы "невыбранные" элементы оставались стоять на своих местах), необходимо:

Ответ:

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

 (2) заполнить дополнительный массив индексов индексами тех элементов исходного массива, которые выбраны в соотвествии с определенными правилами 

 (3) отсортировать весь массив исходных элементов, затем "перенести" в порядке следования элементы, выбранные по определенному правилу, в начало (конец) массива 

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


Номер 2
Для сортировки различных частей одномерного массива, выбранных по определенному правилу (так, чтобы "невыбранные" элементы оставались стоять на своих местах), необходимо:

Ответ:

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

 (2) "разбить" элементы исходного массива, поместив "нужные" элементы исходного массива в первый дополнительный массив, "ненужные" элементы - во второй массив. Сортировать первый массив 

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

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


Номер 3

Результат работы программы, фрагмент которой ниже, содержимое массива А станет (введите в поле ввода в строку без пробелов):

… n:=9; for i:= 1 to n do a[i]:=i; j:=1; k:=0; for i:=1 to n do if a[i] mod 3=0 then begin b[j]:=i; j:=j+1; k:=k+1; end; for j:=k downto 2 do for i:=1 to j-1 do if a[b[i]]<a[b[i+1]] then begin x:=a[b[i]]; a[b[i]]:=a[b[i+1]]; a[b[i+1]]:=x; end;

Ответ:

 129456783 


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

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

… j:=1; k:=0; for i:=1 to n do if x[i] mod 2=0 then begin y[j]:=i; j:=j+1; end; …

Ответ:

 (1) индексы четных элементов массива х 

 (2) четные элементы массива х 

 (3) числа натурального ряда от 1 до n включительно 

 (4) числа натурального ряда от 1 до j включительно 


Номер 2
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, в массив Х вводятся N натуральных чисел. Массив У будет содержать:
…
j:=0; k:=0; n:=9;
for i:=1 to n do x[i]:=i;
for i:=1 to n do
  if x[i] mod 2<>0 then
    begin
	j:=j+1; y[j]:=i;
	end;
…

Ответ:

 13579 


Номер 3

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, в массив Х вводятся числа: 1, 8, 12, 3, 5, 4. Сумма элементов массива У будет равна:

… j:=1; k:=0; n:=6; for i:=1 to n do if x[i] mod 2=0 then begin y[j]:=i; j:=j+1; end; …

Ответ:

 11 


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

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

… j:=0; m:=1; for i:=1 to n do begin read (x[i]); if x[i] mod 3=0 then begin j:=j+1; y[j]:=i; end; end; for i:=1 to j do m:=m*x[y[i]]; …

Ответ:

 (1) произведение элементов массива math, кратных трем 

 (2) произведение элементов массива math, на которые указывают элементы массива math 

 (3) произведение каждого третьего элемента массива math 

 (4) произведение элементов массива math, на которые указывает каждый третий элемент массива math 


Номер 2

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

… j:=0; m:=1; for i:=1 to n do begin read (x[i]); if x[i] mod 3<>0 then begin j:=j+1; y[j]:=i; end; end; for i:=1 to j do m:=m*x[y[i]]; …

Ответ:

 (1) произведение элементов массива math, не кратных трем 

 (2) произведение элементов массива math, на которые указывают элементы массива math 

 (3) произведение каждого третьего элемента массива math 

 (4) произведение элементов массива math, на которые указывает каждый третий элемент массива math 


Номер 3

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

… j:=0; m:=1; n:=10; for i:=1 to n do x[i]:=i; for i:=1 to n do begin if x[i] mod 3=0 then begin j:=j+1; y[j]:=i; end; end; for i:=1 to j do m:=m*x[y[i]]; …

Ответ:

 162 


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

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

… n:=8; k:=n div 2; for i:=1 to n do begin x[i]:=i; j:=i div 2 + 1; y[j]:=j*2; end; for i:=1 to k do s:=s+x[y[i]]; …

Ответ:

 (1) сумму четных элементов массива math 

 (2) сумму элементов массива math, стоящих на четных местах 

 (3) сумму элементов массива math 

 (4) сумму элементов массива math, на которые указывают элементы массива math 

 (5) сумму первых math элементов массива math 


Номер 2

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

… n:=8; k:=n div 2; s:=1; for i:=1 to n do begin x[i]:=i; j:=i div 2 + 1; y[j]:=j*2; end; for i:=1 to k do s:=s*x[y[i]]; …

Ответ:

 (1) произведение четных элементов массива х 

 (2) произведение элементов массива х, стоящих на четных местах 

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

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

 (5) произведение первых k элементов массива х 


Номер 3

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

… n:=10; k:=n div 2; for i:=1 to n do begin x[i]:=i; j:=i div 2 + 1; y[j]:=j*2; end; for i:=1 to k do s:=s+x[y[i]]; …

Ответ:

 30 


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

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

… j:=1; k:=0; for i:=1 to n do if x[i] mod 2=0 then begin y[j]:=i; j:=j+1; k:=k+1; end; for j:=k downto 2 do for i:=1 to j-1 do if x[y[i]]>x[y[i+1]] then begin z:=x[y[i]]; x[y[i]]:=x[y[i+1]]; x[y[i+1]]:=z; end; …

Ответ:

 (1) четные элементы массива math отсортируются в порядке возрастания (в позициях, занимаемых четными элементами), нечетные элементы останутся на своих местах 

 (2) упорядочиваются по возрастанию элементы массива math, на которые указывает содержимое элементов массива math, нечетные элементы останутся на своих местах 

 (3) четные элементы массива math отсортируются в порядке возрастания и будут располагаться подряд, начиная с первого элемента массива math, за ними будут следовать остальные нечетные элементы массива math 

 (4) элементы стоящие на четных местах массива х меняются местами с элементами, стоящими на нечетных местах 


Номер 2

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

… j:=1; k:=0; for i:=1 to n do if x[i] >0 then begin y[j]:=i; j:=j+1; k:=k+1; end; for j:=k downto 2 do for i:=1 to j-1 do if x[y[i]]<x[y[i+1]] then begin z:=x[y[i]]; x[y[i]]:=x[y[i+1]]; x[y[i+1]]:=z; end; …

Ответ:

 (1) положительные элементы массива math отсортируются в порядке убывания (в позициях, занимаемых положительными элементами), остальные элементы останутся на своих местах 

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

 (3) положительные элементы массива math отсортируются в порядке убывания и будут располагаться подряд, начиная с первого элемента массива math, за ними будут следовать остальные элементы массива math 

 (4) положительные элементы массива math отсортируются в порядке убывания (в позициях, занимаемых положительными элементами), остальные элементы отсортируются по возрастанию (в пределах занимаемых позиций) 


Номер 3

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

… n:=5; j:=1; k:=0; for i:=1 to n do x[i]:=i; for i:=1 to n do if x[i] mod 2=0 then begin y[j]:=i; j:=j+1; k:=k+1; end; for j:=k downto 2 do for i:=1 to j-1 do if x[y[i]]>x[y[i+1]] then begin z:=x[y[i]]; x[y[i]]:=x[y[i+1]]; x[y[i+1]]:=z; end; …

Ответ:

 24000 




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