Buscar

Aula 05 - Linguagens de Programaçã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 31 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 31 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 31 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

Introdução às Linguagens de Programação
Prof. Alysson Ramirez
Email: alysson.freitas@estacio.br
Engenharia de Software
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 2
Objetivos
Conceituar as linguagens de programação.
Tipos de linguagens: alto e baixo nível,
genéricas e especificas.
Histórico das linguagens e a descrição das
características mais importantes.
Aspectos gerais dos códigos-fontes.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 3
Sobre as Linguagens de 
Programação
Um programa de computador é um conjunto
de instruções que representam um algoritmo
para a resolução de algum problema. Estas
instruções são escritas através de um
conjunto de códigos (símbolos e palavras).
Este conjunto de códigos possui regras de
estruturação lógica e sintática própria. Diz-se
que este conjunto de símbolos e regras
formam uma linguagem de programação.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 4
L.P.: Considerações Iniciais
Um computador tem muitos níveis de
detalhes. Os termos baixo e alto nível são
usados para descrever as camadas de
complexidades nos computadores.
O baixo-nível real está imbricado nos
microchips e microcircuitos. É o nível mais
primitivo e mecânico, enquanto o alto-nível
descreve o computador com menos detalhes,
tornando-o mais fácil de se usar.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 5
L.P.: Considerações Iniciais
Numa abordagem sistêmica, pode-se ver um
computador como um conjunto de caixas-
pretas determinísticas de baixo-nível
grupadas conceitualmente para formar uma
máquina de alto-nível, transparente ao
usuário comum, poupando-lhe dos
conhecimentos eletrônicos e técnicos
inerentes. O mesmo se sucede com as
linguagens de programação de alto-nível.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 6
Tipos de Linguagens: Baixo 
Nível
Baixo-Nível: São linguagens voltadas para a
máquina, isto é, são escritas usando-se as
instruções do microprocessador do computador. São
genericamente chamadas de linguagens Assembly
ou de montagem.
Vantagens: Os programas são executados com maior
velocidade de processamento e ocupam menor espaço na
memória.
Desvantagens: Em geral, programas em Assembly têm pouca
portabilidade, isto é, um código gerado para um tipo de
processador não serve para outro. Códigos Assembly não são
estruturados, tornando a programação bem mais difícil.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
16/04/2021 7
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 8
Tipos de Linguagens: Alto 
Nível
Alto-Nível: São linguagens voltadas para o ser
humano. Em geral utilizam sintaxe estruturada
tornando seu código mais legível. Necessitam de
compiladores ou interpretadores para gerar as
instruções do microprocessador.
Vantagens: Por serem compiladas ou interpretadas, têm maior
portabilidade podendo ser executados em várias plataformas
com pouquíssimas modificações. Em geral, a programação
torna-se facilitada por causa do maior grau de estruturação de
suas linguagens.
Desvantagens: Em geral, as rotinas geradas (em linguagem de
máquina) são mais genéricas e portanto mais complexas e por
isso são mais lentas e ocupam mais memória.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 9
Linguagens de A. N. Quanto a 
Aplicação
As linguagens de alto nível podem se
distinguir ainda quanto a sua aplicação:
Genéricas: como C, Pascal e Basic;
Específicas: como Fortran (cálculo
matemático), GPSS (simulação), LISP
(inteligência artificial) ou CLIPPER
(banco de dados).
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 10
Linguagens de Programação: 
Resumindo
A linguagem nativa dos computadores são cadeias de
números binários chamada de linguagem de
máquina. A ação resultante de uma simples instrução
em linguagem de máquina é muito primitiva e
milhares delas são necessárias para se fazer algo
substancial.
Em contrapartida, uma L.A.-nível provê um conjunto
substancial de instruções em inglês coloquial, as
quais podem ser recombinadas criativamente e
passadas para as imaginárias caixas-pretas do
computador (neste contexto considerada como uma
máquina virtual, dada a abstração inerente).
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 11
Hierarquia das linguagens
Linguagem
Natural
RPG WPL COBOL Fortran APL LISP
Pascal Ada PL/1BASIC
C Forth
Assembly
Máquina
Ling. ProcedimentaisOrientadas ao problema
Negócios Científicas
Propósitos gerais
Nível
Inferior
Baixo-
Nível
Futuro
Nível? 
Nível
Intermédio
Alto-
Nível
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 12
A Linguagem C: 
Considerações
É uma linguagem de alto nível, genérica. Foi
desenvolvida por programadores para
programadores, tendo como meta características de
flexibilidade e portabilidade. O C é uma linguagem
que nasceu juntamente com o advento da teoria de
linguagem estruturada e do computador pessoal.
Assim, tornou-se rapidamente uma linguagem
“popular” entre os programadores. O C foi usado
para desenvolver o sistema operacional UNIX, e hoje
está sendo usada para desenvolver novas
linguagens, entre elas a linguagem C++ e Java.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 13
L.P.: Exemplos de Códigos: 
BASIC
Pseudocódigo
leia(num)
para n de 1
até 10 passo 1 
faça
tabnum*n
imprima(tab)
fim-para;
BASIC
10 input num
20 for n=1 to 10
step 1
30 let tab=num*n
40 print 
chr$(tab)
50 next n
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 14
L.P.: Exemplos de Códigos: 
FORTRAN
Pseudocódigo
leia(num)
para n de 1
até 10 passo 1 
faça
tabnum*n
imprima(tab)
fim-para;
FORTRAN
read (num)
do 10 n=1:10
tab=num*n
write(tab)
10 continue
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 15
L.P.: Exemplos de Códigos: 
Assembly
Pseudocódigo
leia(num)
para n de 1
até 10 passo 1 
faça
tabnum*n
imprima(tab)
fim-para;
Assembly (Intel 8088)
MOV CX,0
IN AX,PORTA
MOV DX,AX
LABEL:
INC CX
MOV AX,DX
MUL CX
OUT AX, PORTA
CMP CX,10
JNE LABEL
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 16
L.P.: Exemplos de Códigos: C
Pseudocódigo
leia(num)
para n de 1
até 10 passo 1 
faça
tabnum*n
imprima(tab)
fim-para;
C
scanf(&num);
for(n=1;n<=10;n++
){
tab=num*n;
printf(”\n %d”, 
tab);
};
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 17
O Processo de Compilação
Carregar editor 
de textos
Editar ou 
modificar 
programa-fonte
Gravar 
programa-fonte 
em disco
Carregar 
compilador
Carregar 
programa-fonte
Executar 
compilação
Compilação 
completa!
Há 
erros?
Fim
Listar erros
Não
Sim
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 18
HTML: Breve visão
HTML é o acrônimo de HyperText Markup
Language. Um documento em HTML contém
gráficos, links, ícones, e formatação de como
o documento deve ser mostrado pelo
browser.
De fato, o browser é um interpretador dos
tags (marcadores) que constituem o HTML.
Este padrão, hoje amplamente difundido, é
um formato que descreve como uma página
Web deve ser exibida e não oferece nenhuma
descrição dos dados em si.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 19
Documentos HTML: Estrutura
<HTML>
<HEAD>
<meta name="Author" content=“Carlos Goncalves">
</HEAD>
<BODY>
<H1> Título 1 </H1>
<H2> Título 2 </H2>
<H3> Título 3 </H3>
<P>Texto Normal</P>
<LI>item 1 </LI>
<LI>item 2 </LI>
<LI>item 3 </LI>
</BODY>
</HTML>
Exemplo de 
codificação 
HTML
Saída na tela 
do browser
tags
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 20
Razões da Popularidade do 
Padrão HTML
Extremamente simples
Estilo próprio para formatação de
documentos
Ligações de hipertexto criadas
facilmente
Suporte a formulários
Interação homem x máquina
Programação simples
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 21
Limitações do Padrão HTML
Estrutura limitada e simples
◼ número fixo de tags
◼ projetado para formataçãode documentos
entregues através da Web
Difícil reutilização da informação
Padrão limitado para intercâmbio de
informações
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 22
Limitações do Padrão HTML 
(cont.)
Inadequado para organização das
informações. Busca por documentos
gera grande número de resultados
irrelevantes
Automação limitada
Padrão modificado constantemente
Adequação aos novos padrões requer
um grande esforço
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 23
Glossário: Código ASCII
Acrônimo de American Standard Code for
Information Interchange. Um esquema de
codificação que atribui valores numéricos às
letras, números sinais de pontuação e alguns
símbolos especiais.
O ASCII tem 256 códigos divididos em dois
conjuntos: básico e estendido com 128
códigos cada.
O ASCII permite que computadores e
programas troquem informações entre si.
Voltar
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 24
Glossário: Dados, Instruções, 
Informação
Dados: Elementos conhecidos de um
problema. Podem servir de base para a
solução de outros problemas.
Instrução: Comando que define uma
operação (ou ação) a ser executada pelo
processador.
Informação: Um conjunto estruturado e
racional de dados. Contudo, prefiro a def. de
Claude Shannon: Informação é a redução da
incerteza.
Voltar
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 25
Glossário: Meta-Programas
Programas-tradutores:
◼ Interpretadores fazem a interpretação de cada
instrução do programa fonte executando-a dentro
de um ambiente de programação: Basic e
AutoLISP são exemplos.
◼ Compiladores fazem a tradução de todas as
instruções do programa fonte gerando um
programa executável. Estes programas
executáveis (*.exe, *.bin) podem ser
executados fora dos ambientes de programação:
C e Pascal são exemplos.
Voltar
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 26
Glossário: Sintaxe Estruturada 
e P. Estruturada
Pode-se considerar como precursores da Programação
Estruturada (PE) dois pesquisadores, C. Bohm e G. Jacopini, que
publicaram um paper, primeiro na Itália e depois na
Communications of the ACM, USA, demonstrando que qualquer
programa poderia ser construído usando-se apenas 3 estruturas
básicas: seqüência, seleção e iteração.
A expressão “programação estruturada” foi usada pela 1ª vez
em 1969 por Edsger Dijkstra no paper “Structured
programming”, in Software Engineering 1969, Bruxelas: NATO
Scientific Affairs Division. O comando GOTO favorecia a
desorganização dos programas, além de obscurecer sua
estrutura, já que aumentava a “distância entre a representação
estática do programa e seu processo dinâmico”, gerando um
baixo nível de semântica.
Voltar
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 27
Glossário: Objetivos da PE
Resolver a crise de software, proporcionando uma
disciplina de programação, pois:
Os programas até então eram feitos ad hoc,
dificultando seu uso em vários sistemas de
computadores.
Produção de software era onerosa.
Os testes de programas ocupavam cerca de 50% do
projeto de software.
Os erros são mais críticos nos sistemas atuais, pois o
usuário a partir da década de 70, tornou-se menos
tolerante a software com falhas, o que não ocorria no
início da era da computação.
Voltar
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 28
Glossário: Objetivos da PE
Os erros duravam para
sempre em grandes
sistemas, e.g., numa
estatística da IBM, um de
seus engenheiros informou
que “cada nova versão do
OS/360 da IBM possuía mil
erros”.
A manutenção tornou-se
muito cara, pois cerca de
50%, ou mais, do orçamento
das organizações iam para
manutenção dos sistemas
existentes.
 
tempo 
Número de 
erros 
descobertos 
por unidade de 
tempo 
Curva de 
detecção de 
erros 
Voltar
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 29
Glossário: Objetivos da PE
Melhorar a confiabilidade dos programas
Aumentar a legibilidade dos programas
Minimizar a complexidade
Simplificar a manutenção
Aumentar a produtividade do programador
Estabelecer uma metodologia de
programação
Reduzir o custo de programação
Voltar
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 30
Bibliografia e Recursos: Livros
ALCALDE, Eduardo et alii. Informática Básica. São Paulo: 
Makron Books Ltda.
ARAKAKI, Reginaldo et alii. Fundamentos de programação: C -
técnicas e aplicações. Rio de Janeiro: LTC Editora.
KERNIGHAN, Brian e Ritchie, Dennis. C: A linguagem de 
programação-Padrão ANSI. Ed. Campus: Rio de Janeiro.
GHEZZI, Carlo e Jazayeri, Mehdi. Conceitos de linguagem de 
programação. Ed. Campus: Rio de Janeiro.
MARTIN, James & McClure, Clara. Técnicas estruturadas e 
CASE. São Paulo: Makron, McGraw-Hill.
ORILIA, Lawrence S. Processamento de dados nas empresas. 
McGraw-Hill do Brasil: São Paulo.
sams.net Publishing. Discover The World Wide Web. Indiana, 
USA.
©
2
0
0
3
 C
a
rl
o
s
 G
o
n
ç
a
lv
e
s
15/04/2021 31
Bibliografia e Recursos: Livros
VELLOSO, Fernando C. Informática: Uma introdução.
Rio de Janeiro: Ed. Campus.

Continue navegando