A programozás során hibák léphetnek fel. A hiba a program váratlan kimenete. Ezek a hibák befolyásolhatják a program megfelelő végrehajtását. Ezért el kell távolítani az összes hibát. A hibát hibának is nevezik. A hibák azonosításának és kijavításának folyamatát hibakeresésnek nevezzük. Minden programozási nyelvnek van egy meghatározott szintaxisa. A programozónak a helyes szintaxist kell követnie a programok írásához. Szintaxis hiba esetén szintaxis hibának nevezzük. Szintaxishiba fordításkor jelentkezik. A futásidejű hibát futási hibanek nevezzük. A rendelkezésre álló memória eléréséhez tömböt kötött, nullával történő bontással, a rendelkezésre álló memóriával lehet szolgálni. Program írásakor a probléma megoldásához szükséges lépések sorozatát kell végrehajtani. Ezt a módszert algoritmusnak nevezik. Ha a program logikája hibás, akkor hibás lesz a kimenete. Az ilyen hibát logikai hibának nevezik. Ez a cikk a szintaxis és a logikai hiba közötti különbséget tárgyalja. Az kulcs különbség a szintaxis hiba és a logikai hiba között ez, a szintaxis hiba egy karakter- vagy token-sorozat szintaxisának hibája miatt jelentkezik, amelyet egy adott programozási nyelven kell írni, míg a logikai hiba olyan hiba, amely a program algoritmusában vagy a logikában fellépő hiba miatt fordul elő..
1. Áttekintés és a legfontosabb különbség
2. Mi a szintaxis hiba?
3. Mi a logikai hiba?
4. hasonlóságok a szintaxis hiba és a logikai hiba között
5. Side by side összehasonlítás - Szintaxishiba vs logikai hiba táblázatos formában
6. Összegzés
A programokat általában magas szintű programozási nyelvekkel írják. C, Python, Java néhány példa a magas szintű programozási nyelvekre. A forráskód könnyen olvasható és érthető az emberek számára. Ezek a programok a számítógép számára nem érthetők. A számítógép csak a gépi kódot érti meg. Ezért a magas szintű programot fordító segítségével gépi kódmá alakítják át. Minden programozási nyelvnek megvan a saját szintaxiskészlete a program írásához. A programozónak a helyes szintaxis szerint kell írni a programot. Ha nem, akkor hibát okoz. Ezt a hibatípust szintaxis hibának nevezzük. Ez a hiba az összeállításkor fordul elő.
Könnyű azonosítani és eltávolítani a szintaxis hibákat, mivel a fordító megjeleníti a hiba helyét és típusát. Szintaxishibák esetén a forráskód nem lesz fordítva a gépi kódba. Ezért a sikeres végrehajtás érdekében a programozónak javítania kell a fordító által megadott szintaxis hibát. A szintaxis hibák néhány általános példája: hiányzó pontosvessző, hiányzó göndör tartóelemek, be nem jelentett változók vagy hibásan írt kulcsszavak vagy azonosítók. Ha a programozó csak az int x-et írja pontosvessző nélkül, akkor ez szintaxis hiba. Az 'int' helyesírása szintaxis hiba. Ezért a program írásakor be kell tartani a programozási nyelvre vonatkozó szintaxist. A program nem fog fordulni, amíg a szintaxis hibát nem javítják. Értelmezett nyelven szintaxis hibát észlelnek a program végrehajtása során, ezért nehezebb lehet megkülönböztetni a szintaxis hibákat a többi hibától.
A programot egy probléma megoldására írják. Ezért egy algoritmust hajt végre annak megoldására. Az algoritmus lépésről lépésre történik egy adott probléma megoldására. Az algoritmus hibája miatt bekövetkező hibákat logikai hibának nevezzük. A logikai hibával rendelkező program nem fogja megszakítani a program végrehajtását, de a generált kimenet hibás. Ha szintaxis hiba történt, könnyen felismerhető a hiba, mivel a fordító megadja a hiba típusát és a hiba sorát. A logikai hiba azonosítása azonban nehéz, mert nincs fordító üzenet. A kimenet nem megfelelő, még a program végrehajtása sem. Ezért a programozónak el kell olvasnia az egyes állításokat, és a hibát önmagában kell azonosítania. A logikai hibák egyik példája az operátorok nem megfelelő használata. Ha a programozó osztási (/) operátort használt a szorzás (*) helyett, akkor ez logikai hiba.
Szintaxishiba vs logikai hiba | |
A szintaxis hiba egy karakter- vagy token-sorozat szintaxisának olyan hibája, amelyet egy adott programozási nyelven kell írni.. | A logikai hiba olyan program hibája, amely miatt a program hibásan működik, de nem rendellenesen fejeződik be. |
Esemény | |
Szintaxis hiba jelentkezik a program szintaxisának hibája miatt. | Logikai hiba merül fel az algoritmus hibája miatt. |
Érzékelés | |
Összeállított nyelveken a fordító jelzi a szintaxis hibát a helyével és a hiba jelentését. | A programozónak magának kell felismernie a hibát. |
Egyszerűség | |
Könnyebb azonosítani a szintaxis hibát. | Viszonylag nehéz azonosítani a logikai hibát. |
A programozás során hibák léphetnek fel. Különböző típusú hibák vannak. Futásidejű hiba fordul elő futási időben. Néhány példa a futásidejű hibákra a nullával történő elosztással, a nem elérhető memória elérésére. Szintaxis hibák szintaxis hibák miatt fordulnak elő. A logikai hibák a program logikájának hibája miatt fordulnak elő. A szintaxis és a logikai hiba közötti különbség az, hogy a szintaxis hiba egy karakter- vagy token-sorozat szintaxisának hibája miatt merül fel, amelyet egy adott programozási nyelven kell írni, míg a logikai hiba olyan hiba, amely miatt a program hibájához.
1.PGC előadások: Programozási hibák és típusok, Szintaxis hiba, Futásidejű hiba, Logikai hiba, Online hallgatók, 2017. január 8. Elérhető itt
2. „Szintaxis hiba.” Wikipedia, Wikimedia Alapítvány, 2018. február 17. Elérhető itt
3. „Logikai hiba.” Wikipedia, Wikimedia Alapítvány, 2018. február 27. Elérhető itt