Рассчитать объем памяти необходимой для представления одноминутного фильма на экране монитора с пространственным разрешением 800х600 пикселей и палитрой из 256 цветов. смена кадров выполняется 16 кадров в секунду. ответ выразите в мбайтах.
1. При использовании палитры из 2^24 цветов для хранения цвета 1 пикселя используется 24 бита = 3 байта. Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт. X = 8*(K*3/1024 + 128)+2.5*1024 2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта. Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт. X = 20*(K*2/1024 + 128) 8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128) К = 65536 (количество пикселей в рисунке) X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт = 20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
Задача №1 var a:array[1..4, 1..5] of integer; i,j,k:integer; begin writeln('Заполните матрицу'); for i:=1 to 4 do for j:=1 to 5 do begin read(a[i,j]); if (a[i,j] mod 3=0) and (a[i,j]>20) then k:=k+a[i,j]; end; writeln('Сумма элементов кратных 3-м и > 20 = ',k); end.
Задача №2 var a:array[1..5, 1..5] of integer; i,j,k:integer; begin writeln('Заполните матрицу'); for i:=1 to 5 do for j:=1 to 5 do begin read(a[i,j]); if i=j then k:=k+a[i,j]; end; writeln('Сумма элементов главной диагонали = ',k); end.
Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт.
X = 8*(K*3/1024 + 128)+2.5*1024
2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта.
Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт.
X = 20*(K*2/1024 + 128)
8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128)
К = 65536 (количество пикселей в рисунке)
X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт =
20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
var a:array[1..4, 1..5] of integer;
i,j,k:integer;
begin
writeln('Заполните матрицу');
for i:=1 to 4 do
for j:=1 to 5 do begin
read(a[i,j]);
if (a[i,j] mod 3=0) and (a[i,j]>20) then k:=k+a[i,j];
end;
writeln('Сумма элементов кратных 3-м и > 20 = ',k);
end.
Задача №2
var a:array[1..5, 1..5] of integer;
i,j,k:integer;
begin
writeln('Заполните матрицу');
for i:=1 to 5 do
for j:=1 to 5 do begin
read(a[i,j]);
if i=j then k:=k+a[i,j];
end;
writeln('Сумма элементов главной диагонали = ',k);
end.