Вот такая программа позволяет инвертировать нечётные биты во введённом 16-ти разрядном числе (тип word).
Если что, счёт битов я брал начиная с нуля. Поэтому, младший бит (нулевой) считается чётным. Если вдруг у вас там принято считать биты начиная с единицы, то младший будет нечётным, и тогда в строке где b := 2; надо поставить единицу вместо двух.
Также, я сделал отображение всех 16 разрядов введённого числа, и числа которое получилось после инверсии битов (то есть, число выводится в двоичном виде, начиная со старших разрядов). Это сделано для удобства проверки работы программы.
После проверки лучше удалить эти две строки (они выделены жирным шрифтом), ведь в задании не сказано выводить числа в двоичном виде.
var
a, b, n: word;
begin
write('Введите целое неотрицательное число: a= ');
readln(a);
b:=32768;for n:=15 downto 0 do begin write((a mod(b*2))div b);b:=b div 2;end;writeln();
b := 2;
for n := 0 to 7 do
begin
if (a mod (b * 2)) div b = 0
then a := a + b
else a := a - b;
b := b * 4;
end;
b:=32768;for n:=15 downto 0 do begin write((a mod(b*2))div b);b:=b div 2;end;writeln();
writeln('После инверсии нечётных битов: a= ', a);
end.


На диске будет занято 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 тысячи картинок заняли десятки гигабайт).