Você está na página 1de 12

CURSO SUPERIOR DE

TECNOLOGIA EM ANÁLISE E
DESENVOLVIMENTO DE
SISTEMAS

Introdução à Computação
Sistemas de Computação e Linguagens
Aula 02

Profa. Msc. Denise Regina Pechmann


denise.pechmann@canoas.ifrs.edu.br
Conteúdos

• Sistemas de Computação

• Linguagem de Programação

• Níveis de Linguagens de Programação


Sistema de Computação
• O processamento de dados requer a execução de uma série
de etapas realizadas de forma automática por um
computador.
• Estas etapas, elaboradas e executadas passo a passo,
constituem o que se chama programa.
• Cada passo é uma instrução, ou ordem de comando, dada ao
hardware, objetivando a realização de uma determinada
ação.
• Programa = conjunto de instruções.
Linguagem de Programação

• Linguagem de programação é o conjunto de termos e


regras (sintáticas e semânticas) que permite a formulação
de instruções a um computador.

• A “tradução” de um algoritmo para alguma linguagem de


programação é, na verdade, a sua codificação.

• O código escrito pelo programador em uma determinada


linguagem é denominado código-fonte.
Linguagem de Programação
• Ao longo dos anos, uma grande quantidade de linguagens
de programação foi desenvolvida (e continua sendo),
algumas de uso mais geral e outras concebidas para áreas
de aplicação específicas.

• As linguagens de programação podem ser classificadas em


níveis de linguagens, sendo que as linguagens de nível mais
baixo são mais próximas da linguagem interpretada pelo
processador e mais distante da linguagem humana.
Linguagem de Programação
• Como o computador corresponde basicamente a um conjunto
de circuitos, a sua operação é controlada através de programas
escritos numa forma bastante primitiva, baseada no sistema
binário de numeração.
• Microprocessador - Executa somente instruções em binário
localizadas na memória principal.
– O sistema binário é usado tanto para a representação dos dados
quanto das operações (instruções).
– Esta forma de representação dos programas é denominada
linguagem de máquina, em razão de ser a forma compreendida e
executada pelo hardware do sistema.
Níveis de Linguagens de
Programação
• Linguagem de Máquina (1942) - Diretamente em binário.
• Linguagens de Baixo Nível (1945) - Assembly ou linguagem de
montagem
– Mais próximas à máquina.
– Cada instrução corresponde a uma instrução de máquina.
– O programador que usa a linguagem Assembly deve compreender
as características da arquitetura do microprocessador (como
registradores e instruções).
– A linguagem de máquina torna-se legível pela substituição dos
valores binários por símbolos chamados mnemônicos.
• Exemplo: ADD (adicionar / somar)
Níveis de Linguagens de
Programação
• Linguagens de Alto Nível (C/C++, Pascal, Java, PHP)
– Linguagem com um nível de abstração relativamente elevado,
longe do código de máquina e mais próximo à linguagem
humana.
– Mais próximas ao programador.
– Cada comando da linguagem é transformado em várias
instruções para o processador.
– Linguagens visuais (Delphi, Visual Basic), aproximando a
programação da linguagem humana.
Linguagens de Programação
• Montador (ou assembler) – Programa que cria o código objeto
traduzindo programas escritos em uma linguagem simbólica
para a linguagem de máquina.
add A,B 1000110010100000
Linguagem de Montagem/ Linguagem de Máquina
Linguagem de Baixo Nível

• Compilador - Tradutor de alto nível, aceita uma notação mais


natural, mais próxima da nossa linguagem.
A+B add A,B
Linguagem de Alto Nível Linguagem de Montagem/
Linguagem de Baixo Nível
Programa em Swap (int v[], int k)
{ int temp;
Linguagem de temp = v[k];
Alto Nível (em C) v[k] = v[k+1];
v[k+1] = temp; }

Compilador
Programa em
C compilado
Programa em
Swap: muli
add
$2,$5,4
$2,$4,$2 para a
Linguagem de lw $15,0($2) linguagem de
lw $16,4($2)
Montagem (para sw $16,0($2) montagem e
o MIPS) sw
jr
$15,4($2)
$31
então
traduzido
para a
Montador
linguagem de
máquina.
Programa em 00000000101000010000000000011000
00000000100011100001100000100001
Linguagem de 10001100011000100000000000000000
Máquina (para 10001100111100100000000000000100
o MIPS) 10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
Comparação entre Linguagens
Linguagem de 4a. Geração

Portabilidade

Facilidade
Linguagem de Alto Nível
Velocidade
de Projeto
Desempenho

Linguagem Assembly (Baixo Nível) Flexibilidade

Custo de
projeto

Linguagem de Máquina
Referências
• MONTEIRO, Mário. Introdução à Organização de
Computadores. Rio de Janeiro: LTC, 2007.
• HENNESSY, J.; PATTERSON D. Organização e Projeto de
Computadores: A interface Hardware/Software. Rio de Janeiro:
Elsevier, 2005.
• VELLOSO, F. de C. Informática: Conceitos Básicos. 7. ed. Rio de
Janeiro: Campus, 2004.
• Site sobre a Evolução das Linguagens de Programação:
http://www.levenez.com/lang/