Var
a : array['a'..'z'] of integer;
t : array['a'..'z'] of boolean;
m : integer;
c : char;
begin
m := 0;
for c := 'a' to 'z' do
a[c] := 0;
repeat
for c := 'a' to 'z' do
t[c] := false;
read(c);
while (c <> ',') and (c <> '.') do
begin
if not t[c] then
begin
a[c] := a[c] + 1;
if a[c] > m then
m := a[c];
t[c] := true
end;
read(c)
end
until c = '.';
for c := 'a' to 'z' do
if a[c] = m then
write(c,' ')
<span>end.</span>
Формула Шенона: 2^I=N, где N - объём информации, I - количество бит.
I = [log_2 (N)] - округление в большую сторону
1 байте = 8 бит.
Задача 1
Трижды запускается либо красная, либо зелёная ракета.
N = 2^3 = 8
Ответ: 8
Задача 2
I = [log_2 (800)] = [9.6438] = 10 бит на ученика
Объём 320 учащихся = 320 * 10 = 3200 бит = 400 байт
Ответ: 4
Задача 3
I = [log_2 (10+12+12)] = [5.0875] = 6 бит на символ
6 * 11 = 66 бит = 8.25 байт ~= 9 байт
9 * 60 = 540 байт
Ответ: 3
Задача 4
I = [log_2 (5*5)] = [4.6439] = 5 бит на клетку
15 ходов + начальная позиция = 16 клеток
16 * 5 бит = 80 бит = 10 байт
Ответ: 1
Вариант III.
В F можно попасть непосредственно из А или из Е.
Путь А-Е имеет длину 5. Осталось найти путь, если он есть, из А в Е с длиной не более 5-1-1=3. Почему столько? одна единица - это путь E-F, а вторая - это чтобы путь был короче A-F=5.
Как попасть в Е? Можно из А (длина 5 и это много) или D (длина 1).
Поищем вариант A-D диной не более 3-1=2. И он есть, и именно 2.
Поэтому кратчайший путь - это A-D-E-F с длиной 2+1+1=4
Вариант IV.
В F ведут пути из B, C, D ,Е. Это много. Посмотрим тогда куда можно попасть из А.
А-С длина 2, A-D длина 1.
D-F имеет длину 4 и путь A-F длины 4+1=5 мы уже нашли. Нет ли короче, хотя бы 4?
Вернемся к F. Чтобы получить путь не больше 4, из F должен быть путь в D не более 3 или в С не более 2. Таких путей нет., следовательно кратчайший путь A-D-F длины 1+4=5
Составим план:
1История создания
2использование человеком
3Внешнее стоение
4 Внутреннее строение
Ну и т.д.
Var a:array of real;
k,i,n:integer;
min,minr:real;
begin;
min:=2147483647;
write('Введите размерность массива:');
readln(n);
setlength(a,n+1);
for i:=1 to n do
begin;
readln(a[i]);
if a[i]=0 then inc(k);
end;
if k<2 then
begin;
writeln('Final array:');
for i:=1 to n do
begin;
a[i]:=a[i]/2;
write(a[i]:4);
end;
end
else
begin;
for i:=1 to n do
if abs(a[i])<min then
begin;
min:=abs(a[i]);
minr:=a[i];
end;
write('Result:',minr);
end;
<span>end.</span>