Давай разбираться. Если бы квартира в доме была 1 = 2^0, то информация, что Вася живет в этой квартире, имела бы 0 информации.
Потому что, если мы заранее знаем, что Вася живет в этом доме, то сразу ясно, что в этой единственной квартире.
Дополнительное сообщение об этом не несет никакой информации вообще.
Если квартир 2 = 2^1, то сообщение несет 1 бит информации. 1 квартира = 0, 2 квартира = 1.
Если квартир 3, 2<3<4, то есть 2^1<3<2^2, то будет 2 бита. 1кв = 00, 2кв = 01, 3кв = 10. Одного бита не хватает.
И так далее. Сколько квартир в доме (в смысле - 2 в какой степени), столько бит и будет.
128 < 150 < 256, то есть 2^7 < 150 < 2^8, поэтому уточнение номера квартиры дает 8 бит информации.
#include<iostream>
using namespace std;
int main()
{
int n, P = 0, O = 0, N = 0, A;
cout << "n = ", cin >> n;
for(int i = 0; i < n; i++)
{
cin >> A;
if(A > 0) P++;
else if(A < 0) O++;
else N++;
}
cout <<"Chisla > 0: " << P;
cout <<"\nChisla < 0: " << O;
cout <<"\nChisla = 0: " << N;
return 0;
}
Пример работы программы:
n = 9
1 2 3 -4 -5 -6 -7 0 0
Chisla > 0: 3
Chisla < 0: 4
Chisla = 0: 2
Var
x, y: real;
begin
write('Введите x: ');
readln(x);
if x <= -6 then y:=1-x
else if x <= -4 then y:=x/4
else y:=x;
writeln('y = ', y:4:2);
end.<span>
</span>
Монозапись использует один канал, поэтому объем файла снизится вдвое. Но разрешение, которое вдвое выше исходного, снова увеличит объем файла до прежнего. Частота дискретизации в 1.5 ниже исходной и это в 1.5 раза уменьшит размер файла, т.е. вместо 30 Мбайт получим 30/1.5=<em>20 Мбайт.</em>
<u>Ответ:</u><em>20</em>
program
zadacha;
var
x,y,a,b,h:integer;
begin
writeln('vvedite
tri chisla');
readln(a,b,h);
x:=a;
<span>write('x y');</span>
writeln();
while
x<=b do begin
y:=1-5*x+sqr(x)*x;
writeln(x,
' ',y);
x:=x+h;
end;
end.