Buscar

Notas de Aula - Introdução Linguagem de Progamação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

LINGUAGENS DE 
PROGRAMAÇÃO 
Prof. Saulo C. Campos 
FAGOC 
O que é uma linguagem de programação? 
• Ferramenta utilizada pelo profissional da 
computação para escrever programas, isto 
é, conjuntos de instruções a serem 
seguidas pelo computador para realizar um 
determinado processo. 
Objetivo das linguagens de programação 
• Tornar a produção de software mais 
produtiva e efetiva, com a utilização de 
linguagens de programação de alto nível. 
• Apoiar o processo de desenvolvimento de 
software. 
• Para isso é necessário conhecer as etapas do 
desenvolvimento de software e as propriedades 
das linguagens de programação. 
Tipos de Linguagens e a programação 
• Os programas de computador podem ser escritos 
em várias linguagens de programação, sendo 
algumas diretamente compreensíveis pelo 
computador e outras que exigem passos de 
tradução intermediária. 
• Elas podem ser divididas em três tipos, de 
acordo com a sua similaridade com a linguagem 
humana: 
• Linguagem de máquina; 
• Linguagem simbólica (baixo nível); 
• Linguagem de alto nível. 
Linguagem de máquina 
• Um programa escrito em linguagem de 
máquina não precisa ser traduzido para 
que o computador possa “entendê-lo”. 
• Programas em linguagem de máquina são 
compostos por sequenciais de bits. 
• Ex.: 000110110 
• Cada bit da sequência refere-se a uma 
instrução ou dado a ser executado. 
Linguagem de máquina 
•Cada CPU tem seu conjunto único de 
instruções que definem sua linguagem 
de máquina, estabelecido pelo 
fabricante do chip. 
•Esses tipos de linguagens são 
classificadas como linguagens de 
primeira geração. 
Linguagem simbólica 
• É a linguagem de nível imediatamente 
acima da linguagem de máquina. 
• Ela possui a mesma estrutura e conjunto de 
instruções que a linguagem de máquina, 
porém permite que o programador utilize 
nomes e símbolos em lugar de números. 
• Essa linguagem é classificada com LP de 
segunda geração e também é de baixo 
nível. 
Linguagem simbólica 
• A linguagem simbólica é também possui 
instruções únicas para cada tipo de CPU. 
Assim, um programa escrito em linguagem 
simbólica para uma CPU poderá não ser 
executado em outra CPU de família 
diferente. 
• A conversão da linguagem simbólica para a 
linguagem de máquina se chama montagem, 
e é feita por um programa chamado 
montador. 
• Assembly, por exemplo. 
 
Linguagens de programação de 
baixo nível 
•LPs que utilizam instruções conhecidas 
diretamente por um processador 
específico ou compreendendo 
características especificas do hardware 
em questão. 
•Para que o programador desenvolva um 
programa é necessário o conhecimento 
prévio do hardware. 
Programação em baixo nível 
˗ AX: Reg. Acumulador 
˗ BX: Reg. Base 
˗ CX: Reg. Contador 
˗ DX: Reg. de Dados 
˗ DS: Reg. de Segmento de 
Dados 
˗ ES: Reg. de Segmento Extra 
˗ SS: Reg. de Segmento de Pilha 
˗ CS: Reg. de Segmento de 
Código 
˗ BP: Reg. Apontador da Base 
˗ SI: Reg. de Índice Fonte 
˗ DI: Reg. de Índice Destino 
˗ SP: Reg. Apontador de Pilha 
˗ IP: Reg. Apontador da Próxima 
Instrução 
˗ F: Reg. de Flag 
 
• Registradores do processador: 
• Somar dois 
registradores: 
a 100 add ax,bx 
mov ax,0002 nop 
mov bx,0004 
Linguagem simbólica hoje 
• Hoje a linguagem simbólica e outras 
linguagens de baixo nível, são utilizadas 
quando a velocidade de execução ou o 
tamanho do programa executável gerado 
são essenciais. 
Linguagens de programação de alto nível 
• LPs com nível de abstração relativamente 
distante da arquitetura de hardware do 
computador. 
• Roda sobre o sistema operacional e não 
diretamente no processador. 
• Possuem escritas semelhantes as 
linguagem humana. 
• Ex.: C, Java, Pascal, PHP, Cobol, etc... 
Programação em alto nível 
• A estrutura e as palavras-chaves da LP são 
mais próximas da linguagem humana. 
• Os programas são mais fáceis de serem lidos 
e escritos. Esta é a sua principal vantagem 
sobre as linguagens de nível mais baixo. 
• Os programas escritos nessas linguagens são 
convertidos para a linguagem de baixo nível 
através de um compilador ou de um 
interpretador. 
Programação de alto nível 
• Não há necessidade de conhecer 
endereçamentos e tipos de registradores, 
essa função fica a cargo do SO. 
• Assim efetuar a soma de duas variáveis 
fica muito mais fácil: 
 
int A = 5; 
int B = 2; 
B = B + A; 
Linguagens de alto nível 
• São exemplos de linguagens de alto nível: 
C, C++, Java, Pascal, Object Pascal, 
Fortran, Cobol, PHP e etc. 
• Exemplo de uma instrução em uma 
linguagem de alto nível (pascal): 
 
if (A>10) then 
 A:=A-7; 
Classificação das Linguagens de 
alto nível 
As linguagens de alto nível compõem a classificação 
das LPs de geração 3, 4, e 5. 
• 3° geração: Escrita e leitura próxima a dos seres 
humanos, suporte a variáveis, sub-rotinas e a 
programação estruturada. Ex.: Fortran, Cobol, Pascal. 
• 4° geração: LPs ainda mais próxima dos padrões 
humanos, não procedimentais, como linguagens 
orientadas a objetos, que visão produtividade da produção 
de software. Ex.: Java, SQL, 
• 5° geração: LPs voltadas a aplicações de inteligência 
artificial, compostas por linguagens lógicas e algumas LPs 
declarativas. Ex.: Lisp, Prolog, entre outras 
Representação da classificação das 
Linguagens de programação 
Quinta Geração 
Quarta Geração 
Terceira Geração 
Segunda Geração 
Primeira Geração 
HARDWARE 
SER HUMANO 
Similaridade 
com a 
linguagem 
humana 
- 
+ 
Prolog, LISP, Mercury 
Java, SQL, Ruby on rails 
Fortran, Cobol, C, Pascal 
Assembly 
Linguagem de máquina 
Contraste entre linguagem de alto 
nível e de baixo nível 
int A, B; 
int main() { 
 A = 2; 
 B = 1; 
 A = A + B; 
} 
MOV AX,0002 
MOV BX,0001 
ADD AX,BX 
Porque existem tantas LP diferentes? 
• A computação resolve problemas de 
diversas naturezas. 
• Para cada tipo de problema são 
construídos projetos específicos que 
possuem requisitos e características 
específicas. 
• Por exemplo, medicina, armazenamento, 
negócios, eletrônica e etc. 
• Esse é o motivo de existir as diversas LP. 
LP aplicadas as ciências 
• Estrutura de dados simples 
• Operações aritméticas com ponto flutuante 
• Estrutura de dados comuns: array e matriz 
• Estruturas de controle comuns: laços de 
repetição e de seleções 
• Exemplos: 
• FORTRAN 
• ALGOL 60 e suas descendentes 
LP aplicadas aos negócios 
• Produz relatórios elaborados 
• Maneira precisa de descrever e armazenar 
números decimais e dados caracteres 
• Capacidade de especificar operações 
aritméticas com decimais 
• Exemplo: 
• COBOL 
 
LP aplicadas a inteligência artificial 
• Uso de computações simbólicas em vez de 
numéricas 
• Operações baseadas na execução de 
funções e análise de predicados 
• Exemplo 
• LISP 
• Prolog 
LP aplicadas a Sistemas Operacionais 
• Rapidez na execução de instruções 
• Eficiência na utilização de recursos 
• Princípio de recuperação de problemas 
• Exemplos: 
• PL/S 
• Extended ALGOL 
• C 
LP aplicadas a Internet 
• Linguagens de marcações 
• Não são linguagens de programação 
• HTML, XML, JSTL, CSS 
• Princípio da portabilidade 
• Utilização de scripts 
• Exemplos: 
• Java 
• PHP 
• Perl 
Ambiente de programação 
• Pode ser um critério de escolha da LP 
• Coleção de ferramentas (aplicativos) usadas no 
desenvolvimento de programas• Sistema de arquivos (ou Banco de Dados) 
• Editor de texto 
• Compilador 
• Ferramentas integradas 
• Exemplos: 
• MS Visual Studio, Borland Delphi, Eclipse, Netbeans, 
Code blocks e etc... 
Breve histórico das LP 
• FORTRAN (1957) 
• Aplicações numéricas e científicas (poucos dados e 
muita computação) 
• Ênfase em eficiência computacional 
• Única estrutura de controle era GOTO 
• Não havia alocação dinâmica de memória 
• LISP (1959) 
• Programação funcional 
• Ênfase em processamento simbólico 
• Ainda hoje é a mais usada em IA 
Breve histórico das LP 
• ALGOL (1960) 
• Programação estruturada 
• Primeira LP com sintaxe formalmente definida 
• Importância teórica (várias LP ALGOL-like) 
•COBOL (1960) 
• Aplicações comerciais (muitos dados e pouca 
computação) 
• Focou legibilidade (similaridade com inglês) mas 
prejudicou a redigibilidade. 
Breve histórico das LP 
• BASIC (1964) 
• Ensino para leigos 
• PASCAL (1971) 
• Ensino de programação estruturada 
• Simplicidade 
• C (1972) 
• Ênfase na programação de sistemas 
operacionais (características de baixo nível) 
• Implementação de UNIX 
Breve histórico das LP 
• PROLOG (1972) 
• Programação lógica 
• Bastante uso em IA 
• SMALLTALK (1972) 
• Programação orientada a objetos 
• Introduziu o conceito de GUI 
• ADA (1983) 
• Grande e complexa (8 anos de desenvolvimento) 
• Programação concorrente e sistemas de tempo 
real 
Breve histórico das LP 
• C++ (1985) 
• Suporte à POO mantendo a eficiência de C 
• Disseminação da POO 
• JAVA (1995) 
• Inicialmente criada para sistemas embarcados 
(set-up boxes, eletrodomésticos) 
• Baseada em C/C++, porém com facilidade de 
aprendizado 
• Simples, confiável, portável 
• Internet 
Breve histórico das LP 
Indicativo de popularidade das LP 
• Referencia: TIOBE Index 
• http://www.tiobe.com/ 
• Atualizado mensalmente e baseado em: 
• Número de engenheiros, cursos e vendedores 
(produtos) ao redor do mundo 
• Motores de busca populares

Outros materiais