//Визуально разделил циклы, чтобы было более читаемо
var ar:array[1..10] of integer; max,i:integer; begin; randomize; //чтобы random() работал как надо writeln('Array');
for i:=1 to 10 do begin; ar[i]:=random(-10,10); //случайное число от -10 до 10 write(ar[i]:4); end;
for i:=1 to 10 do //"проходим" через весь массив if (ar[i]<0) and (max<abs(ar[i])) then max:=abs(ar[i]); {если элемент массива меньше нуля и его модуль больше максимума тогда записать модуль этого числа в максимум}
writeln; writeln('Max:-',max); //выводим на всякий случай максимум
writeln('Final array:'); for i:=1 to 10 do //снова проходим по всему массиву begin; if ar[i]=-max then ar[i]:=0; {если элемент равен отрицательному максимуму(мы брали модуль) присвоить ему 0} write(ar[i]:4); end; end.
1. Для кодирования одного из 64 цветов требуется log(2)64 = 6 бит (2^6=64). 180 байт = 180*8 бит. Количество точек = 180*8 / 6 = 240
2. Для кодирования одного из 1024 цветов требуется log(2)1024 = 10 бит (2^10=1024); для кодирования одного из 4 цветов требуется log(2)4 = 2 бита (2^2=4). После прелбразования объем изображения уменьшился в 10/2 = 5 раз.
4. а) Для кодирования одного из 32 символов русского алфавита (без буквы "ё") требуется log(2)32 = 5 бит; с буквой "ё" - 6 бит. б) Для кодирования одного из 26 символов латинского алфавита требуется log(2)26 ≈ 5 бит. в) Для кодирования одной из 10 цифр требуется log(2)10 ≈ 4 бита. г) Для кодирования одной двоичной цифры требуется log(2)2 = 1бит.
var ar:array[1..10] of integer;
max,i:integer;
begin;
randomize; //чтобы random() работал как надо
writeln('Array');
for i:=1 to 10 do
begin;
ar[i]:=random(-10,10); //случайное число от -10 до 10
write(ar[i]:4);
end;
for i:=1 to 10 do //"проходим" через весь массив
if (ar[i]<0) and (max<abs(ar[i])) then max:=abs(ar[i]);
{если элемент массива меньше нуля и его модуль больше максимума тогда записать модуль этого числа в максимум}
writeln;
writeln('Max:-',max); //выводим на всякий случай максимум
writeln('Final array:');
for i:=1 to 10 do //снова проходим по всему массиву
begin;
if ar[i]=-max then ar[i]:=0;
{если элемент равен отрицательному максимуму(мы брали модуль) присвоить ему 0}
write(ar[i]:4);
end;
end.
180 байт = 180*8 бит.
Количество точек = 180*8 / 6 = 240
2. Для кодирования одного из 1024 цветов требуется log(2)1024 = 10 бит (2^10=1024); для кодирования одного из 4 цветов требуется log(2)4 = 2 бита (2^2=4). После прелбразования объем изображения уменьшился в 10/2 = 5 раз.
3. 0,625 Мбайт = 0,625*1024 Кбайт = 0,625*1024*1024 байт = 0,625*1024*1024*8 бит = 5 242 880 бит. Каждая ячейка содержит 5242880/163840 = 32 бита
4. а) Для кодирования одного из 32 символов русского алфавита (без буквы "ё") требуется log(2)32 = 5 бит; с буквой "ё" - 6 бит.
б) Для кодирования одного из 26 символов латинского алфавита требуется log(2)26 ≈ 5 бит.
в) Для кодирования одной из 10 цифр требуется log(2)10 ≈ 4 бита.
г) Для кодирования одной двоичной цифры требуется log(2)2 = 1бит.