Escolar Documentos
Profissional Documentos
Cultura Documentos
LAPRO I
Prof. Dr. Rafael Garibotti
v Baseado no material cedido pelos Profs. Dr. Marco Mangan e Dr. Matheus Trevisan
AULA SOBRE:
LINGUAGEM DE PROGRAMAÇÃO
LINGUAGEM DE PROGRAMAÇÃO
DEFINIÇÃO:
Ø Linguagem utilizada para enviar instruções a um computador. Como
qualquer linguagem, apresenta símbolos e regras para a combinação
desses símbolos. (adaptado de Downing et al. Dictionary of computer
and Internet terms).
Quais linguagens de
programação vocês
conhecem?
1
TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Ø Linguagem de máquina
0010 0100
ü Ex.: conjunto de instruções para processadores Intel. 0001 1010
2
TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Ø Linguagem de alto nível Contador := 0;
ü São linguagens voltadas para o usuário (programador).
ü Os comandos das linguagens apresentam um nível mais alto de abstração e
próximos da linguagem humana.
ü Necessitam de programas especiais (compiladores ou interpretadores) para traduzir
o código para linguagem de máquina.
ü Vantagens: têm maior portabilidade podendo ser executadas em várias plataformas
com pouquíssimas modificações; não exigem conhecimento do código de máquina.
ü Desvantagens: as rotinas geradas são mais genéricas e portanto mais complexas e
por isso são mais lentas e ocupam mais memória (o código não é tão otimizado).
3
TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Ø Linguagem de alto nível
Begin
var op1, op2, r: integer;
r := 0;
while op2 > 0 do
begin
r := r + op1;
op2 := op2 - 1;
end
End
4
TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Ø Linguagem de montagem (assembly) LDA 4
STA A
ü São linguagens voltadas para a máquina e para o usuário.
ü São linguagens intermediárias entre a linguagem de máquina e a linguagem de
alto nível.
ü As instruções são simplificações da linguagem de máquina que usam código
mnemônicos (em inglês).
ü Vantagens: comandos com sintaxe mais inteligível que nas linguagens de
máquina.
ü Desvantagens: alguns mnemônicos ainda são de difícil compreensão; ainda
dependente da arquitetura do computador em questão.
5
TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Ø Linguagem intermediária
Begin
var op1, op2, r: integer;
r := 0;
laço : if op2 = 0 go to fim;
r := r + op1;
op2 := op2 - 1;
go to laço;
fim: End.
6
TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Ø Linguagem de montagem (Assembly)
ORG 0
r := 0
LDA ZERO
STA R
LAÇO : LDA OP2
JZ FIM laço : if op2 = 0 go to fim
LDA R
ADD OP1 r := r + op1
STA R
LDA OP2
ADD M1 op2 := op2 - 1
STA OP2
JMP LAÇO
FIM : HLT go to laço :
ORG 128
OP1 DEF BYTE
OP2 DEF BYTE
R DEF BYTE
ZERO DEF BYTE = 0
M1 DEF BYTE = -1 7
TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Ø Linguagem de máquina 0010 0100
0001 1010
ü São linguagens voltadas para a máquina.
ü São baseadas no código binário utilizado diretamente pelo computador.
• Cadeias de 0s e 1s.
ü As instruções variam de processador para processador.
ü Vantagens: produz o único conjunto de instruções que um computador entende sem
um tradutor, criando códigos concisos e eficientes além de serem consideravelmente
menores do que uma versão escrita em C.
ü Desvantagens: pouca portabilidade (em geral, um programa para um processador não
serve para outro); programas não são estruturados e de difícil compreensão;
manutenção e correção de erros extremamente difícil.
8
TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Ø Linguagem de máquina
end.mem.
0 2 83
2 1 82
4 2 81
6 A 16
8 2 82
A 3 80
C 1 82
E 2 81
10 3 84
12 1 81
14 8 4
16 F
9
COMPILADOR
DEFINIÇÃO:
Ø Um programa de computador que recebe um texto em uma linguagem e
gera texto equivalente em outra linguagem. O texto usado na entrada é
chamado de código-fonte e o texto na saída é chamado de código-objeto
(adaptado de Downing et al. Dictionary of computer and Internet terms).
Entrada
Saída 10
COMPILADOR
DEFINIÇÃO:
Ø Um compilador que recebe um texto escrito em linguagem C e gera
um novo texto em linguagem de montagem ou linguagem de máquina
(adaptado de Downing et al. Dictionary of computer and Internet
terms).
13
ETAPAS DE COMPILAÇÃO EM LINGUAGEM C
Editor de Texto Programa Fonte (.c)
Compilador
Ø Code::Blocks / QT Creator
Ø Eclipse / Netbeans
Ø Xcode
Ø Visual Studio
Erros de sintaxe
Compilar
Ø Conhecer o problema
ü Pensar sobre o que exatamente precisa ser resolvido;
ü Focar no que deve ser obtido, nas restrições existentes, etc...
e não em como resolver o problema;
ü Exemplos: fazer um mousse de chocolate; somar dois
números.
19
PASSOS NA CONSTRUÇÃO DE ALGORITMOS
21
PASSOS NA CONSTRUÇÃO DE ALGORITMOS
Ø Construir o algoritmo
ü Deve-se pensar os diversos passos para resolver o problema.
ü Normalmente é possível resolver o problema de mais de uma
maneira, ou seja, é possível ter mais de um algoritmo para resolver o
mesmo problema.
22
PASSOS NA CONSTRUÇÃO DE ALGORITMOS
Ø Testar o algoritmo
ü Fundamental realizar o chamado teste de mesa!
• SEM usar o computador!
ü Não tenha preguiça de fazer o algoritmo no papel e fazer o teste de
mesa, muita dor de cabeça será evitada!
23
TESTE DE MESA
Ø O teste de mesa é feito:
ü Escolhendo valores para as variáveis de entrada;
ü Seguindo cada uma das etapas do algoritmo;
ü Verificando a correção da(s) saída(s).
25
PARADIGMA IMPERATIVO
Ø Exemplo: Linguagem C
#include <stdio.h>
int main (void)
{
printf ("Ola! Eu estou vivo!\n");
return 0;
}
26
PARADIGMA FUNCIONAL
31