Чтобы это узнать нам потребуется разобрать это на примере. допустим у нас есть изображение размером 1024х1024 пикселя. чтобы определить объем занимаемой памяти при наличии на нем 65 536 цветов для начала нужно выяснить сколькими битами кодировать один пиксель. 65 536 = 2^16 => один пиксель кодируется 16 битами. значит объем памяти изображения будет составлять: 1024*1024*16= 16 777 216 бит. теперь вычислим объем памяти при наличии 16 цветов на изображении. 16=2^4 => 1024*1024*4=4 194 304 теперь чтобы определить во сколько раз уменьшился объем памяти изображения мы выполняем следующее действие: 16 777 216 : 4 194 304 = 4 т е объем памяти изображения уменьшился в 4 раза.
Ingakazakova
04.05.2022
Ну, в общем, лови решение.
{ FreePascal 2.6.4} program test; uses crt; var a, b, c, d : integer; f : longint;
procedure swap (var x : integer; var y : integer); var z : integer; begin z := x; x := y; y := z; end;
function nod (m, n : integer) : integer; begin while m<>n do begin if m>n then m:=m-n else n:=n-m; end; nod := m; end;
function max (a,b : integer) : integer; begin if a>b then max := a else max := b; end;
function min (x, y, z : integer) : integer; var m : integer; begin m := x; if y<m then m := y; if z<m then m := z; min := m; end;
function mypow (a, b : integer) : integer; var e, f : integer; begin f := 1; for e:=1 to b do f := f*a; mypow := f; end;
function fact(a : integer) : longint; var i : integer; res : longint; begin res := 1; for i := 1 to a do res := res*i; fact := res; end;
begin clrscr; writeln('Test of function SWAP'); write('Input A: '); readln(a); write('Input B: '); readln(b); swap(a, b); writeln('A=', a, ', B=', b); writeln;
writeln('Test of function NOD'); write('Input A: '); readln(a); write('Input B: '); readln(b); c := nod(a, b); writeln('NOD(', a, ',', b, ')=', c); writeln;
writeln('Test of function MAX'); write('Input A: '); readln(a); write('Input B: '); readln(b); c := max(a, b); writeln('MAX(', a, ',', b, ')=', c); writeln;
writeln('Test of function MIN'); write('Input A: '); readln(a); write('Input B: '); readln(b); write('Input C: '); readln(c); d := min(a, b, c); writeln('MIN(', a, ',', b, ',', c, ')=', d); writeln;
writeln('Test of function POW'); write('Input A: '); readln(a); write('Input B: '); readln(b); c := mypow(a, b); writeln('POW(', a, ',', b, ')=', c); writeln;
writeln ('Test of function FACT (not large than 12!)'); write('Input A: '); readln(a); f := fact(a); writeln(a, '!=', f); writeln; readkey;
end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Информатика дан массив целых чисел. найти количество нулей
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-9,9); a.Println;
Writeln('Количество нулей равно ',a.Where(x->x=0).Count)
end.
Пример
n= 25
0 1 5 3 -8 8 3 -9 6 9 2 -1 -6 -8 -1 0 -1 7 5 4 8 -1 4 9 1
Количество нулей равно 2