Escolar Documentos
Profissional Documentos
Cultura Documentos
LINGUAGEM DE
PROGRAMAÇÃO
AULA 1
Apresentar os principais paradigmas de programação.
Introduzir programação imperativa
Introduzir programação orientada a objetos
Introduzir programação funcional
Introduzir programação Lógica
Introduzir conceitos básicos de implementação de
linguagens de programação.
MOTIVAÇÃO
●
Já em 1969, SAMMET listou 120 LPs que eram
relativamente bem difundidas. Desde então muitas
centenas de outras Lps surgiram (e desapareceram).
●
A maioria dos programadores, todavia, nunca chega
a usar mais do que umas poucas linguagens. Muitos
não usam mais que uma ou duas em sua inteira vida
profissional.
●
Por que então estudar linguagens de programação?
Porque estudar Linguagem de P
●
Melhorar sua habilidade de desenvolver algoritmos
(ex., uso eficiente de recursividade)
●
Melhorar sua habilidade de usar a LP (ex., uso
eficiente dos recursos de gerenciamento de
memória)
●
Aumentar o seu vocabulário de construção úteis de
programação (ex., declarações repita até <repeat-
until> e chaveamento <case> ou <switch>)
Porque estudar Linguagem de P
●
Melhor escolher uma linguagem de programação por
conhecer seus pontos fortes e fracos ( ++ depende muito
do conhecimento dos programadores).
●
Torna mais fácil aprender novas LPs e acompanhar a
tecnologia (ex., quanto mais LPs você souber, mais fácil
se torna aprender uma nova LP).
●
Torna mais fácil projetar novas linguagens de
programação (ex.,algumas interfaces de usuário podem
adquirir contornos de uma“linguagem de programação”).
●
• E por último, abrangência de formação.
Definição de LP
Linguagem de máquina
0010 0100
Ex.: conjunto de instruções para processadores 0001 1010
Intel.
Linguagem de alto nivel
●
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).
Linguagem de montagem (assembly)
●
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.
Linguagem de alto nível Linguagem intermediária
Begin Begin
var op1, op2, r: integer; var op1, op2, r: integer;
r := 0;
r := 0;
while op2 > 0 do
laço : if op2 = 0 go to fim;
begin
r := r + op1;
r := r + op1;
op2 := op2 - 1;
op2 := op2 - 1;
go to laço;
end
fim: End.
End
Ling montagem (Assembly)
CODIGO
.MODEL SMALL
DADOS
.STACK
.CODE
.DATA
END PILHA
Registradores de Uso Geral
AX BX CX DX (16 bits)
AH/AL BH/BL CH/CL DH/DL (8 bits)
AX: Acumulador
Usado em operações aritméticas.
BX:Base
Usado para indexar tabelas de memória (ex.: índice de vetores).
CX:Contador
Usado como contador de repetições em loop e movimentação
repetitiva de dados.
DX:Dados
Uso geral.
Sobre Assembly
●
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.
Ling maquina
compilador
saída
compilador
●
Durante a compilação, o código fonte é analisado
(análise léxica, sintática e semântica), é gerado um
código intermediário e são construídas tabelas de
símbolos, alocam-se as áreas de memória para
variáveis e atribui-se os registradores a serem
utilizados, e é finalmente gerado o código objeto em
linguagem binária de máquina.
●
Em alguns compiladores, é gerado um código
intermediário em Assembly (que pode ser visualizado
pelo programador) e que em seguida passa pelo
montador para gerar finalmente o código objeto em
linguagem de máquina.
Primeiro compilador: A-0 (1952)
Leia os artigos
https://codeberryschool.com/blog/ptbr/qual-linguagem-
de-programacao-e-a-ideal-para-voce/
https://www.isbrasil.info/blog/5-nichos-de-programacao
-para-ficar-de-olho-nos-proximos-anos.html