Разлики между синтактична грешка и логическа грешка

...

Пъзел игрите за деца помагат за преподаване на критични логически умения.

Грешка може да наруши потока на програмата, да създаде безсмислени резултати или да доведе до пълно прекратяване на програмата. Разбирането на разликите между синтактични и логически грешки помага на процеса на отстраняване на грешки, като прави местоположението на грешката по-проста задача. Нито един вид грешка не се ограничава до програмиране и примерите от реалния живот са лесни за откриване.

Логика и синтаксис

Мислете за логиката като въпроси с да или не, а синтаксиса като части на речта. Логиката е прогресия от заключения, базирани на прости твърдения. Сложните логически модели се създават чрез комбиниране на поредица от твърдения, които определят желания резултат. Логическите твърдения могат да бъдат изразени математически, но синтактичните грешки не могат. Синтактична грешка обикновено е действие, което се извършва ненужно, в грешен ред или напълно извън контекста за предвидената употреба. Синтактичните грешки могат да бъдат открити от аналитичния софтуер, докато логическата грешка е трудна за разпознаване от компютъра.

Видео на деня

Грешки в работата на програмата и синтакт

При програмирането възниква синтактична грешка, когато програмата се опита да оцени израз и срещне размита команда или невъзможен израз. Един пример за синтактична грешка би било уравнение с недефинирани променливи или команда за печат без стойност за печат. Като мислите за синтаксиса като части на речта, можете да разберете важността на правилната организация на програмните изрази. Командите са действия, които се извършват върху обекта на изявлението, с допълнителни описания и разклонения команди, добавени към структурата под формата на операнди като AND, OR и WHILE наред с други, точно както са в реч.

Логика и синтаксис в реалния живот

Логическите грешки са грешни изчисления или неправилно тълкуване на събития. В много случаи възниква логическа грешка, когато се направи заключение без достатъчно подкрепящи доказателства. Например, да се приеме, че захранването е изключено, защото няма работещи електрически уреди, е логическа грешка, защото съдържа само предположение. Електрическо кратко изключване на главния прекъсвач е пример за синтактична грешка, тъй като системата не е в състояние да се съобрази с пълното изтегляне към земята.

Грешки и повреда на данните

Ако логическа грешка е записана в програма, тя има потенциал да повреди данни или дори да причини спиране на изпълнението на програмата. След като бъде установена неправилна стойност, компютърът ще продължи да използва тази стойност, защото не е в състояние да разпознае грешката и я предава на програмата. Това може да доведе до повредена база данни, грешни изчисления или изкривени изображения. Синтактичните грешки могат да причинят повреда на данните чрез въвеждане на неправилни команди или преждевременно прекратяване на изпълнението на програмата.

Логически грешки и точки на графика

Геометричните функции са особено податливи на логически грешки. Формулите, които включват множество операнди, трябва да бъдат внимателно оценени и поддържани в правилния ред на операции. Съставните оператори, включващи оператори IF..THEN..ELSE, могат да доведат до препълване на данни или неочаквани резултати от графика, като например поле, което се изобразява обратно, а не на стъпки напред. Тъй като този тип грешка е правно уравнение, езиковият компилатор не открива грешката и тя ще стане очевидна само при стартиране на програмата.