Procedure TForm1.Button1Click(Sender: TObject); var i1,i2,i3 : Integer; m : array [1..10] of Integer; kk : Integer; begin Memo1.Clear; for i1 := 1 to 10 do begin m[i1]:= Random(10)-5; Memo1.Lines.Append('m['+inttostr(i1)+'] = '+inttostr(m[i1])); end; Memo1.Lines.Append(''); kk := 0; for i1 := 1 to 10-2 do begin for i2 := i1+1 to 10-1 do begin for i3 := i2+1 to 10 do begin if ( (m[i1]+m[i2]+m[i3])=0) then begin inc(kk); Memo1.Lines.Append('Индекс = '+inttostr(i1)+' '+inttostr(i2)+' '+inttostr(i3)+' Значение = '+inttostr(m[i1])+' '+inttostr(m[i2])+' '+inttostr(m[i3])); end; end; end; end; Memo1.Lines.Append(''); if kk>0 then Memo1.Lines.Append('Да в этом массиве есть три числа сумма которых равна нулю') else Memo1.Lines.Append('Нет в этом массиве три числа сумма которых равна нулю'); Memo1.Lines.Append('Количество комбинаций = '+inttostr(kk)); end;
В стандартной кодировке 1 символ - 1 байт, значит
3600000 * 1 байт = 3600000 байт / 1024 = 3515,625 Кбайт / 1024 = 3,4 Мбайт
2) 1,25 Кбайт = 1280 байт = 10240 бит
10240 бит / 2048 символов = 5 бит - глубина кодирования 1 символа
N = 2^i
N = 2^5 = 32 символа в алфавите
3) Использован двоичный код, значит 1 символ несет 1 бит информации
4) В русском алфавите 33 буквы - N
N = 2^i
33 = 2^i
i = 6 бит - несет 1 буква информации в русском алфавите
В слове математика 10 букв
10 * 6 бит = 60 бит информации несет слово МАТЕМАТИКА
5) N = 2^i
16 = 2^i
i = 4 бит несет 1 буква информации в 16-символьном алфавите
512 символов * 4 бит = 2048 бит / 8 = 256 байт = 0,25 Килобайт составляет это сообщение
6) 3 * 25 * 60 = 4500 всего символов
1125 байт * 8 = 9000 бит все сообщение
9000 / 4500 = 2 бита - 1 символ
N = 2^i = 2^2 = 4 символа в этом алфавите
7) N = 2^i
32 = 2^i
i = 5 бит - 1 символ
256 * 5 = 1280 бит информационный объем всего сообщения
1280 бит / 8 = 160 байт / 1024 = 0,15625 Килобайт
8) 0,5 Кбайт = 4096 бита - информационный вес сообщения
4096 / 2 = 2048 бит - на одной странице
2048 / 256 = 8 бит используется для кодирования 1 символа
N = 2^i = 2^8 = 256 симовлов в алфавите
9) N = 2^i
256 = 2^i
i = 8 бит = 1 байт глубина кодирования 1 символа
30 * 70 * 5 = 10500 символов всего
10500 символов * 1 байт = 10500 байт все сообщение
10500 байт / 1024 = 10,25 Килобайт - все сообщение
10) N = 2^i
256 = 2^i
i = 8 бит = 1 байт глубина кодирования 1 символа
1/32 Мбайт = 32 Кб = 32768 байт
32768 байт / 1 байт = 32768 символов в тексте
var
i1,i2,i3 : Integer;
m : array [1..10] of Integer;
kk : Integer;
begin
Memo1.Clear;
for i1 := 1 to 10 do
begin
m[i1]:= Random(10)-5;
Memo1.Lines.Append('m['+inttostr(i1)+'] = '+inttostr(m[i1]));
end;
Memo1.Lines.Append('');
kk := 0;
for i1 := 1 to 10-2 do
begin
for i2 := i1+1 to 10-1 do
begin
for i3 := i2+1 to 10 do
begin
if ( (m[i1]+m[i2]+m[i3])=0) then
begin
inc(kk);
Memo1.Lines.Append('Индекс = '+inttostr(i1)+' '+inttostr(i2)+' '+inttostr(i3)+' Значение = '+inttostr(m[i1])+' '+inttostr(m[i2])+' '+inttostr(m[i3]));
end;
end;
end;
end;
Memo1.Lines.Append('');
if kk>0 then
Memo1.Lines.Append('Да в этом массиве есть три числа сумма которых равна нулю')
else
Memo1.Lines.Append('Нет в этом массиве три числа сумма которых равна нулю');
Memo1.Lines.Append('Количество комбинаций = '+inttostr(kk));
end;