Файлы с несжатыми растровыми изображениями хранятся на жестком диске полезным объемом 1024 мбайт. в каждом файле хранятся только значения цветов пикселей изображения размером 480 на 320 пикселей с глубиной цвета 24 бита на пиксель. никакой дополнительной информации файлы с изображениями не содержат. весь полезный объем жесткого диска разбит на блоки одинакового размера. под хранение каждого файла отводится набор блоков так, что файл занимает целое число блоков. если в конце последнего блока, выделенного файлу, остается свободное место, оно не может быть использовано для хранения данных других файлов. весь полезный объем диска отводится только для хранения указанных файлов (информация о размещении файлов по блокам хранится отдельно и не входит в полезный объем диска). изначально жесткий диск разбили на блоки, размером x кбайт, где x – целое число. известно, что если жесткий диск разбить на блоки в 2 раза большего размера, то на диске будет помещаться на 40 файлов меньше. определите, какой размер блока x был при изначальном разбиении. в ответе укажите целое число.

Ziri12 Ziri12    2   11.09.2019 04:50    43

Ответы
12365874 12365874  07.10.2020 06:48
1 МБайт = 1024 КБайт; 1КБайт = 1024 байта.
На 1 файл: 480*320*24 бит = 480*320*3 байт = 450 Кбайт

var f,r,x,n,k1,k2:integer;
begin
f:=450;
r:=1024*1024;
x:=2;
while x<=r do begin
 n:=r div x;
 k1:=Ceil(f/x); k2:=Ceil(f/(2*x));
 if (n div k1) = ((n div 2) div k2+40)
   then begin
       writeln('1 разбиение: блок = ',x,' Кбайт, блоков на файл  ',k1,', файлов  ',n div k1);
       writeln('2 разбиение: блок = ',2*x,' Кбайт, блоков на файл  ',k2,', файлов  ',(n div 2) div k2);
        end;
 x:=2*x;
end;
end.

Результат:
1 разбиение: блок = 8 Кбайт, блоков на файл  57, файлов  2299
2 разбиение: блок = 16 Кбайт, блоков на файл  29, файлов  2259
ПОКАЗАТЬ ОТВЕТЫ
MaDooon MaDooon  07.10.2020 06:48
Изображение занимает 480х320х24 бита информации. Это равняется 450х2¹³ битов, что равняется 450кБ.
40 файлов- это 18000кБ.
На диске- 1048576кБ.
Если блоки стали в 2 раза больше, то пустого места, сответсвенно, тоже стало в 2 раза больше, на 18000кБ, значит до этого было тоже 18000кБ пустого места(если увеличить его в 2 раза, то будет НА 18000кБ больше), 1048576÷18000 даст 58(без остатка), значит изображений было тоже 58. После кажого изображения оставалось 18000/58 кБ пустого места(около 310 кБ), соответсвенно изображение с пустым местом занимало 18310кБ, что являлось размером блока
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика