Pri programiranju lahko pride do napak. Napaka je nepričakovan izid programa. Te napake lahko vplivajo na pravilno izvedbo programa. Zato je treba odstraniti vse napake. Napaka se imenuje tudi kot hrošč. Postopek prepoznavanja napak in njihovega odpravljanja se imenuje odpravljanje napak. Vsak programski jezik ima določeno skladnjo. Programer naj sledi pravilni skladnji za pisanje programov. Kadar pride do napake skladnje, je znana kot napaka skladnje. V času prevajanja pride do napake skladnje. Napaka, ki se pojavi med izvajanjem, se imenuje napaka izvajanja. Nekaj primerov napak med izvajanjem je niz zunaj omejenih, potapljanje po ničli, dostop do pomnilnika, ki ni na voljo. Ko pišete program, sledite zaporedju korakov za reševanje težave. Ta metodologija se imenuje algoritem. Če je logika programa napačna, bo dal napačen izhod. Takšna napaka je znana kot logična napaka. Ta članek obravnava razliko med napako skladnje in logično napako. The ključna razlika med napako sintakse in logično napako je to, napaka skladnje se pojavi zaradi napake v skladnji zaporedja znakov ali žetonov, ki naj bi bila napisana v določenem programskem jeziku, medtem ko je logična napaka napaka, ki nastane zaradi napake v algoritmu programa ali logike.
1. Pregled in ključne razlike
2. Kaj je sintaksa napaka
3. Kaj je logična napaka
4. Podobnosti med napako sintakse in logično napako
5. Primerjava ob strani - sintaksa napaka in logična napaka v obliki tabele
6. Povzetek
Na splošno so programi napisani v programskih jezikih na visoki ravni. C, Python, Java so nekateri primeri programskih jezikov na visoki ravni. Izvorno kodo je enostavno prebrati in jo razumeti človek. Teh programov računalnik ne razume. Računalnik razume samo strojno kodo. Zato se program na visoki ravni s prevajalnikom pretvori v strojno kodo. Vsak programski jezik ima svoj nabor skladnje za pisanje programa. Programer naj napiše program v skladu s pravilno skladnjo. Če ne, bo prišlo do napake. Ta vrsta napake je znana kot napaka skladnje. Ta napaka se pojavi pri sestavljanju.
Prepoznavanje in odstranjevanje napak v sintaksi je enostavno, ker prevajalnik prikaže lokacijo in vrsto napake. Če pride do napak v sintaksi, izvorna koda ne bo prevedena v strojno kodo. Zato mora programer za uspešno izvedbo popraviti napako skladnje, ki jo določi prevajalnik. Nekateri pogosti primeri sintaksičnih napak so manjkajo podpičja, manjkajoče kodraste naramnice, neprijavljene spremenljivke ali napačno napisane ključne besede ali identifikatorji. Če je programer napisal samo int x brez podpičja, je to napaka skladnje. Napačno črkovanje 'int' je napaka skladnje. Zato je pri pisanju programa potrebno slediti skladnji, ki ustreza programskemu jeziku. Program se ne bo prevajal, dokler sintaksa ne bo odpravljena. V interpretiranem jeziku se med izvajanjem programa odkrije napaka skladnje, zato je morda težje razlikovati napake skladnje od drugih napak.
Za rešitev težave je napisan program. Zato teče algoritem za njegovo rešitev. Algoritem je postopek po korakih za rešitev dane težave. Do napak prihaja zaradi napake algoritma, znana je kot logična napaka. Program z logično napako ne bo povzročil, da bo program končal izvedbo, vendar je ustvarjen izid napačen. Ko se je pojavila napaka v sintaksi, je napako enostavno zaznati, ker prevajanje določa vrsto napake in vrstico, do katere pride do napake. Toda prepoznati logično napako je težko, ker ni sporočila prevajalnika. Izhod je napačen, celo program je izveden. Zato mora programer prebrati vsako izjavo in napako prepoznati sam. En primer logične napake je napačna uporaba operaterjev. Če je programer namesto množenja (*) uporabil operater delitve (/), je to logična napaka.
Sintaksa napaka proti logični napaki | |
Sintaksa napaka je napaka v skladnji zaporedja znakov ali žetonov, ki naj bi bila napisana v določenem programskem jeziku. | Logična napaka je napaka v programu, ki povzroči, da deluje nepravilno, ne pa da se nenormalno konča. |
Pojav | |
Napaka skladnje se pojavi zaradi napake v sintaksi programa. | Logična napaka se pojavi zaradi napake v algoritmu. |
Zaznavanje | |
V sestavljenih jezikih prevajanje označuje napako skladnje z lokacijo in napako. | Programer mora napako zaznati sam. |
Enostavnost | |
Lažje je prepoznati sintaksično napako. | Logično napako je razmeroma težko identificirati. |
Med programiranjem se lahko pojavijo napake. Obstajajo različne vrste napak. Napaka med izvajanjem se pojavi med izvajanjem. Nekateri primeri napak med izvajanjem so potapljanje po ničli, dostop do pomnilnika, ki ni na voljo. Do sintaksičnih napak pride zaradi sintaksičnih napak. Logične napake nastanejo zaradi napake v logiki programa. Razlika med sintaksično napako in logično napako je, da se napaka skladnje pojavi zaradi napake v skladnji zaporedja znakov ali žetonov, ki naj bi bila napisana v določenem programskem jeziku, medtem ko je logična napaka napaka, ki se pojavi zaradi napak v programu.
1.PGC predavanja: Programske napake in vrste, napake sintakse, napaka med izvajanjem, logična napaka, spletni učenci, 8. januarja 2017. Na voljo tukaj
2. "Napaka sintakse." Wikipedia, fundacija Wikimedia, 17. februar 2018. Na voljo tukaj
3. "Logična napaka." Wikipedia, fundacija Wikimedia, 27. februarja 2018. Na voljo tukaj