Što je logička pogreška?

Logička pogreška je problem s programskim kodom računala koji se ne prepoznaje kada je kod napisan ili preveden. Ponekad se naziva semantičkom pogreškom, logička pogreška općenito je greška programera; čak i ako je kodiranje ispravno, rezultirajući odgovor može biti netočan. Ako prevodilac programskog jezika ima logičku grešku, on će uspješno interpretirati dostavljeni kod, što će rezultirati radnim programom koji bi mogao vratiti pogrešne podatke.

Programeru je teško uhvatiti logičke pogreške jer tumač programskog jezika ne identificira ovu pogrešku kao problem. Nakon uspješnog izvršenja koda, rezultati se, bez namjernog pregleda, u početku mogu činiti točnimi. Da bi se identificirale ove vrste pogrešaka, osoba koja je upoznata s očekivanim rezultatima i funkcijama programa trebala bi pregledati rezultate i rad tog programa.

Da bi se pronašla logička pogreška u kodu, mora se biti u stanju metodično pratiti izvor pogreške. Pogreška može biti rezultat netočno kodirane sintakse. Sintaksa koda može se činiti ispravnom, ali može rezultirati logičkom pogreškom. Ove vrste pogrešaka mogu završiti kao vrlo skupi problemi ako se ne isprave na vrijeme.

Logičke pogreške također mogu biti rezultat pogrešnih podataka koje je koristio ispravno napisan program bez vlastitih unutarnjih logičkih pogrešaka. Ovo je ekvivalentno uobičajenom izrazu “smeće unutra, smeće van”. Ako su podaci pogrešno uneseni u program, čak i ako se program ispravno izvrši, rezultat je pogreška u usporedbi s očekivanim.

Kao primjer druge vrste logičke pogreške, dok se na znaku zaustavljanja vozač može odlučiti skrenuti desno ili lijevo. Ako vozač skrene udesno kada je željeno odredište bilo lijevo, to bi se smatralo logičnom pogreškom. Tehnički, vozač je ispravno upravljao vozilom, ali krajnji rezultat nije bio očekivan. Kao što je ilustrirano u ovom primjeru, greške u logici nisu ograničene na područje računalnog programiranja. Logička pogreška također se može kategorizirati kao zabluda u pogledu komunikacija.

U drugom primjeru u kojem postoje logičke pogreške, procesori teksta mogu ponekad koristiti automatiziranu provjeru pravopisa; ove provjere pravopisa poznate su po logičkim pogreškama koje nedostaju. Na primjer, imenica “prodaja” može biti pogrešno predstavljena imenicom “jedro” u rečenici. Svaka je riječ ispravno napisana, zvuči ispravno i može biti gramatički točna unutar rečenice, ali definicija jedne riječi možda ne odgovara kontekstu određene rečenice.