Técnicas e Linguagens de Programação

Propaganda
Curso Profissional de Gestão e Programação de Sistemas Informáticos
Programação e Sistemas de Informação
Módulo 1
1ª Parte
Prof. Sandra Pais Soares
Linguagens de Programação
•
Linguagens de Programação
Uma linguagem de programação é um sistema de escrita formal
para
enunciar
a
execução
de
operações
em
computador,
composta por:
• Uma terminologia ou um conjunto de termos, palavras e sinais,
que assumem determinados significados (semântica);
•
Um conjunto de regras que estipulam o uso correto de termos,
para construir enunciações válidas (sintaxe).
•
Linguagens de Programação
• As linguagens de programação, de acordo com as
características, são, normalmente, agrupadas em Gerações.
suas
• Existem até ao momento 5 gerações de Linguagens:
1ª Geração
Linguagem Máquina
2ª Geração
Linguagem Assembly
3ª Geração
Pascal, C, Cobol, etc.
4ª Geração
CLIPPER, SQL
5ª Geração
C++, Java, Delphi, etc.
• A 5ª geração é, normalmente, conhecida como contendo as
linguagens que permitem a Programação Orientada por Objectos.
•
1ª Geração - Linguagens Máquina
• É a mais elementar das linguagens e a única que o computador entende.
• Consiste num conjunto muito detalhado de instruções em criptograma que
controla os circuitos internos do computador. Sendo assim, um programa
escrito em linguagem máquina para um tipo de computador não pode ser
processado noutro sem sofrer alterações significativas.
Gottfried, Byron S., Programação em Pascal, McGraw Hill
• Cada computador tem um processador com uma linguagem própria (linguagem
máquina). O processador vai buscar à memória sequências de bits e interpreta
cada uma como uma instrução a executar segundo regras determinadas.
Exemplo dum programa em linguagem máquina: SCRAM:
00010001
01010010
00110011
•
2ª Geração - Linguagens Assembly
• A linguagem “assembly” permite usar mnemónicas menos crípticas para
simbolizar instruções máquina.
Exemplo:
• Se X, Y, Z corresponderem aos endereços 1, 2 e 3, o programa
anterior em Assembly fica:
LDA X
ADD Y
STA Z
• Assembladores ou “Assembler” – Programa que traduz Assembly para
linguagem máquina.
•
3ª Geração
• A terceira geração de linguagens de programação surge com as
chamadas linguagens de Alto Nível. O seu princípio de codificação está
mais próximo do raciocínio humano.
• Estas linguagens são independentes da máquina, possibilitando a
portabilidade de software.
• Esta geração engloba as chamadas Linguagens Procedimentais ou
Imperativas e as Declarativas.
•
4ª Geração
• Existe um corte radical entre a 3ª e a 4ª geração de linguagens.
Existe maior ligação entre a 3ª e 5ª gerações do que entre a 3ª e 4ª
gerações.
• As linguagens de 4ª geração surgem com o advento dos Sistemas de
Gestão de Bases de Dados. São linguagens de alto nível que incorporam
“ferramentas” informáticas capazes de acelerar e facilitar o
desenvolvimento de aplicações informáticas, principalmente ligadas à
gestão e bases de dados. Um dos exemplos é o SQL.
•
5ª Geração
• A 5ª geração é, normalmente conhecida como contendo as linguagens
que permitem a Programação Orientada por Objetos.
• Esta é uma geração de Muito Alto Nível, elevando o nível de abstração
das estruturas e do tratamento dos dados, apoiando-se também nos
conceitos das linguagens de declaração atrás descritas.
Evolução Histórica
1950........................................................................................................
FORTRAN
1960.......................ALGOL-60...........COBOL......LISP.........................
SIMULA
ALGOL-68
PL/I BASIC
1970..................Pascal............................................................................
Smalltalk
C
PROLOG
Modula-2
ML
1980....................Ada...........DBASE-II..................................................
Miranda
Eifell C++
Java
Delphi
Orientado a objectos Imperativo
Funcional
Lógico
Linguagem Natural
Linguagens de Programação
“Baixo Nível”
“Alto Nível”
Assembly
Pascal, C, etc.
Programa-fonte
Assemblador
Programa-objecto,
Executável ou
Código máquina
Programa-fonte
Programas
Tradutores
Compilador
Interpretador
Programa-objecto,
Executável ou
Código máquina
Linguagem Máquina
Azul, Artur Augusto, Técnicas e Linguagens de Programação, Porto Editora
Interpretador vs Compilador
• Interpretador
• O programa fonte é traduzido e executado instrução a instrução de um modo
interactivo. A vantagem do interpretador reside na correcção dos erros, uma vez
que é feita em cada passo de execução.
• Compilador
• O programa escrito na linguagem fonte é traduzido para linguagem máquina e
posteriormente executa-se o programa já traduzido (programa objeto). A
vantagem é que o o programa é traduzido uma única vez, gerando-se um programa-
objeto (executável). Sempre que se quiser correr o programa não é necessário
voltar a traduzi-lo.
Processo de Compilação
input
Programa
fonte
Compilador
Programa
Máquina
Objecto
output
Exercícios
1. Quais as principais diferenças entre uma linguagem de baixo nível e uma de
alto nível? Indique alguns exemplos dos dois tipos de linguagens atrás
referidas.
2. A 4ª geração de linguagens consiste num aperfeiçoamento das linguagens de
3ª geração. Comente.
3. Qual a linguagem que o computador entende?
4. Distinga entre compilador e interpretador.
5. Qual a diferença entre um programa fonte e um programa objeto.
Download