Для всех заданий воспользуемся формулой N=2^i? где N -количество цветов, а i -количество бит на 1 пиксель. Задача 1. N=2^4=16 цветов.
Задача 2. N=224=2^i, поскольку для кодирования 128 цветов необходимо 7 бит, а для кодирования 256 цветов -8 бит, выбираем большее число, то есть 8 бит или 1 байт.
Задача 3. 65536 это 2^16⇒требуется 16 бит или 2 байта.
Задача 4. 1. Узнаем общее количество пикселей 1280*1024=1310720 2. Полученное число умножаем на глубину цвета 1310720*32=41943040 бит = 41943040/8 = 5242880 байт = 5242880/1024 = 5120 кб =5120/1024 = 5 Мб ответ: 5 Мб
// PascalABC.Net 3.0, сборка 1076 var s,ss:string; i,n,p:integer; begin Write('Введите строку: '); Readln(s); n:=Length(s); p:=Pos(',',s); if p in [1..n-1] then begin ss:=Copy(s,p+1,n-p); n:=Length(ss); p:=Pos(',',ss); if p=0 then Writeln(ss) else Writeln(Copy(ss,1,p-1)) end else Writeln('*** Нечего выводить ***') end.
Задача 1.
N=2^4=16 цветов.
Задача 2.
N=224=2^i, поскольку для кодирования 128 цветов необходимо 7 бит, а для кодирования 256 цветов -8 бит, выбираем большее число, то есть 8 бит или 1 байт.
Задача 3.
65536 это 2^16⇒требуется 16 бит или 2 байта.
Задача 4.
1. Узнаем общее количество пикселей 1280*1024=1310720
2. Полученное число умножаем на глубину цвета 1310720*32=41943040 бит = 41943040/8 = 5242880 байт = 5242880/1024 = 5120 кб =5120/1024 = 5 Мб
ответ: 5 Мб
var
s,ss:string;
i,n,p:integer;
begin
Write('Введите строку: '); Readln(s);
n:=Length(s); p:=Pos(',',s);
if p in [1..n-1] then begin
ss:=Copy(s,p+1,n-p);
n:=Length(ss); p:=Pos(',',ss);
if p=0 then Writeln(ss)
else Writeln(Copy(ss,1,p-1))
end
else Writeln('*** Нечего выводить ***')
end.
Тестовые решения:
Введите строку: 01234,45679,1011213,14151617
45679
Введите строку: 01234,45679101121314151617
45679101121314151617
Введите строку: 01234,
*** Нечего выводить ***