Erro é uma operação ilegal que resulta no funcionamento anor...
Assinale a alternativa correta com relação a este assunto.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A
Na programação, é fundamental diferenciar entre os tipos de erros que podem ocorrer durante o desenvolvimento e a execução de um programa. Os erros podem ser categorizados principalmente como erros de sintaxe e erros de semântica, além dos erros de tempo de execução.
Um erro de sintaxe ocorre quando o código viola as regras gramaticais da linguagem de programação. Assim como em um idioma, onde uma sentença mal construída pode não fazer sentido, um código com erro de sintaxe não é compreendido pelo compilador ou intérprete, levando a falhas no momento da compilação ou na interpretação do código. A alternativa A está correta, pois reflete exatamente essa condição.
Em contrapartida, um erro de semântica acontece quando o código está sintaticamente correto, porém não faz o que é esperado. O programa pode ser executado, mas os resultados obtidos não serão os desejados. Isso ocorre porque, embora as instruções estejam corretas do ponto de vista da gramática da linguagem, sua lógica está equivocada. A alternativa B é incorreta porque confunde erro de sintaxe com erro de semântica.
Os erros de tempo de compilação, mencionados na alternativa C, são aqueles identificados pelo compilador antes da execução do programa. Podem incluir tanto erros de sintaxe quanto outros tipos de erros que impedem a compilação bem-sucedida.
A alternativa D está incorreta porque sugere que o compilador não pode detectar erros de sintaxe, o que não é verdade. O compilador é precisamente a ferramenta projetada para identificar e notificar os erros de sintaxe, permitindo que sejam corrigidos.
Quanto à alternativa E, ela contém um equívoco ao afirmar que a Java Virtual Machine (JVM) detecta erros de sintaxe durante a execução. Na verdade, erros de sintaxe são detectados durante a compilação do código Java em bytecode, antes da execução pela JVM. Em tempo de execução, a JVM pode detectar erros de tempo de execução, mas não erros de sintaxe.
Portanto, a alternativa A é a correta porque descreve com precisão o que é um erro de sintaxe e quando ele ocorre no ciclo de desenvolvimento de software.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
B = Semântica tem haver com a Lógica do Programa e não gramática
C = Conceito de ERROS DE EXECUÇÃO, COMPILAÇÃO TEM ERROS DE SINTAXE.
D = Compilador justamente detecta ERROS DE SINTAXE
E = JVM DETECTA ERROS DE EXECUÇÃO e NÃO ERROS DE SINTAXE. QUEM DETECTA ERROS DE SINTAXE É O COMPILADOR JAVA.
GABARITO A
Basicamente o que a questão está perguntando é se o candidato sabe a diferença entre sintaxe e semântica. A análise léxica verifica os tokens da linguagem, ou seja, cada palavra existente no código fonte e se elas são escritas de acordo com as regras da linguagem, como por exemplo se a palavra é uma palavra reservada, se os nomes de variáveis respeitam as regras de construção. Na análise sintática é formada uma árvore sintática com os tokens verificados na análise léxica. Aqui há uma verificação da "gramática" (como se o código formasse frases), como por exemplo se o tipo da variável vem antes do nome dela, se o operador de atribuição vem depois do nome, se o valor da variável vem depois do operador de atribuição; se os comandos de seleção e repetição estão corretamente escritos e etc. Já a "semântica" tem relação com a função do código como um todo. O código "expressou" aquilo que ele realmente queria dizer? Ele atende a necessidade para a qual foi proposto? A verificação da semântica do código não é feita pelo compilador/interpretador, é feita pelo SER HUMANO.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo