Šifrování, dešifrování textu

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Category: KMP (Club of young programmers)

Author: Tomáš Badin
Program: Sifrovani_textu.pas
File exe: Sifrovani_textu.exe

Zašifrování a dešifrování textu, který se ukládá do textového souboru, také načítání textu ze souboru a jeho zašifrování/dešifrování.
{ SIFROVANI_TEXTU.PAS                     Copyright (c) Tomas Badin }
{ Zasifrovani a desifrovani textu, ktery se uklada do textoveho     }
{ souboru, take nacitani textu ze souboru a jeho                    }
{ zasifrovani/desifrovani.                                          }
{                                                                   }
{ Datum:12.06.2008                             http://www.trsek.com }
 
program sifrovani_textu;       { rocnikova prace }
{******************************************}
{******        "Rocnikovka"      **********}
{******************************************}
 
uses crt;                      { nacteni knihovy }
var veta,sifra,x:string;       { deklarovani  promenych }
 schranka:text;
 schranka2: text;
 schranka3: text;
 schranka4: text;
 s2: text;
 s3:text;
 sobur3 : string;
 subur : string;
 subor : string;
 soubor: string;
 sobur : string;
 sobur2 : string;
 s: string;
i,volba:integer;
 
begin                             { zacatek programu }
 
 
clrscr;                                { vymazani obrazovky }
 
writeln           ('*********************************');            { vypsani textu } 
writeln           ('*** Zasifrovani textu do znaku***');            { vypsani textu }
writeln           ('*********************************');            {  vypsani textu }
writeln;                                                   { preskoceni na dalsi radek }
writeln (           '            vyrobil Tomas Badin ');   { vypsani textu }
 repeat                                                    { zacatek cyklu }
veta:='';                                                  { vymazani hodnot }
sifra:='';                                                 { vymazani hodnot }
x:= '';                                                    { vymanzani hodnot }
subor := '';                                               { vymazani hodnot }
soubor:= '';                                               { vymazani hodnot }
 
readln;                                         { prazdne cteni }
clrscr;                                                    { vymazani obrazovky }
writeln ('************************************************');
writeln ('*******           Hlavni nabidka        ********');
writeln ('************************************************');
writeln ('zadej cislo 1 pro sifru');                   { oznamuje nam kod pro danou hodnotu }
writeln ('zadej cislo 2 pro desifrovani');             { oznamuje nam kod pro danou hodnotu }
writeln ('zadej cislo 3 pro zobrazeni znaku');         { oznamuje nam kod pro danou hodnotu }
writeln ('zadej cislo 4 pro zasifrovani textu');       { oznamuje nam kod pro danou hodnotu }
writeln ('zadej cislo 5 pro desifrovani textu');       { oznamuje nam kod pro danou hodnotu }
writeln ('zadej cislo 6 pro ukonceni aplikace');       { oznamuje nam kod pro danou hodnotu }
writeln;                                               { preskoceni na dalsi radek }
write ('vase volba :  ');                              { pozadovana volba }
readln (volba);                                        {  zadani cisla z vrchni nabidky }
 
case volba of                                          { case nam rika co se stane pri dane volbe }
1:begin                                                { zacatek prvni volby }
 
  ClrScr;                                              { vymazani obrazovky }
 
  writeln           ('************************************');   { vypsani textu na obrazovku }
  writeln           ('*** zasifrovani abecednich znaku *** ');  { vypasani textu na obrazovku }
  writeln           ('************************************');   { vypsani textu na obrazovku }
  writeln;                                                      { preskoceni na dalsi radek }
  writeln;                                                      { preskoceni na dalsi radek }
  writeln ('zadejte cestu  kam se vam ulozi zasifrovany text'); {  oznamuje nam co mame udelat }
  readln (subur);                                      { musime zadat presnou cestu kam chceme aby se nam to do dokumentu ulozilo }
  Assign (schranka,subur);                             { vytvoreni textoveho souboru }
    writeln ('zadej vetu');                            { vypsani textu }
 
    readln (veta);                                     { mame napsat vetu co chceme zasifrovat }
    veta:=upcase(veta);                                { prevede vsechna pismena na velka pismena }
    for i:=1 to length(veta) do                        {  provadi se cyklus dokud nebudou vsechny znaky prekontrolovany a prevedeny }
      begin                                            { zacatek cyklu }
        case veta[i] of                                {  podminka vetveni }
          'A': x:=x+'@';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'B': x:=x+'$';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'C': x:=x+'!';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'D': x:=x+'~';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'E': x:=x+'ř';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'F': x:=x+'|';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'G': x:=x+')';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'H': x:=x+'(';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'I': x:=x+'*';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'J': x:=x+'&';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'K': x:=x+'%';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'L': x:=x+':';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'M': x:=x+'Ń';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'N': x:=x+'=';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'O': x:=x+'\';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'P': x:=x+'^';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'Q': x:=x+'-';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'R': x:=x+'.';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'S': x:=x+'>';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'T': x:=x+'<';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'U': x:=x+'?';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'V': x:=x+'"';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'W': x:=x+'ő';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'X': x:=x+'[';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'Y': x:=x+']';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          'Z': x:=x+'_';                               {  pokud se objevi dany znak prevedeho na jiny znak }
          '.' : x:=x+ 'ô';                             {  pokud se objevi dany znak prevedeho na jiny znak }
          '?' : x:=x+ 'ň';                             {  pokud se objevi dany znak prevedeho na jiny znak }
          '!': x:=x+ '}' ;                             {  pokud se objevi dany znak prevedeho na jiny znak }
          ',' : x:=x+ '{';                             {  pokud se objevi dany znak prevedeho na jiny znak }
          '-' : x:=x+ '';                             {  pokud se objevi dany znak prevedeho na jiny znak }
          '"' : x:=x+ 'ď';                             {  pokud se objevi dany znak prevedeho na jiny znak }
          ' ' : x:=x+ 'ů';                             {  pokud se objevi dany znak prevedeho na jiny znak }
          end;                                         {  ukonceni podminky }
      end;                                             {  ukonceni cylu }
  writeln ('sifra je');                                {  vypsani textu na obrazovku }
  writeln (x);                                         { vypis vsech znaku co byli prevedeny }
 
  Rewrite (schranka);                                  {  toto je rezim zapisovani do souboru }
        Write(schranka,x);                             {  zapsani udaju do souboru }
  close (schranka);                                    {  uzavreni souboru }
  writeln;                                             { preskoceni radku }
 writeln ('stiknete enter pro navrat do menu');        { oznamuje vam jak se vratim do menu }
  readln;                                              { prazdne cteni }
end;                                                   { konec bodu cislo 1 }
 
2:begin
 clrscr;                                               {  zacatek druhe volby }
  writeln         ('****************************************'); { vypsani textu }
  writeln         ('***  desifrovani do abecednich znaku ***'); { vypsani textu }
  writeln         ('****************************************');  { vypsani textu }
  writeln;                                               { preskoceni radku }
  writeln;                                               { preskoceni radku }
  writeln ('zadejte cestu kam se vam ulozi desifrovany text'); { rika kam nam aby jsme si zvolili cestu k ulozeni dokumentu }
  readln (sobur);                                          { Cesta tam kam chceme aby se nam ulozil soubor }
         Assign (schranka2,sobur);                         { vytvoreni textoveho souboru }
 writeln ('zadejte textu k desifrovani');                  { rika nam co mame delat }
  readln  (sifra);                                         { napiste sifru ktera se vam dekoduje zpatky na znaky kterym rozumime }
  sifra:= upcase (sifra);                                  { prevede jen do velkych znaku }
  for i:=1 to length(sifra) do                             {  cyklus bude tak dlouho trvat dokud nezkontroluje vsechny znaky }
   begin                                                   {  zacatek cyklu }
    case  sifra [i] of                                     {  podminka }
     '@' : x:=x+ 'A';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '$' : x:=x+ 'B';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '!' : x:=x+ 'C';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '~' : x:=x+ 'D';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     'ř' : x:=x+ 'E';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '|' : x:=x+ 'F';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     ')' : x:=x+ 'G';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '(' : x:=x+ 'H';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '*' : x:=x+ 'I';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '&' : x:=x+ 'J';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '%' : x:=x+ 'K';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     ':' : x:=x+ 'L';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     'Ń' : x:=x+ 'M';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     'Đ' : x:=x+ 'N';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '\' : x:=x+ 'O';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '^' : x:=x+ 'P';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '-' : x:=x+ 'Q';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '.' : x:=x+ 'R';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '>' : x:=x+ 'S';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '<' : x:=x+ 'T';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '?' : x:=x+ 'U';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '"' : x:=x+ 'V';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     'ő' : x:=x+ 'W';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '[' : x:=x+ 'X';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     ']' : x:=x+ 'Y';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '_' : x:=x+ 'Z';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     'ô' : x:=x+ '.';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     'ň' : x:=x+ '?';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '}': x:=x+ '!' ;                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '{' : x:=x+ ',';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     '' : x:=x+ '-';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     'ď' : x:=x+ '"';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     'ů' : x:=x+ ' ';                                     {  pokud se objevi dany znak prevedeho na jiny znak }
     end;                                                 { konec podminky }
   end;                                                   { konec cyklu }
   writeln ('desifrovany text je ');                     { vypsani textu }
   writeln (x);                                          { vypsani vsech znaku co sli desifrovat }
   Rewrite (schranka2);                                  { zapisovani do souboru }
        Write(schranka2,x);                              {  zapis do souboru }
  close (schranka2);                                     {  uzavreni souboru }
 
 
   readln;                                               { prazdne cteni }
   writeln (' stiknete enter pro navrat do menu');       {  rika nam jak se mame dostat zpatky do hlavni nabidky }
   readln;                                               {  prazdne cteni }
 end;                                                    { konec druheho bodu }
 
 
3:begin                                               { zacatek tretiho bodu }
 clrscr;                                              {  vymazani obrazovky }
  writeln ('                 ***********************');      { vypsani textu }
  writeln ('                 *** zobrazeni znaku ***');      {  vypsani textu }
  writeln ('                 ***********************');      { vypsani textu }
 
  writeln ('                 A = @            N = Đ        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 B = $            O = \        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 C = !            P = ^        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 D = ~            Q = -        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 E = ř            R = .        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 F = |            S = >        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 G = )            T = <        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 H = (            U = ?        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 I = *            V = "        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 J = &            W = ő        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 K = %            X = [        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 L = :            Y = ]        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 M = Ń            Z = _        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 . = ó            ? = ÷        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 ! = }            , = {        ');   { vypsani znaku a jejich zasifrovani }
  writeln ('                 - =             " = ď        ');   { vypsani znaku a jejich zasifrovani }
  readln;                                                      { prazdne cteni }
  writeln ('stiknete enter pro navrat do menu ');              { rika nam co mam jak se mame dostat do hlavni nabidky }
  readln;                                                      { prazdne cteni }
 end;                                                          {  konec tretiho bodu }
 
 
4:begin                                                  { zacatek ctvrteho bodu }
clrscr;                                                  { vymazani obrazovky }
 writeln           (' ************************************* ');    { vypsani textu }
 writeln           (' *** zasifrovani textu z dokumentu *** ');    { vypsani textu }
 writeln           (' ************************************* ');    {  vypsani textu }
 
 
   writeln ('zadejte cestu kam se vam prelozi  zasifrovany  text'); { rika kam nam aby jsme si zvolili cestu k ulozeni dokumentu }
  readln (sobur2);                                          { Cesta tam kam chceme aby se nam ulozil soubor }
  Assign (s2,sobur2);
  writeln (' zadejte uplnou cestu k dokumentu,ktery chcete zasifrovat ');   { oznameni }
 readln (subor);                                   {  musime zadat uplne celou cestu ke souboru }
 writeln ('Tento text byl v dokumentu');           {  oznameni }
 Assign (schranka3,subor);                         {  otevre nam soubor }
 reset (schranka3);                                { provede vypsani celeho souboru na obrazovku }
 
 while (not (eof(schranka3)) ) do begin            {  zajisti nam ze se vsechno vypsalo }
 Readln (schranka3,subor) ;                        {  precte nam vsechny udaje ze souboru }
  writeln (subor);                                 {  a timhle se vsechny znaky zobrazi }
  end;
 
 
  subor:=upcase(subor);                            { vsechny pismena budou velka }
    for i:=1 to length(subor) do                   { cyklu }
      begin                                        { zacatek cyklu }
        case subor[i] of                           { podminka }
          'A': x:=x+'@';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'B': x:=x+'$';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'C': x:=x+'!';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'D': x:=x+'~';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'E': x:=x+'ř';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'F': x:=x+'|';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'G': x:=x+')';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'H': x:=x+'(';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'I': x:=x+'*';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'J': x:=x+'&';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'K': x:=x+'%';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'L': x:=x+':';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'M': x:=x+'Ń';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'N': x:=x+'=';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'O': x:=x+'\';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'P': x:=x+'^';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'Q': x:=x+'-';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'R': x:=x+'.';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'S': x:=x+'>';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'T': x:=x+'<';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'U': x:=x+'?';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'V': x:=x+'"';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'W': x:=x+'ő';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'X': x:=x+'[';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'Y': x:=x+']';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          'Z': x:=x+'_';                           {  pokud se objevi dany znak prevedeho na jiny znak }
          '.' : x:=x+ 'ô';                         {  pokud se objevi dany znak prevedeho na jiny znak }
          '?' : x:=x+ 'ň';                         {  pokud se objevi dany znak prevedeho na jiny znak }
          '!': x:=x+ '}' ;                         {  pokud se objevi dany znak prevedeho na jiny znak }
          ',' : x:=x+ '{';                         {  pokud se objevi dany znak prevedeho na jiny znak }
          '-' : x:=x+ '';                         {  pokud se objevi dany znak prevedeho na jiny znak }
          '"' : x:=x+ 'ď';                         {  pokud se objevi dany znak prevedeho na jiny znak }
          ' ' : x:=x+ 'ů';                         {  pokud se objevi dany znak prevedeho na jiny znak }
          end;                                     { konec podminky }
      end;                                         { konec cyklu }
      Writeln ('zasifrovany text je ');
       writeln (x);                                { vypsani vsech znaku na obrazovku }
 
       readln;                                     { prazdny radek }
        close (schranka3);                         { zavreni dokumentu }
         Rewrite (s2);                             { zapisovani do souboru }
        Write(s2,x);                               {  zapis do souboru }
  close (s2);                                      {  uzavreni souboru }
 
        writeln ('stiknete enter pro navrat do menu'); { oznameni jak se dostat do hlavniho menu }
        readln;                                    { prazdne cteni }
end;                                               { konec nacteni }
end;                                               {  konec ctvrteho bodu }
 
case volba of                                      { podminka }
5:begin                                            { zvoleni pateho bodu }
clrscr;                                            {  vymazani obrazovky }
 writeln         (' ************************************* ');    { vypsani textu }
 writeln         (' *** desifrovani textu z dokumentu *** ');    {  vypsani textu }
 writeln         (' ************************************* ');    { vypsani textu }
   writeln ('zadejte cestu kam se vam prelozi  desifrovany  text'); { rika kam nam aby jsme si zvolili cestu k ulozeni dokumentu }
  readln (sobur3);                                          { Cesta tam kam chceme aby se nam ulozil soubor }
  Assign (s3,sobur3);
  writeln (' zadejte uplnou cestu k dokumentu,ktery chcete desifrovat ');   { } 
 
 
 readln (soubor);                                    { zadani uplne cesty k souboru }
 Assign (schranka4,soubor);                          {  Otevreni souboru }
 reset (schranka4);                                  { vypsani souboru }
 
 while (not (eof(schranka4)) ) do begin              { zajisti nam ze se vsechno vypsalo }
 Readln (schranka4,soubor) ;                         {  precte nam vsechny udaje ze souboru }
  writeln (soubor);                                  { a timhle se zajisti ze se vsechny znaky vypsaly }
  end;                                               { konec podminky while }
 
 
  soubor:=upcase(soubor);                              { vsechny pismena ktera se zobrazi budou velka }
    for i:=1 to length(soubor) do                      {  cyklus do te doby doku to neprevede vsechyn znaky }
      begin                                            { zacatek cyklu }
        case soubor[i] of                              { podminka }
     '@' : x:=x+ 'A';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '$' : x:=x+ 'B';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '!' : x:=x+ 'C';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '~' : x:=x+ 'D';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     'ř' : x:=x+ 'E';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '|' : x:=x+ 'F';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     ')' : x:=x+ 'G';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '(' : x:=x+ 'H';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '*' : x:=x+ 'I';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '&' : x:=x+ 'J';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '%' : x:=x+ 'K';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     ':' : x:=x+ 'L';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     'Ń' : x:=x+ 'M';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     'Đ' : x:=x+ 'N';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '\' : x:=x+ 'O';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '^' : x:=x+ 'P';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '-' : x:=x+ 'Q';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '.' : x:=x+ 'R';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '>' : x:=x+ 'S';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '<' : x:=x+ 'T';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '?' : x:=x+ 'U';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '"' : x:=x+ 'V';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     'ő' : x:=x+ 'W';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '[' : x:=x+ 'X';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     ']' : x:=x+ 'Y';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '_' : x:=x+ 'Z';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     'ô' : x:=x+ '.';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     'ň' : x:=x+ '?';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '}': x:=x+ '!' ;                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '{' : x:=x+ ',';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     '' : x:=x+ '-';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     'ď' : x:=x+ '"';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     'ů' : x:=x+ ' ';                                   {  pokud se objevi dany znak prevedeho na jiny znak }
     end;                                               {  konec podminky }
   end;                                                 {  konec cyklu }
   writeln ('tohle bylo v zasifrovanem dokumentu');     {  vypsani textu na obrazovku }
   writeln (x);                                         {  desifrovany text }
   readln  ;                                            {  prazdne cteni }
   close (schranka4);                                   {  uzavreni dokumentu }
          Rewrite (s3);                                  { zapisovani do souboru }
        Write(s3,x);                              {  zapis do souboru }
  close (s3);                                     {  uzavreni souboru }
 
   writeln ('stiknete enter pro navrat do menu '); {  stiknutim enteru se dostaneme do hlavni nabidky }
   readln;                                         { prazdne cteni }
   end;                                            {  povinny end }
   end;                                            {  konec pateho bodu }
case volba of                                      {  case }
6:begin                                            {  zacatek sesteho bodu }
clrscr;                                            {  vymazani obrazovky }
Writeln ('program pripravil Tomas badin' );        {  vypsani na obrazovku }
 
end     ;                                          { end }
end;                                               { end musi byt }
   until (volba=6)                                 {  konec cyklu reapeat a until program se ukonci jen kdyz je zvoleno cislo 6 }
 
end.                {  konec programu }