Pri programiranju može doći do pogreške. Pogreška je neočekivani izlaz programa. Te pogreške mogu utjecati na pravilno izvršavanje programa. Stoga je potrebno ukloniti sve pogreške. Pogreška se naziva i bug. Postupak prepoznavanja pogrešaka i njihovog ispravljanja naziva se uklanjanjem pogrešaka. Svaki programski jezik ima određenu sintaksu. Programer treba slijediti ispravnu sintaksu za pisanje programa. Kada postoji sintaksa greška, ona je poznata i kao sintaksa. Pojava pogreške sintakse pojavljuje se u vrijeme sastavljanja. Pogreška koja se pojavljuje za vrijeme izvođenja naziva se pogreškom izvršavanja. Niz izvan okvira, ronjenje na nulu, pristup memoriji koja nije dostupna, neki su primjeri pogrešaka u vremenu izvršavanja. Kada pišete program, postoji niz koraka koje treba slijediti kako biste riješili problem. Ova se metodologija naziva algoritam. Ako je logika programa pogrešna, dat će pogrešan izlaz. Ta vrsta pogreške poznata je kao logična greška. Ovaj članak govori o razlici između sintakse i logičke pogreške. ključna razlika između sintaksa i logičke pogreške je to, sintaksa se pojavljuje zbog pogreške u sintaksi niza znakova ili tokena koja je namijenjena pisanju u određenom programskom jeziku, dok je logička pogreška greška koja nastaje zbog greške u algoritmu programa ili logike.
1. Pregled i ključne razlike
2. Što je sintaksa greška
3. Što je logička pogreška
4. Sličnosti između sintaksa i logičke pogreške
5. Usporedna usporedba - Sintaksa greška prema logičkoj pogrešci u tabličnom obliku
6. Sažetak
Programi su uglavnom napisani programskim jezicima visoke razine. C, Python, Java neki su primjeri programskih jezika visoke razine. Izvorni kod je jednostavan za čitanje i razumljiv ljudima. Računalo ne može razumjeti ove programe. Računalo razumije samo strojni kod. Stoga se program visoke razine pretvara u strojni kod pomoću prevoditelja. Svaki programski jezik ima vlastiti skup sintakse za pisanje programa. Programer bi trebao napisati program prema ispravnoj sintaksi. Ako ne, to će uzrokovati pogrešku. Ova vrsta pogreške poznata je kao sintaksa. Ova se pogreška pojavljuje u trenutku sastavljanja.
Lako je prepoznati i ukloniti sintaksičke pogreške jer prevoditelj prikazuje lokaciju i vrstu pogreške. Ako postoje sintaksičke pogreške, izvorni kôd neće biti preveden u strojni kod. Stoga bi za uspješno izvršavanje programer trebao popraviti sintaksičku pogrešku koju je odredio prevoditelj. Neki najčešći primjeri sintaksičkih pogrešaka su točke pod zarezima, nedostajuće kovrčave zagrade, neprijavljene varijable ili pogrešno napisane ključne riječi ili identifikatori. Ako programer samo pisac int x bez zarezom, to je sintaksa. Pogrešno pravopis inta je sintaksa. Stoga je pri pisanju programa potrebno slijediti sintaksu relevantnu za programski jezik. Program se neće kompilirati dok se ne popravi sintaksa. U interpretiranom jeziku detektira se sintaksna greška tijekom izvođenja programa, pa će možda biti teže razlikovati sintakse od ostalih pogrešaka.
Za rješavanje problema napisan je program. Stoga teče algoritam za njegovo rješavanje. Algoritam je postupak korak po korak za rješenje određenog problema. Do pogrešaka dolazi zbog greške algoritma poznato je kao logična pogreška. Program s logičkom greškom neće uzrokovati da program zaustavi izvršenje, ali generirani ishod nije u redu. Kada se pojavila sintaksa, pogreška je lako otkriti jer kompilacija određuje vrstu pogreške i liniju do koje dolazi. No prepoznavanje logičke pogreške teško je jer ne postoji poruka prevoditelja. Izlaz je pogrešan, čak je i program izveden. Stoga bi programer trebao pročitati svaku izjavu i sam prepoznati pogrešku. Jedan primjer logičke pogreške je pogrešna uporaba operatora. Ako je programer umjesto operatora upotrijebio operator divizije (/) (*), tada je to logična pogreška.
Sintaksa pogreška vs logička pogreška | |
Sintaksna pogreška je pogreška u sintaksi niza znakova ili tokena koja je namijenjena pisanju na određenom programskom jeziku. | Logička je pogreška greška u programu koja uzrokuje da on radi nepravilno, ali ne i ukida nenormalno. |
događaj | |
Do greške u sintaksi dolazi zbog pogreške u sintaksi programa. | Logična greška nastaje zbog pogreške u algoritmu. |
Otkrivanje | |
U prevedenim jezicima sastav ukazuje na sintaksičku pogrešku s lokacijom i u čemu je greška. | Programer mora sam otkriti grešku. |
Jednostavnost | |
Lakše je prepoznati sintaksu. | Relativno je teško identificirati logičku pogrešku. |
Moguće su pogreške tijekom programiranja. Postoje različite vrste pogrešaka. Pogreška tijekom rada pojavljuje se tijekom izvođenja. Neki primjeri pogrešaka runtime-a su ronjenje na nulu, pristup memoriji koja nije dostupna. Do sintaksičke pogreške dolazi zbog sintaksičkih pogrešaka. Logičke pogreške nastaju zbog pogreške u logici programa. Razlika između sintaksičke pogreške i logičke pogreške je u tome što se sintaksička greška događa zbog pogreške u sintaksi niza znakova ili tokena koja je namijenjena pisanju u određenom programskom jeziku, dok je logička pogreška greška koja nastaje zbog na grešku u programu.
1.PGC predavanja: Programiranje i vrste grešaka, sintaksička pogreška, runtime error, logička pogreška, mrežni učenici, 8. siječnja 2017. Dostupno ovdje
2. "Pogreška sintakse." Wikipedia, Zaklada Wikimedia, 17. veljače 2018. Dostupno ovdje
3. "Logička pogreška." Wikipedia, Zaklada Wikimedia, 27. veljače 2018. Dostupno ovdje