• Вопрос по информатике:

    Файлы с несжатыми растровыми изображениями хранятся на жестком диске полезным объемом 1024 МБайт. В каждом файле хранятся только значения цветов пикселей изображения размером 480 на 320 пикселей с глубиной цвета 24 бита на пиксель. Никакой дополнительной информации файлы с изображениями не содержат. Весь полезный объем жесткого диска разбит на блоки одинакового размера. Под хранение каждого файла отводится набор блоков так, что файл занимает целое число блоков. Если в конце последнего блока, выделенного файлу, остается свободное место, оно не может быть использовано для хранения данных других файлов. Весь полезный объем диска отводится только для хранения указанных файлов (информация о размещении файлов по блокам хранится отдельно и не входит в полезный объем диска).
    Изначально жесткий диск разбили на блоки, размером X КБайт, где X – целое число.
    Известно, что если жесткий диск разбить на блоки в 2 раза большего размера, то на диске будет помещаться на 40 файлов меньше. Определите, какой размер блока X был при изначальном разбиении. В ответе укажите целое число.

    • Автор:

      elliefox
  • Ответ:

    Изображение занимает 480х320х24 бита информации. Это равняется 450х2¹³ битов, что равняется 450кБ.40 файлов- это 18000кБ.На диске- 1048576кБ.Если блоки стали в 2 раза больше, то пустого места, сответсвенно, тоже стало в 2 раза больше, на 18000кБ, значит до этого было тоже 18000кБ пустого места(если увеличить его в 2 раза, то будет НА 18000кБ больше), 1048576÷18000 даст 58(без остатка), значит изображений было тоже 58. После кажого изображения оставалось 18000/58 кБ пустого места(около 310 кБ), соответсвенно изображение с пустым местом занимало 18310кБ, что являлось размером блока
    • Отвечал:

      andrea9o6e

    Ответ:

    1 МБайт = 1024 КБайт; 1КБайт = 1024 байта.На 1 файл: 480*320*24 бит = 480*320*3 байт = 450 Кбайтvar f,r,x,n,k1,k2:integer;beginf:=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, файлов  22992 разбиение: блок = 16 Кбайт, блоков на файл  29, файлов  2259
    • Отвечал:

      paulahd6k

    Ответов нет, но ты это испарвиш!

Еще 4 ненужных тебе вопроса, но это важно для поиска