Вопрос по информатике:
Файлы с несжатыми растровыми изображениями хранятся на жестком диске полезным объемом 1024 МБайт. В каждом файле хранятся только значения цветов пикселей изображения размером 480 на 320 пикселей с глубиной цвета 24 бита на пиксель. Никакой дополнительной информации файлы с изображениями не содержат. Весь полезный объем жесткого диска разбит на блоки одинакового размера. Под хранение каждого файла отводится набор блоков так, что файл занимает целое число блоков. Если в конце последнего блока, выделенного файлу, остается свободное место, оно не может быть использовано для хранения данных других файлов. Весь полезный объем диска отводится только для хранения указанных файлов (информация о размещении файлов по блокам хранится отдельно и не входит в полезный объем диска).
Изначально жесткий диск разбили на блоки, размером X КБайт, где X – целое число.
Известно, что если жесткий диск разбить на блоки в 2 раза большего размера, то на диске будет помещаться на 40 файлов меньше. Определите, какой размер блока X был при изначальном разбиении. В ответе укажите целое число.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 26.09.2018 16:35
- Информатика
- remove_red_eye 15744
- thumb_up 41
Ответы и объяснения 2
40 файлов- это 18000кБ.
На диске- 1048576кБ.
Если блоки стали в 2 раза больше, то пустого места, сответсвенно, тоже стало в 2 раза больше, на 18000кБ, значит до этого было тоже 18000кБ пустого места(если увеличить его в 2 раза, то будет НА 18000кБ больше), 1048576÷18000 даст 58(без остатка), значит изображений было тоже 58. После кажого изображения оставалось 18000/58 кБ пустого места(около 310 кБ), соответсвенно изображение с пустым местом занимало 18310кБ, что являлось размером блока
- 27.09.2018 20:53
- thumb_up 36
На 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
- 28.09.2018 16:24
- thumb_up 2
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.