Чтобы ответить на вопрос «сколько информации?», надо определить единицу информации каждого символа. Для алфавита (набора букв, цифр, скобок, знаков препинания и других символов) существует понятие информационного веса символа — количества информации, которое несет один символ алфавита, которое обозначается как i и выражается в битах (bit). Количество информации в сообщении, представленного символами, складывается из информационных весов і составляющих его символов, причём информационный объём сообщения I равен произведению количества символов в сообщении k на информационный вес символа алфавита i, что записывается как I = k×i. Из сообщения в задании следует, что количество всех неповторяющихся символов алфавита неизвестной планеты равно 8. Для такого алфавита і = 3 bit (так как 2³=8), а следовательно, поскольку в этом сообщении k = 12 символов, то информации оно несёт l = k×i = 12×3 = 36 bit.
Var n,m:integer;b:boolean; function fminmax(k:integer;d:boolean):integer; var a:array[1..30] of integer;j,max,min:integer; begin for j:= 1 to 30 do begin a[j]:= random(100)-50; write(a[j]:4);end; max:= -100;min:=100; if b = true then for j:= 1 to k do begin if max < a[j] then max := a[j];fminmax:=max;end else for j:= n to 30 do begin if min > a[j] then min := a[j]; fminmax:=min;end; end; begin write ('Введите число < 25');Read(n); write ('Определять max(true -да, false- нет)');Read(b); m:= fminmax(n,b); writeln; if b = true then write('max = ',m) else write('min = ',m);end.
Количество информации в сообщении, представленного символами, складывается из информационных весов і составляющих его символов, причём информационный объём сообщения I равен произведению количества символов в сообщении k на информационный вес символа алфавита i, что записывается как I = k×i.
Из сообщения в задании следует, что количество всех неповторяющихся символов алфавита неизвестной планеты равно 8. Для такого алфавита і = 3 bit (так как 2³=8), а следовательно, поскольку в этом сообщении k = 12 символов, то информации оно несёт l = k×i = 12×3 = 36 bit.
function fminmax(k:integer;d:boolean):integer;
var a:array[1..30] of integer;j,max,min:integer;
begin
for j:= 1 to 30 do begin a[j]:= random(100)-50; write(a[j]:4);end;
max:= -100;min:=100;
if b = true then
for j:= 1 to k do begin
if max < a[j] then max := a[j];fminmax:=max;end
else
for j:= n to 30 do begin
if min > a[j] then min := a[j];
fminmax:=min;end;
end;
begin
write ('Введите число < 25');Read(n);
write ('Определять max(true -да, false- нет)');Read(b);
m:= fminmax(n,b);
writeln;
if b = true then write('max = ',m)
else
write('min = ',m);end.