из некоторых статей, которые я читаю общая концепция программирования. Мне стало известно, что «синтаксисы — это формальные правила, которые управляют конструкцией допустимого выражения в языке», в то время как «семантика — это набор правил, которые придают значение утверждению языка». Исходя из определения семантики, я чувствую, что это похоже на логику, если нет, то, пожалуйста, я хочу знать разницу между логическая ошибка а также семантическая ошибка?
Просто Google, тысячи ответов будут перед вами с краткой.
Семантическая ошибка связана со значением чего-либо. это означает, что это является нарушением правил смысла естественного языка или языка программирования, предположим, что мы неправильно используем оператор программирования … семантическая ошибка будет обнаружена во время компиляции.
и логическая ошибка состоит в том, что ошибки, которые указывают на логику, используемую при кодировании программы, не смогли решить проблему. Логическая ошибка не приведет к тому, что программа перестанет работать, но желаемый результат не будет получен.
если вы хотите увидеть пример, перейдите на этот сайт …..
http://newtutorial2012.blogspot.com/2012/07/differentced-between-synataxsemantic.html
Ответ здесь зависит от книги, которую вы читаете, или от класса, в котором вы находитесь. Во многих областях компьютерных наук нет абсолютно никакой разницы между семантической ошибкой и логической ошибкой. Оба означают, что программа скомпилирована, но вывод был неверным. Так же часто они означают две разные вещи. Простым примером является намерение использовать X + 1 в вашей программе, но вы набрали X-1. Это логическая ошибка. Если вы ввели X + true, было бы синтаксической ошибкой, если бы язык позволил ему проходить через анализатор, но результат X + (логическое значение true) не совпадал с X + 1. Лично, когда дело доходит до плохо определенных терминов, таких как этот, я позволяю людям определять их так, как им нравится, и просто удаляю ошибки из моих программ, независимо от того, какие это ошибки.
Кажется, есть много путаницы вокруг определения этих терминов, но вот мое понимание:
Синтаксис относится к орфографии и грамматике.
Логика относится к потоку программ.
Семантика относится к значению и контексту.
Если код не выполняется из-за опечаток, неправильных имен, пропущенных скобок или других грамматических ошибок, у вас есть синтаксическая ошибка.
Если синтаксис правильный, но часть кода (случайно) никогда не выполняется, операции выполняются не в правильном порядке, сама операция неверна или код работает с неверными данными, у вас возникла логическая ошибка. Использование неправильного условного оператора является распространенным примером, поэтому непреднамеренно создает бесконечный цикл или путает (действительные) имена переменных или функций.
Если и логика, и синтаксис вашей программы верны, поэтому код работает так, как задумано, но результат все равно неправильный: вы, вероятно, имеете семантическую ошибку. Запутав метрическое входное значение для имперского значения, вы попадете туда. В программе нет ничего плохого, за исключением того, что мили и километры не складываются, поэтому при расчете площади выбрасывается неверное число.