Для всех заданий воспользуемся формулой 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 Мб
Var A:array[1..60] of integer; k,i,MIN,ind, MAX,SUM:integer; begin SUM:=0; readln(k); randomize; writeln('Исходный массив:'); for i:=1 to 60 do begin A[i]:=random(15)-5; Writeln('A[',i,']=',A[i]); end; MIN:=32600; MAX:=-32600; for i:=1 to 60 do //Ищем минимальный элемент begin if a[i]<MIN then MIN:=a[i]; ind:=i; end; for i:=1 to 60 do //Ищем максимальный элемент if a[i]>MAX then MAX:=a[i]; for i:=60 downto 60-k do //Сумма последних k элементов SUM:=SUM+a[i]; A[ind]:=SUM; if A[1]>=0 then for i:=1 to 60 do begin A[i]:=A[i]*sqr(MIN); Writeln('A[',i,']=',A[i]); end else for i:=1 to 60 do begin A[i]:=A[i]*sqr(MAX); Writeln('A[',i,']=',A[i]); end; 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 Мб
A:array[1..60] of integer;
k,i,MIN,ind, MAX,SUM:integer;
begin
SUM:=0;
readln(k);
randomize;
writeln('Исходный массив:');
for i:=1 to 60 do
begin
A[i]:=random(15)-5;
Writeln('A[',i,']=',A[i]);
end;
MIN:=32600;
MAX:=-32600;
for i:=1 to 60 do //Ищем минимальный элемент
begin
if a[i]<MIN then
MIN:=a[i];
ind:=i;
end;
for i:=1 to 60 do //Ищем максимальный элемент
if a[i]>MAX then
MAX:=a[i];
for i:=60 downto 60-k do //Сумма последних k элементов
SUM:=SUM+a[i];
A[ind]:=SUM;
if A[1]>=0 then
for i:=1 to 60 do
begin
A[i]:=A[i]*sqr(MIN);
Writeln('A[',i,']=',A[i]);
end
else
for i:=1 to 60 do
begin
A[i]:=A[i]*sqr(MAX);
Writeln('A[',i,']=',A[i]);
end;
end.