Linguagem de programação

16,668 views

Published on

Uma linguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. Linguagens de programação podem ser usadas para expressar algoritmos com precisão.

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
16,668
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
354
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Linguagem de programação

  1. 1. Fundamentos da ComputaçãoLinguagem de Programação da Computação Prof. Edson Lima edsonprof@uninove.br
  2. 2. Processo de Desenvolvimento um SoftwareProjeto da Identificar Identificararquitetura classes e objetos relacionamentosRefinamento Projeto detalhado Teste/integração Implemen- Teste do de unidades tação sistema
  3. 3. Linguagem de Programação Para que se possa fazer alguém executar uma ordem é necessário que esta pessoa fale o mesmo idioma de quem mandou a ordem ou que haja um interprete para fazer a tradução. De maneira semelhante funciona o computador. Para mandarmos que ele execute uma função ou processamento ou damos a ordem em linguagem de máquina (binário) ou utilizamos interpretes para que eles façam a tradução.
  4. 4. Linguagem de Programação As linguagens de programação são softwares destinados a traduzir comandos, de uma linguagem mais próxima do programador, para a linguagem binária. As linguagens de programação são classificadas de acordo com a geração e o nível de entendimento do programador. • Linguagem de Máquina → Código Binário • Linguagem Procedural • Linguagem Orientada a Objeto
  5. 5. Linguagem de Programação - Geração Linguagem da 1ª geração: Linguagem de máquina ou absoluta; Linguagem da 2ª geração: Linguagem montadora (assembler) ou de baixo nível; Linguagem da 3ª geração: Linguagem de alto nível, orientada para os procedimentos; Linguagem da 4ª geração: Linguagem de altíssimo nível, orientada para um problema específico. Classificam-se em linguagem de consulta, geradoras de aplicação e outras.
  6. 6. Linguagem de Programação Alto Nível A linguagem de alto nível, teoricamente, independe to tipo de computador. O tempo de treinamento para a formação de programadores é, relativamente, curto. Baixo custo para a elaboração e manutenção de programas. Possíveis vantagens da arquitetura interna da máquina não são adequadamente aproveitadas.
  7. 7. Linguagem de Programação Alto Nível Tempo de compilação e execução do programa é maior. Ocupa mais memória para armazenar e executar o programa Linguagens de alto nível → São linguagens próximas da linguagem do homem. Exemplo: Cobol, Pascal, C. Linguagem de alto nível de quarta geração → São as linguagens utilizadas com objetos visuais tais como: Visual Basic, Delphi, Visual C++, C++.
  8. 8. Linguagem de Programação Baixo Nível O tempo de treinamento para a formação de programadores é bem mais demorado Alto custo para a elaboração e manutenção de programas. Possibilidade de utilizar as vantagens da arquitetura interna da máquina
  9. 9. Linguagem de Programação Baixo Nível Ocupa menos memória para armazenar e executar o programa Linguagem de máquina → Código Binário Tempo de compilação e execução do programa é menor
  10. 10. Linguagem de Programação Forma de Tradução Interpretadas → São as linguagens que cujo tradutor somente transforma em linguagem de máquina somente a parte do texto a ser executada. – Exemplo: HTML, JavaScript, PERL. Compiladas → São as linguagens compiladas são aquelas que todo o código do programa é traduzido criando um novo arquivo em linguagem de máquina. – Exemplos: Visual Basic, Delphi, Pascal, C, Cobol.
  11. 11. Compiladores e Interpretadores
  12. 12. Introdução• Compilador: software básico de computador capaz de traduzir uma linguagem de alto nível (código fonte) em outra mais simples (código destino ou executável) Código Código Compilador fonte destino Mensagens de erro
  13. 13. Construção de Compiladores Os próprios compiladores são escritos em alguma linguagem de programação e são programas bastante complexos; Usualmente precisa-se de alguns homens-ano para se escrever um.
  14. 14. Construção de Compiladores Assim, é uma boa idéia usar-se o computador como uma ferramenta para nos ajudar a escrever compiladores. Geradores de compiladores, como se pode inferir a partir do nome, são usados com este objetivo (tais geradores são às vezes denominados compiladores de compiladores).
  15. 15. Componentes de um CompiladorO objetivo inicial é verificar se o programa estásintaticamente correto; por exemplo, em Pascal oscomandos devem ser separados por ponto e vírgula, se istonão for feito a análise sintática emitirá uma mensagem deerro e a compilação do programa não terá sucesso.
  16. 16. Componentes de um CompiladorA segunda parte do compilador, verifica se o programa(já sintaticamente correto) está correto do ponto devista de contexto e tipos; por exemplo, em Pascal é umerro somar o número `3´ com o valor booleano `true´,ou usar a variável `x´ sem uma declararação prévia damesma.
  17. 17. Componentes de um CompiladorFinalmente, a terceira parte do compilador executaa tradução do programa-fonte em um programa-objeto expresso em linguagem de máquina;geralmente um comando do programa-fonte étraduzido para vários “comandos” em linguagemde máquina.
  18. 18. Programas Tradutores Compiladores Os compiladores, dependendo da linguagem e do sistema operacional utilizado, poderão envolver algumas etapas intermediárias. Com o uso , por exemplo, de funções matemáticas (que nada mais são do que pequenas sub-rotinas), o compilador precisará complementar o seu programa, já traduzido, com estas rotinas.
  19. 19. Programas Tradutores Interpretadores Os interpretadores não exigem a criação de um novo arquivo. Ele opera à partir do arquivo original (fonte) produzido pelo programador. O que o interpretador faz é ler o texto do programa e proceder conforme um vocabulário de palavras-chave. Com esta filosofia, o interpretador passa a maior parte do tempo lendo e traduzindo textos. Se o programa executa uma certa instrução mais de uma vez, o interpretador traduz a instrução cada vez que a encontra, tantas vezes quantas forem necessárias.
  20. 20. Compiladores e Interpretadores O compilador traduz todo o programa para a linguagem de máquina antes de sua execução pelo computador. Já o interpretador traduz somente trecho do programa que será executado em seguida, normalmente uma linha. Após a execução da linha, ele traduz a próxima que será executada e assim , sucessivamente, até o final do programa .
  21. 21. Programas Tradutores Montador – E programa que converte os códigos da linguagem assembly ou de baixo nível para a linguagem de máquina. Compilador – E o programa que traduz um programa escrito em linguagem de alto nível para um programa em código de máquina. Interpretador – E o programa residente que faz a tradução e a imediata execução de instrução a instrução de um programa escrito em linguagem de alto nível.
  22. 22. Programas TradutoresLing. fonte de Compilador Linguagem de máquina Execução Resultado alto nível (compiler) Interpretador LinguagemLing. fonte de de máquina Resultado alto nível (interpreter) ExecuçãoLing. fonte de Montador Linguagem Execução Resultado baixo nível (assembler) de máquina
  23. 23. Programa Link-EditorEste programa normalmente é chamado "link-editor" e deve ser executado após a compilaçãoinicial para, finalmente, gerar o programa emLinguagem de Máquina, pronto para serexecutado.
  24. 24. Vantagens dos CompiladoresComo o compilador gerar programas prontos paraserem executados pela máquina traz como principalvantagem a velocidade com a qual estes programasserão executados no computador, velocidade muitomaior do que os programas interpretados, que sãotraduzidos passo a passo.
  25. 25. Vantagens dos InterpretadoresPor outro lado, os interpretadores oferecem maiorfacilidade no processo de desenvolvimento doprograma, pois o programador pode imediatamentetestar o resultado do que está fazendo
  26. 26. Compiladores e Interpretadores Infelizmente o processo de compilação é muito lento. Por este motivo, o uso de compiladores para desenvolvimento e testes de programas é altamente desaconselhável. Quando o programa estiver pronto (testado e verificado com o interpretador), é interessante compilá-lo para obter maiores velocidades de execução.
  27. 27. Compiladores e Interpretadores De modo geral, podemos definir que os interpretadores são mais indicados para utilização durante o processo de desenvolvimento de programas. Os compiladores, por sua vez, devem ser acionados para produzir o programa executável final, ou seja, o produto acabado, que será efetivamente executado no computador. Atualmente, a maior parte das linguagens de programação encontram-se disponíveis tanto com compiladores, como com interpretadores.
  28. 28. Ciclo de Desenvolvimento de Programas 1º Entrar com todo o programa no computador (Programa Fonte) 2º Compilar o programa, traduzindo para a linguagem de máquina (Programa Objeto); 3º Executar o programa. Caso ocorra algum erro, deve-se efetuar as correções correspondentes e voltar ao passo 2, até que não existam mais alterações a serem feitas
  29. 29. Programa Compilador ExecutávelPrograma escrito em Compilador é um Programa que pode serlinguagem de alto programa específico utilizado em qualquernível; é utilizado um para uma determinada equipamento queeditor de textos; linguagem, que lê as atenda aso arquivo possui uma instruções escritas em especificações de pré-extensão que alto nível e se não requisitos paraidentifica o tipo de houver nenhum erro de utilização, é umlinguagem utilizada; sintaxe ele as arquivo que pode serex. teste.pas (pascal) transcreve para compreendido pela teste.cob (cobol) instruções similares em máquina. teste.vbp (visual linguagem de máquina. Um arquivo executávelbasic) possui extensão .exe.
  30. 30. Software Resumo Softwares Específicos Software Aplicativo -Assembler de usuários -C++ -Cobol Sistema -Visual Basic Operacional Utilitários: Software de SistemaCompilador e MonitorTradutores Editor Hardware Carregador

×