дешифровки: 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.
1 sm('Игорь',18,189).
2 sm('Роман',17,182).
3 sm('Антон',20,191).
4 sm('Виктор',21,185).
5 sm('Николай',16,193).
6 % а) выбрать всех спортсменов выше 184 (включительно), но не выше 190;
7 % ?- findall( Name, (sm(Name, Age, Height), Height >= 184, Height < 190), Xs ).
8 % б) выбрать спортсменов моложе 20 лет, но не моложе 18 (включительно);
9 % ?- findall( Name, (sm(Name, Age, Height), Age < 20, Age >= 18), Xs ).
10 % в) выбрать всех спортсменов с ростом не ниже 186 и не старше 19 лет (включительно).
11 % ?- findall( Name, (sm(Name, Age, Height), Height > 186, Age =< 19), Xs ).