Baixe o app para aproveitar ainda mais
Prévia do material em texto
Atividade 1 – Paradigmas de Linguagem de Programação Aluno – Ronie Camilo – UAM – Jacarei - SP Curso – Ciências da Computação – Semestre 4 / 2020 Questão Dissertativa Entende-se por sintaxe a forma das expressões, instruções e unidades de programa. Já semântica é o significado das expressões, declarações e unidades de programa. Ex: a sintaxe de uma instrução Java “while” é: while (boolean_expr) statement A semântica deste formulário de instrução é que, quando o valor atual do valor booleano (True/False) expressão for verdadeira, a instrução incorporada é executada. A forma de uma declaração deve sugerir fortemente o que a declaração pretende realizar. Sintaxe Semântica A gramática de um idioma é chamada de sintaxe. Semântica lida com o significado de uma frase. Os erros de sintaxe podem ser detectados no momento da compilação e são fáceis de rastrear. Os erros de semântica são difíceis de encontrar. Eles são encontrados principalmente em tempo de execução ou quando os resultados não correspondem às expectativas. Baseado nos dados apresentados e no conteúdo estudado, explique brevemente, com suas palavras, o que se entende por sintaxe e semântica de uma linguagem de programação. Dê um exemplo para ilustrar a diferença entre um erro de sintaxe e um erro de semântica. Resposta – Atividade 1 Definição de sintaxe A sintaxe de uma linguagem de programação é usada para significar a estrutura dos programas sem considerar seu significado. Basicamente enfatiza a estrutura, layout de um programa com sua aparência. Envolve uma coleção de regras que valida a sequência de símbolos e instruções usadas em um programa. O modelo pragmático e computacional figura esses componentes sintáticos de uma linguagem de programação. As ferramentas desenvolvidas para a especificação da sintaxe das linguagens de programação são gramáticas regulares, livres de contexto e de atributos. Definição de Semântica O termo semântica em uma linguagem de programação é usado para descobrir a relação entre a sintaxe e o modelo de computação. Ele enfatiza a interpretação de um programa para que o programador possa entendê-lo de maneira fácil ou prever o resultado da execução do programa. Uma abordagem conhecida como semântica direcionada a sintaxe é usada para mapear construções sintáticas para o modelo computacional com a ajuda de uma função. Exemplificando Sintaxe e Semântica Consideremos três frases: 1) um mais um é igual a dois, 2) one plus one equals two, 3) 1 + 1 = 2. Temos três frases escritas de formas diferentes, mas três frases que dizem a mesma coisa. A seguir, três exemplos do famoso “Hello World”, escrito em três linguagens de programação diferentes (C#, Object Pascal e Haskell): LINGUAGEM C# class HelloWorld { static void Main() { System.Console.WriteLine(“Hello, World!”); } } Object Pascal program HelloWorld(output); begin WriteLn(‘Hello World!’); end Haskell main :: IO () main = putStrLn "Hello, World!" Os três algoritmos realizam a mesma coisa, que é exibir um “Hello World” na tela, mas estão escritos de formas diferentes. Nos exemplos das frases o significado do que foi descrito de três formas diferentes é: ao somar um mais um, o resultado é dois. Nos exemplos do código fonte o significado do que foi descrito em C#, Object Pascal e Haskell é: exibir na tela um “Hello World”. O significado é a semântica e a forma é a sintaxe. Resumo SINTAXE X SEMÂNATICA Em tudo, sintaxe não existe sem semântica, nem semântica existe sem sintaxe. Em qualquer área de conhecimento é necessário dar forma a um conteúdo, pois uma forma sem conteúdo é um contrassenso pois o vazio não existe; e um conteúdo sem forma é um abstrato absoluto, também sendo um contrassenso pois qualquer tipo de matéria está no espaço. É filosófico, mas se aplica no contexto que estamos discutindo, basta quebrar um pouco a cabeça (para os que não entenderam facilmente) Em projetos de software é fundamental entender a diferença entre os dois conceitos. Um artefato com sintaxe ótima, mas com semântica péssima não serve para nada (até serve, para causar estragos no projeto). É como um profissional que se expressa muito bem, tem excelente oratória, mas não sabe do que fala, usando do talento “no verbo”, mas pecando forte no conteúdo que está verbalizando. Ou seja, um excelente formato com um péssimo conteúdo não gera valor, apenas subtrai valor. É como um sistema com um lindo front-end (interface do usuário), mas cheio de bugs em suas funcionalidades. Na mesma linha de pensamento, um artefato com semântica ótima e sintaxe péssima geralmente serve para deixar o analista maluco, pois este sabe que o conteúdo deve estar certo, mas se perde na bagunça especificada. É como o profissional que entende muito de algo, mas não sabe se expressar com fluência, acaba querendo dizer uma coisa, mas dando a entender outra. Ou seja, um excelente conteúdo com um péssimo formato, gera pouco valor, e também subtrai valor. Fontes de pesquisas: Vários sites na Internet e minhas conclusões baseadas nas mesmas. Fim.
Compartilhar