Апр, школа №151 мурманской области вам: 1) 24 буквы + 8 цифр = 32 символа 2) 32 символа + 1 пробел = 33 символа 3) а так как для 32 символов нужно 5 бит, то для 33 символов нужно 6 бит ответ: i = 6 бит 2. здесь каждый раз придется задавать вопросы, чтобы уменьшить количество возможных вариантов. 1) больше или меньше 32? 2) больше или меньше 16? 3) больше или меньше 8? 4) больше или меньше 4? 5) больше или меньше 2? ответ: 5 вопросов. 3. не смогу . мне задали другое . удачи. 3 уже обеспечена : )
дешифровки: Const sh = '_.,'; Var St : String; i : Integer; Function DeCode(S : String; Tabl : String; k : Integer) : String; Var j,n : Integer; Begin For j:=1 to Length(S) do Begin n:=Pos(S[j],sh); If n>0 then Begin n:=n+k; While n>Length(sh) do n:=n-Length(sh); While n<=0 do n:=n+Length(sh); S[j]:=sh[n]; end end; DeCode:=S; end; Begin St:='ЗЫФЙГФШРЦ . ШД'; Writeln(Decode(St,sh,-6)); //For i:=-10 to 10 do Writeln(Decode(St,sh,i)); end.
дешифровки:
Const sh = '_.,';
Var
St : String;
i : Integer;
Function DeCode(S : String; Tabl : String; k : Integer) : String;
Var j,n : Integer;
Begin
For j:=1 to Length(S) do
Begin
n:=Pos(S[j],sh);
If n>0 then
Begin
n:=n+k;
While n>Length(sh) do n:=n-Length(sh);
While n<=0 do n:=n+Length(sh);
S[j]:=sh[n];
end
end;
DeCode:=S;
end;
Begin
St:='ЗЫФЙГФШРЦ . ШД';
Writeln(Decode(St,sh,-6));
//For i:=-10 to 10 do Writeln(Decode(St,sh,i));
end.