You are on page 1of 14

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 suas


características, são, normalmente, agrupadas em Gerações.

• 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 Programa-fonte

Assemblador Programas Compilador Interpretador


Tradutores
Programa-objecto, Programa-objecto,
Executável ou Executável ou
Código máquina 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 Compilador Programa Máquina


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

You might also like