1. Сколько шагов (один шаг=пробег со сравнениями по всему массиву) в алгоритме сортировки пузырьком требуется произвести, чтобы упорядочить массив из 15 чисел?
А) 15
Б) 14
В) 16
Г) 13
2. После прохода по массиву [4 3 1 5] двумя шагами (шаг = один пробег со сравнениями по всему массиву) сортировки пузырьком по неубыванию элементы выстроятся так:
А) [4 3 1 5]
Б) [3 1 4 5]
В) [1 3 4 5]
Г) [1 3 4 5]
3. Дан массив чисел 4,3,2,1. Производится сортировка методом пузырька по возрастанию. Какое количество обменов значений элементов будет совершено?
1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190 -> 4095
5. 0..4094 -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001
Если лень перебирать вручную, можно воспользоваться программой
var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
begin
writeln(k,' ',l,' ',r,' ',x);
k := k + 1;
if f < x then r := x - 1
else l := x + 1;
x := (l + r) div 2
end;
writeln(k,' ',l,' ',r,' ',x);
end.
Все зависит от того, что Вы хотите делать. Язык программирования - это не самоцель, а всего лишь средство для того, чтобы выполнить какую-то работу. Например, если Вы хотите заняться веб-дизайном, то Вам неплохо бы помимо python знать java, php и html, а также не помешает знание SQL, если Вы будете составлять запросы к базам данных.Если же Вы хотите программировать чипы на низком уровне, то вам нужно изучение программирования в машинных кодах и assembler, для научного программирования пригодятся, например, Matlab, fortran, c,c++,c#. В общем, для каждой области деятельности есть свой набор инструментов и что именно изучать зависит от того, для чего Вы хотите свои навыки применять.