× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Programování v praxi - 2.díl

[ http://programujte.com/profil/20356-michal-kapinus/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       11. 3. 2007       16 915×

Dneska se podíváme na vytvoření pěkného menu a vysvětlíme si, jakým způsobem budeme šifrovat.

Dneska nejprve napíšeme proceduru menu, která nám vypíše úvodní obrazovku našeho programu. Tady je kód.

procedure menu;
begin
     while true do
     begin
     clrscr;
     textcolor(3);
     textbackground(white+green);
     clrscr;

     writeln("     *********   *      *    *     * * * *   *           *          *        ");
     writeln("     *           **     *    *    *       *  * *       * *         * *       ");
     writeln("     *           * *    *    *   *        *  *   *   *   *        *   *      ");
     writeln("     *****       *  *   *    *   *           *     *     *       *     *     ");
     writeln("     *****       *   *  *    *   *  *******  *           *      *********    ");
     writeln("     *           *    * *    *   *        *  *           *     *         *   ");
     writeln("     *           *     **    *   *       *   *           *    *           *  ");
     writeln("     *********   *      *    *    * * * *    *           *   *             * ");
     writeln;writeln;textcolor(white);writeln("Program enigma pro sifrovani a desifrovani zprav.");
     writeln;
     writeln;
     writeln("Vyberte moznost: (1) Sifrovat");
     writeln("                 (2) Desifrovat");
     writeln("                 (3) Premazani souboru");
     writeln("                 ---------------------");
     writeln("                 (0) Konec     ");

     read(k);

     case k of
     1:lsifra;
     2:desifra;
     3:premazani;
     0:konec;
     else:spatneheslo;
     end;
     end;
readkey;
end;

Tak a teď si to projedeme:

  • procedure menu – klasika; říkáme překladači, že chceme podprogram menu
  • while true do – nekonečná smyčka
  • clrscr – vymaže obsah obrazovky
  • textcolor(3) – nastaví barvu textu na barvu s konstantou 3
  • textbackground(white+green) – nastaví barvu pozadí na míchaninu bílé a zelené
  • Poté následuje vykreslení nápisu ENIGMA vyvedeného z hvězdiček (*) a pak už samotné menu
  • read(k) – do proměnné k (typu integer, jenž nám do ní umožňuje nahrát celé číslo), kterou musíme nadeklarovat na začátku, uložíme uživatelskou volbu
  • case k of – podle proměnné k určí, co se bude dít dál
  • readkey – stopne běh programu až do stisknutí libovolné klávesy

Tím by tedy byl hotov podprogram menu.


Nyní si ještě zlehka popíšeme, jak zhruba budou vypadat naše šifrovací a dešifrovací funkce. Po stisknutí tlačítka šifrovat se vypíše zpráva, která uživatele vyzve k zadání dvou číselných kódů. Poté se objeví obrazovka, kde už se bude přímo zadávat text, který se následně uloží do jednorozměrného pole o dostatečné velikosti (6 000 znaků). Poté tato šifrovací funkce celý text projede a každý znak převede na jeho ordinální hodnotu. Nakonec ke každé sudé ordinální hodnotě znaku přičte kód A a ke každé liché kód B. Poté zase převede všechny ordinální hodnoty zpět na znaky. Příště si napíšeme zdrojový kód pro šifrovací funkci.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2007030604-programovani-v-praxi-2-dil/ ].