function HexToDec (s : string) : integer; var i, d, dig : integer; res : integer; begin d := 1; res := 0; for i := length (s) downto 1 do begin dig := ord (s[i]); if dig < 58 then res := res + (dig - 48) * d else res := res + (dig - 55) * d; d := d * 16; end; HexToDec := res; end;
function DecToHex (a : integer) : string; var dig : integer; c : char; res : string; begin res := ''; repeat dig := a mod 16; if dig < 10 then c := chr (dig + 48) else c := chr (dig + 55); res := res + c; a := a div 16; until a = 0; DecToHex := res; end;
function Revert (s : string) : string; var i : integer; r : string; begin r := ''; for i := length (s) downto 1 do r := r + s[i]; Revert := r; end;
begin writeln ('Введите систему счисления, в которую переводим'); readln (flag); if (flag = 16) then begin writeln ('Введите число в десятичной системе счисления'); readln (a); writeln (Revert (DecToHex (a))); end else if (flag = 10) then begin writeln ('Введите число в шестнадцатиричной системе счисления'); readln (s); writeln (HexToDec (s)); end else writeln ('Ошибка : неверная система счисления'); readln; end.
var
s : string;
i : integer;
f : boolean;
begin
readln (s);
writeln ('Тут ', length (s), ' символов');
f := true;
for i := 1 to length (s) div 2 do
if s[i] <> s[length (s) - i + 1] then f := false;
writeln ('Это слово является перевертышем: ', f); //True/False
end.
var
s : string;
i, k, count : integer;
c : char;
begin
readln (s);
count := 0;
for i := 1 to length (s) do
if s[i] <> ' ' then
begin
c := s[i];
k := i + 1;
break;
end;
for i := k to length (s) do
if (s[i] = ' ') and (c <> ' ') then
begin
if s[i - 1] = c then inc (count);
c := ' ';
end
else if c = ' ' then c := s[i];
if (c <> ' ' ) and (s[length (s)] <> ' ') and (c = s[length (s)]) then inc (count);
writeln (count);
end.
var
a : integer;
flag : byte;
s : string;
function HexToDec (s : string) : integer;
var
i, d, dig : integer;
res : integer;
begin
d := 1;
res := 0;
for i := length (s) downto 1 do
begin
dig := ord (s[i]);
if dig < 58 then res := res + (dig - 48) * d
else res := res + (dig - 55) * d;
d := d * 16;
end;
HexToDec := res;
end;
function DecToHex (a : integer) : string;
var
dig : integer;
c : char;
res : string;
begin
res := '';
repeat
dig := a mod 16;
if dig < 10 then c := chr (dig + 48)
else c := chr (dig + 55);
res := res + c;
a := a div 16;
until a = 0;
DecToHex := res;
end;
function Revert (s : string) : string;
var
i : integer;
r : string;
begin
r := '';
for i := length (s) downto 1 do
r := r + s[i];
Revert := r;
end;
begin
writeln ('Введите систему счисления, в которую переводим');
readln (flag);
if (flag = 16) then
begin
writeln ('Введите число в десятичной системе счисления');
readln (a);
writeln (Revert (DecToHex (a)));
end
else if (flag = 10) then
begin
writeln ('Введите число в шестнадцатиричной системе счисления');
readln (s);
writeln (HexToDec (s));
end
else writeln ('Ошибка : неверная система счисления');
readln;
end.