Logická chyba - Logic error

V programování počítače , je logická chyba je chyba v programu, který způsobuje, že se správně fungovat, ale ne ukončit abnormálně (nebo havárii ). Logická chyba vytváří nezamýšlený nebo nežádoucí výstup nebo jiné chování, ačkoli jako taková nemusí být okamžitě rozpoznána.

Logické chyby se vyskytují v kompilovaných i interpretovaných jazycích. Na rozdíl od programu s chybou syntaxe je program s logickou chybou platným programem v daném jazyce, i když se nechová podle očekávání. Jediným vodítkem k existenci logických chyb je často vytváření nesprávných řešení, ačkoli je někdy může objevit statická analýza .

Chyby logiky ladění

Jedním ze způsobů, jak najít tento typ chyby, je umístit proměnné programu do souboru nebo na obrazovku, aby bylo možné určit umístění chyby v kódu. Ačkoli to nebude fungovat ve všech případech, například při volání špatného podprogramu , je to nejjednodušší způsob, jak najít problém, pokud program používá nesprávné výsledky špatného matematického výpočtu .

Příklady

Tato příkladová funkce v C pro výpočet průměru dvou čísel obsahuje logickou chybu. Ve výpočtu chybí závorky, takže se kompiluje a spouští, ale nedává očekávanou odpověď kvůli přednosti operátora (dělení se vyhodnocuje před přidáním).

float average(float a, float b)
{
    return a + b / 2;  // should be (a + b) / 2
}

Viz také