Текст записан символами из (1)-32 символьного(2)-64 символьного алфавита. Текст занимает 3 стр., на странице 60 строк по 35 символов. Найти информационный объём текста
Не сказала бы, что это решение сильно отличается от уже имеющегося, но
а) оно совсем немножко удобнее (хотя бы из-за ClrScr и вывода ответа с определённым количеством знаков после запятой). А ещё предусмотрена возможность отсутствия таковых чисел.
б)ну не могла я пропустить задачу по паскалю)
Program n1; Uses CRT; Const n=10; Var a: array[1..n] of integer; i,s,k: integer; begin ClrScr; Randomize; For i:=1 to n do begin a[i]:=random(10); write(a[i]:3); If a[i]=i then begin s:=s+a[i]; writeln('s=',s); k:=k+1; end; end; writeln; If k=0 then writeln('таких элементов нет') else Writeln('Среднее арифметическое элементов массива, равных своим индексам, равно ',s/k:4:4); readln end.
Сначала найдём минимальное количество бит для кодирования одного пикселя (точки) такого изображения.
Это будет такое минимальное целое n, которое удовлетворяет неравенству
Это n проще всего найти, используя таблицу степеней числа 2.
Ищем в ней минимальную степень, большую или равную числу 260, а затем смотрим её показатель. В результате мы найдём степень 512 и показатель для этой степени, равный 9.
То есть, можем сразу после неравенства записать, что n = 9.
Однако, можно записать и общую формулу. Решим неравенство и запишем формулу для минимального целого n (используя двоичный логарифм (его можно заменить десятичным или натуральным), а затем округление вверх):
Вычисляем:
(бит)
Это и будет минимальное число бит для самого маленького указанного изображения (размером 1 на 1 пискель, то есть состоящего всего из 1 * 1 = 1 пикселя)
Если же изображение имеет другие размеры (обозначим как x и y ), то это число бит для одного пискселя надо будет умножить на число пикселей в изображении (произведение икс и игрек) и получим общее число бит для кодирования такого изображения: n*x*y
Не сказала бы, что это решение сильно отличается от уже имеющегося, но
а) оно совсем немножко удобнее (хотя бы из-за ClrScr и вывода ответа с определённым количеством знаков после запятой). А ещё предусмотрена возможность отсутствия таковых чисел.
б)ну не могла я пропустить задачу по паскалю)
Program n1;
Uses CRT;
Const n=10;
Var a: array[1..n] of integer;
i,s,k: integer;
begin
ClrScr;
Randomize;
For i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:3);
If a[i]=i then
begin
s:=s+a[i];
writeln('s=',s);
k:=k+1;
end;
end;
writeln;
If k=0 then writeln('таких элементов нет') else
Writeln('Среднее арифметическое элементов массива, равных своим индексам, равно ',s/k:4:4);
readln
end.
ответ: 9 бит (для изображения 1 на 1 пиксель)
Для других размеров- смотри внизу решения.
Сначала найдём минимальное количество бит для кодирования одного пикселя (точки) такого изображения.
Это будет такое минимальное целое n, которое удовлетворяет неравенству
Это n проще всего найти, используя таблицу степеней числа 2.
Ищем в ней минимальную степень, большую или равную числу 260, а затем смотрим её показатель. В результате мы найдём степень 512 и показатель для этой степени, равный 9.
То есть, можем сразу после неравенства записать, что n = 9.
Однако, можно записать и общую формулу. Решим неравенство и запишем формулу для минимального целого n (используя двоичный логарифм (его можно заменить десятичным или натуральным), а затем округление вверх):
Вычисляем:
(бит)
Это и будет минимальное число бит для самого маленького указанного изображения (размером 1 на 1 пискель, то есть состоящего всего из 1 * 1 = 1 пикселя)
Если же изображение имеет другие размеры (обозначим как x и y ), то это число бит для одного пискселя надо будет умножить на число пикселей в изображении (произведение икс и игрек) и получим общее число бит для кодирования такого изображения: n*x*y