Rozhodování
Požadavky na absolvování
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.

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.

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