linguagem de programação

30
Fundamentos da Computação Linguagem de Programação da Computação Prof. Edson Lima [email protected]

Upload: marcos-gregorio

Post on 07-Jun-2015

13.316 views

Category:

Documents


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Linguagem de programação

Fundamentos da Computação

Linguagem de Programação da Computação

Prof. Edson Lima

[email protected]

Page 2: Linguagem de programação

Processo de Desenvolvimento um Software

Projeto da arquitetura

Refinamento

Teste dosistema

Identificar classes e objetos

Identificarrelacionamentos

Projeto detalhado

Implemen-tação

Teste/integração de unidades

Page 3: Linguagem de programação

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.

Page 4: Linguagem de programação

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

Page 5: Linguagem de programação

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.

Page 6: Linguagem de programação

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.

Page 7: Linguagem de programação

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++.

Page 8: Linguagem de programação

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

Page 9: Linguagem de programação

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

Linguagem de Programação Baixo Nível

Page 10: Linguagem de programação

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.

Page 11: Linguagem de programação

Compiladores e Interpretadores

Page 12: Linguagem de programação

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)

CompiladorCódigo fonte

Código destino

Mensagens de erro

Page 13: Linguagem de programação

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.

Construção de Compiladores

Page 14: Linguagem de programação

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).

Construção de Compiladores

Page 15: Linguagem de programação

O objetivo inicial é verificar se o programa está sintaticamente correto; por exemplo, em Pascal os comandos devem ser separados por ponto e vírgula, se isto não for feito a análise sintática emitirá uma mensagem de erro e a compilação do programa não terá sucesso.

Componentes de um Compilador

Page 16: Linguagem de programação

A segunda parte do compilador, verifica se o programa (já sintaticamente correto) está correto do ponto de vista de contexto e tipos; por exemplo, em Pascal é um erro somar o número `3´ com o valor booleano `true´, ou usar a variável `x´ sem uma declararação prévia da mesma.

Componentes de um Compilador

Page 17: Linguagem de programação

Finalmente, a terceira parte do compilador executa a 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 linguagem de máquina.

Componentes de um Compilador

Page 18: Linguagem de programação

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.

Page 19: Linguagem de programação

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.  

Page 20: Linguagem de programação

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 .

Page 21: Linguagem de programação

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.

Page 22: Linguagem de programação

Programas Tradutores

Ling. fonte de baixo nível

Execução ResultadoMontador

(assembler)Linguagem de máquina

Ling. fonte de alto nível

Execução ResultadoCompilador (compiler)

Linguagem de máquina

Ling. fonte de alto nível

ResultadoInterpretador (interpreter)

Linguagem de máquina

Execução

Page 23: Linguagem de programação

Programa Link-Editor

Este programa normalmente é chamado "link-editor" e deve ser executado após a compilação inicial para, finalmente, gerar o programa em Linguagem de Máquina, pronto para ser executado.

Page 24: Linguagem de programação

Vantagens dos Compiladores

Como o compilador gerar programas prontos para serem executados pela máquina traz como principal vantagem a velocidade com a qual estes programas serão executados no computador, velocidade muito maior do que os programas interpretados, que são traduzidos passo a passo.

Page 25: Linguagem de programação

Por outro lado, os interpretadores oferecem maior facilidade no processo de desenvolvimento do programa, pois o programador pode imediatamente testar o resultado do que está fazendo

Vantagens dos Interpretadores

Page 26: Linguagem de programação

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.  

Compiladores e Interpretadores

Page 27: Linguagem de programação

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.

Compiladores e Interpretadores

Page 28: Linguagem de programação

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

Ciclo de Desenvolvimento de Programas

Page 29: Linguagem de programação

Programa Compilador Executável

Programa escrito em linguagem de alto nível; é utilizado um editor de textos;o arquivo possui uma extensão que identifica o tipo de linguagem utilizada;ex. teste.pas (pascal) teste.cob (cobol) teste.vbp (visual basic)

Compilador é um programa específico para uma determinada linguagem, que lê as instruções escritas em alto nível e se não houver nenhum erro de sintaxe ele as transcreve para instruções similares em linguagem de máquina.

Programa que pode ser utilizado em qualquer equipamento que atenda as especificações de pré-requisitos para utilização, é um arquivo que pode ser compreendido pela máquina.Um arquivo executável possui extensão .exe.

              

Page 30: Linguagem de programação

Software Resumo

Software Aplicativo

Software de Sistema

Hardware

Utilitários:

Monitor

Editor

Carregador

Sistema

Operacional

-Assembler

-C++

-Cobol

-Visual Basic

Compilador e Tradutores

Softwares Específicos de usuários