sexta-feira, 31 de outubro de 2014

Criptografia de Frases





program CRIPTOGRAFIAFUNCAO;
var
      nome : string;
      escolha : integer;
      denovo : string;
      i : integer;
      n : integer;


      function crip(frase : string) : string;
      var
            i : integer;
            num : integer;

                begin
                frase:=upcase(frase);
              num := 3;
              for i:= 1 to length(frase) do
              if frase[i] = 'Z' then
              frase[i] := 'C'
              else if (frase[i] = 'X') then
              frase[i] := 'A'
              else if (frase[i] = 'Y') then
              frase[i] := 'B'
              else
              frase[i] := chr(ord(frase[i])+ num);
              crip := frase;
                end;
      function descrip(frase : string) : string;
               var
               i : integer;
               num : integer;

                begin
                frase:=upcase(frase);
                num := -3;
                for i:= 1 to length(frase) do
                if frase[i] = 'C' then
                frase[i] := 'Z'
                else if (frase[i] = 'A') then
                frase[i] := 'X'
                else if (frase[i] = 'B') then
                frase[i] := 'Y'
                else
                frase[i] := chr(ord(frase[i])+ num);
                descrip := frase;
                end;

begin
  repeat
  writeln('Voce deseja criptografar ou descriptografar uma frase??');
  writeln('1 - Criptografar Digite');
  writeln('2 - Descriptografar Digite');
  readln(escolha);
  writeln();

  case escolha of
  1 : begin
    writeln('digite uma frase');
  readln(nome);
  writeln(crip(nome));
  writeln();

  end;

  2 :  begin
  writeln('digite uma frase');
  readln(nome);
  writeln(descrip(nome));
  writeln();
  end;

  else

    writeln('Digite uma Opcao valida');
    writeln();

 end;


  n :=1;
  while (n<=3) do
  begin
  writeln('Deseja Utilizar novamente?? (SIM/NAO)');
  readln(denovo);
  denovo := upcase(denovo);
  n := n + 1;
  if (denovo <> 'NAO') and (denovo <> 'SIM') then
  writeln('Voce tem 3 chances de digitar SIM OU NAO.. voce ja gastou ',n -1)

  else
  n := 4;

  end;

  if (denovo <> 'NAO') and (denovo <> 'SIM') then
  denovo :='NAO';



  until(denovo = 'NAO') ;

end.

Um comentário:

Pascal - Lazarus