Напишите программу, которая выполняет неполную сортировку массива: ставит в начало
массива три самых меньших по величине элемента в порядке возрастания (неубывания).
Положение остальных элементов не важно.
2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.
3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)
В 1 надо только одним сортировки и не используя быструю сортировку.
В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.
Объяснение:
ну вроде так
Объяснение:
var a,b:real; c,e:integer;
begin
writeln('Введите два целых числа');
readln(a);
// нет ввода второго целого числа. надо написать readln(b);
c:=a/b; //ошибка! при делении может получится дробное число, а с указано как целое
d:=a mod b; //переменная d не описана в разделе var
e:=c+d;
writeln(c);
writeln(d);
writeln(e);
end.
Готовая программа:
var c, e:real; a,b,d:integer;
begin
writeln('Введите два целых числа');
readln(a);
readln(b);
c:=a/b;
d:=a mod b;
e:=c+d;
writeln(c);
writeln(d);
writeln(e);
end.
Объяснение:
1) Выполнить кодирование числа 3753D
Для этого переведем его сначала в десятичную вот так :
3753D = 3∙16^4+7∙16^3+5∙16^2+3∙16^1+13∙16^0 = 196608+28672+1280+48+13 = 226621
Получилось: 226621
Переведем 226621 в двоичную систему делением на основание новой:
ответ: 110111010100111101
2) Представьте число 11 0111 0101 0011 в двоично-десятичном.
Для этого переведем его сначала в десятичную вот так :
11011101010011 = 1∙2^13+1∙2^12+0∙2^11+1∙2^10+1∙2^9+1∙2^8+0∙2^7+1∙2^6+0∙2^5+1∙2^4+0∙2^3+0∙2^2+1∙2^1+1∙2^0 = 8192+4096+0+1024+512+256+0+64+0+16+0+0+2+1 = 14163
Получилось: 14163
Переведем 14163 в двоично-десятичную систему делением на основание новой
Получилось: 1416310 = 1100111011
ответ: 1100111011
3) Представьте число 1110 1010 1001 в шестнадцатеричном коде
Для этого переведем его сначала в десятичную вот так :
111010101001 = 1∙2^11+1∙2^10+1∙2^9+0∙2^8+1∙2^7+0∙2^6+1∙2^5+0∙2^4+1∙2^3+0∙2^2+0∙2^1+1∙2^0 = 2048+1024+512+0+128+0+32+0+8+0+0+1 = 3753
Получилось: 3753
Переведем 3753 в шестнадцатиричную систему делением на основание новой
Получилось: 3753 = EA916
ответ: EA916
4) Представьте число 110 1010 1001 в восьмеричном коде
Для этого переведем его сначала в десятичную вот так :
110101010012 = 1∙2^10+1∙2^9+0∙2^8+1∙2^7+0∙2^6+1∙2^5+0∙2^4+1∙2^3+0∙2^2+0∙2^1+1∙2^0 = 1024+512+0+128+0+32+0+8+0+0+1 = 1705
Получилось: 1705
Переведем 1705 в восьмеричную систему делением на основание новой
Получилось: 1705 = 3251
ответ: 3251
5) Представьте число 1110 1010 1001 в десятичном коде
Перевод в десятичную производится вот так :
1110101010012 = 1∙2^11+1∙2^10+1∙2^9+0∙2^8+1∙2^7+0∙2^6+1∙2^5+0∙2^4+1∙2^3+0∙2^2+0∙2^1+1∙2^0 = 2048+1024+512+0+128+0+32+0+8+0+0+1 = 375310
ответ: 375310
6) Представьте число 3753D в дополнительном коде
Для этого переведем его сначала в десятичную вот так :
3753D = 3∙16^4+7∙16^3+5∙16^2+3∙16^1+13∙16^0 = 196608+28672+1280+48+13 = 226621
Получилось: 226621
Переведем 226621 в двоичную систему делением на основание новой:
Получилось: 226621 = 110111010100111101
Дополнительный код положительного числа совпадает с прямым кодом.
ответ: Число 3753D представляется в двоичном дополнительном коде как 0,110111010100111101
7) Представьте число -3753D в дополнительном коде
Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
ответ: Число 3753D представляется в двоичном дополнительном коде как 1,001000101011000010
В 8 и 9, речь идет о Коде Хэмминга?