4. Možná chyba

Ilustrativní příklad ReverzniInzenyrstvi
  • Popis: Tvorba vývojového diagramu na základě zdrojového kódu
  • Zadání: Na základě následujícího zdrojového kódu  viz Kód 2 - vytvořte vývojový diagram hlavního programu (název Reverzní inženýrství byl použit z důvodu opačného provádění kroků při tvorbě programu. Doporučený postup je nejprve provést analýzu, vytvořit vývojový diagram a následně sestavit zdrojový kód, atd.)
  • Řešení: Bude postupně probráno v následujícím textu
static void Main(string[] args)
{
    //Deklarace celočíselné proměnné včetně inicializace
    int x = 2;
    //Deklarace celočíselné proměnné včetně inicializace
    int y = 3;
    //Deklarace logické proměnné
    bool boolPromenna;
    //Rozhodovací podmínka
    if (x < y)
        //Přiřazení hodnoty do logické proměnné
        boolPromenna = true;
        //Inkrementace proměnné
        x = x + 1;
}

Kód 2: Příklad reverzního inženýrství

Začátečníci mohou při transformaci zdrojového kódu do vývojového diagramu velice snadno udělat následující chybu – viz Obrázek 2. 


 Chybný vývojový diagram algoritmu ReverzniInzenyrstvi

Obrázek 2: Chybný vývojový diagram algoritmu ReverzniInzenyrstvi

Zdrojový kód vypadá, jako kdyby se v kladné větvi měly vykonávat dva příkazy, ale není to pravda. V kladné větvi bude pouze vykonáno přiřazení logické hodnoty true do logické proměnné. Následná inkrementace celočíselné proměnné bude vykonána vždy, protože tento příkaz následuje až za rozhodováním - viz Obrázek 3.

Vývojový diagram algoritmu ReverzniInzenyrstvi

Obrázek 3: Vývojový diagram algoritmu ReverzniInzenyrství