Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Na rozdiel od chýb syntaxe (ktoré bránia kódovaniu alebo spusteniu kódu) alebo chybami runtime (ktoré spôsobujú, že program zlyhá počas vykonávania), logické chyby sú jemné a ťažšie zistiť, pretože sa zdá, že program beží normálne. Chyba spočíva v *Čo *program robí, nie *ako *.
Tu je niekoľko príkladov na ilustráciu:
* Nesprávny výpočet: Program určený na výpočet priemeru troch čísel ich môže pridať namiesto sčítania a potom delenie o tri. Program beží, ale výsledok je nesprávny.
* Off-by-One chyba: Slučka by mohla iterovať raz príliš veľa alebo príliš málo, čo vedie k nesprávnym výsledkom alebo prístupu k údajom mimo hraníc poľa (aj keď sa posledné môže prejaviť ako chyba runtime v závislosti od jazyka a prostredia).
* Nesprávna podmienená logika: Vyhlásenie „If“ môže mať podmienku, ktorá presne neodráža zamýšľanú logiku. Napríklad použitie `>` namiesto `> =` by mohlo viesť k vylúčeniu potrebného prípadu.
* nekonečná slučka: Slučka, ktorá sa nikdy nekončí, pretože jej výstupný stav sa nikdy nestretol. Aj keď sa to môže javiť ako chyba runtime, je to v zásade logická chyba v dizajne slučky.
* Nesprávne použitie premennej: Použitie nesprávnej premennej alebo náhodne predčasne prepísanie hodnoty premennej môže viesť k neočakávaným výsledkom.
Logické chyby sú často najťažším typom chýb, ktoré sa dajú nájsť a opraviť, pretože vyžadujú starostlivo preskúmanie algoritmu programu a tok, aby sa identifikovali zdroj chybného zdôvodnenia. Techniky ladenia, ako je napríklad používanie príkazov tlačenia (na kontrolu premenných hodnôt v rôznych bodoch) alebo pomocou ladiaceho zariadenia (na prechádzanie po riadku kódu podľa riadku) sú nevyhnutné na nájdenie a vyriešenie logických chýb.