округляем (всегда с избытком, вверх, т.к. кластер считается занятым, даже если занята лишь его малая часть), и получаем что файл одного изображения займёт 2289 кластеров
считаем, сколько кластеров займут все 2019 файлов:
2289 * 2019 = 4621491 кластеров
считаем, сколько это в килобайтах:
4621491 * 8 = 36971928 КБ
P.S. Именно поэтому файлы изображений обычно хранят сжатыми (чтобы не получилось, что всего то 2 тысячи картинок заняли десятки гигабайт).
На диске будет занято 36 971 928 КБ памяти.
Объяснение:
число точек в изображении:
1877 * 3330 = 6250410 точек
считаем чистый размер файла одного изображения:
6250410 * 24 = 150009840 бит
переводим в байты:
150009840 / 8 = 18751230 байт
переводим в килобайты:
18751230 / 1024 ≈ 18311,75 КБ
считаем, сколько кластеров займёт такой файл:
18311,75 / 8 ≈ 2288,97 кластеров
округляем (всегда с избытком, вверх, т.к. кластер считается занятым, даже если занята лишь его малая часть), и получаем что файл одного изображения займёт 2289 кластеров
считаем, сколько кластеров займут все 2019 файлов:
2289 * 2019 = 4621491 кластеров
считаем, сколько это в килобайтах:
4621491 * 8 = 36971928 КБ
P.S. Именно поэтому файлы изображений обычно хранят сжатыми (чтобы не получилось, что всего то 2 тысячи картинок заняли десятки гигабайт).
const
W = 600;
H = 600;
function F(x: real): real;
begin
F := sqr(x);
end;
var
x0, y0, x, y, xLeft, yLeft, xRight, yRight: integer;
a, b, fmin, fmax, x1, y1, mx, my: real;
begin
window.Init(0, 0, 800, 500, clwhite);
window.IsFixedSize := true;
xRight := 590;
yRight := 590;
a := -15;
b := 6;
fmin := -10;
fmax := 20;
mx := (xRight - xLeft) / (b - a);
my := (yRight - yLeft) / (fmax - fmin);
x0 := 380;
y0 := 490;
x1 := a;
while x1 <= b do
begin
y1 := F(x1);
x := x0 + round(x1 * mx);
y := y0 - round(y1 * my);
if (y >= 10) and (y <= 590) then SetPixel(x, y, clblack);
x1 := x1 + 0.001 ;
end;
end.