Viết chương trình pascal để mã hoá và giải mã một xâu ký tự bằng cách đảo ngược các bit của từng ký tự trong xâu.

Viết chương trình pascal để mã hoá và giải mã một xâu ký tự bằng cách đảo
ngược các bit của từng ký tự trong xâu.

0 bình luận về “Viết chương trình pascal để mã hoá và giải mã một xâu ký tự bằng cách đảo ngược các bit của từng ký tự trong xâu.”

  1. Uses crt;

    Var st:string; {Hàm đảo bit ký tự c}

    Function DaoBit(c:char):char;

    Var n,i,s,bitcuoi,Mask:byte;

    Begin

    {Đổi ký tự sang số}

    n:=ORD(c);

    {s: kết quả đảo bit, Mask: mặt nạ dùng để bật bit thứ i}

    s:=0; Mask:=128;

    For i:=1 To 8 Do {duyệt qua 8 bit của n}

    Begin

    {Lấy bit cuối cùng của n: bit cực phải}

    bitcuoi:=n AND 1;

    n:=n shr 1; {loại bỏ bit cuối cùng: n:=n DIV 2}

     {Bật bit thứ i lên: từ trái sang phải}

    if bitcuoi=1 then s:=s OR Mask;

    Mask:=Mask shr 1; { Mask:= Mask DIV 2}

    End;

    DaoBit:=CHR(s);

    End;

    Function MaHoa(st:string):string;

    Var i:Byte;

    Begin

    {Đảo bit từng ký tự trong xâu st}

    For i:=1 To Length(st) Do st[i]:=DaoBit(st[i]);

    Mahoa:=st;

    End;

    Begin

    Write(‘Nhap xau: ‘); Readln(st); st:=MaHoa(st);

    Writeln(‘Xau sau khi ma hoa: ‘,st); Readln; st:=MaHoa(st);

    Writeln(‘Xau sau khi giai ma: ‘,st);

    Readln;

    End.

    CHÚC BẠN HỌC TỐT ^-^

    Bình luận
  2. uses crt;
    var s:string; i:longint;
    begin
    clrscr;
       write(‘Nhap vao 1 xau: ‘);readln(s);
       write(‘Ket qua: ‘); for i:=length(S) downto 1 do write(s[i]);
    readln
    end.

    Bình luận

Viết một bình luận