Buscar

Aula 4 Linguagem de programação, linguagem de máquina

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Prof.: Morgana Silva
LINGUAGENS DE PROGRAMAÇÃO
 Uma linguagem de programação é um método padronizado para comunicar
instruções para um computador.
 É um conjunto de regras sintáticas e semânticas usadas para definir um programa de
computador.
 O propósito básico das linguagens de programação é gerar instruções para o
computador executar o processamento propriamente dito. Existe a necessidade de
facilitar a comunicação entre o homem e a máquina visto que os computadores
operam num nível atômico) em linguagem de máquina (dígitos binários,
registradores, posições de memória, endereço etc.), enquanto as pessoas preferem
expressar-se usando linguagens naturais, mais próximas da nossa.
LINGUAGENS DE PROGRAMAÇÃO
- Através das linguagens de programação, consegue-se :
Facilidades para se escrever programas;
Diminuição do problema de diferenças entre máquina;
Facilidade de depuração e manutenção de programas;
Melhoria da interface homem/máquina;
Redução no custo e tempo necessário para o 
desenvolvimento de programas;
Aumento da compatibilidade e modularidade;
Classificação das linguagem de programação:
1. Por níveis;
2. Por geração;
3. Por Áreas de Aplicação;
Linguagem de programação: nível
As linguagens de baixo nível
Restritas a linguagem de máquina
 Forte relação entre as operações implementadas pela
linguagem e as operações implementadas pelo hardware.
Representadas pelo Assembler e o Código Máquina e com a
característica de serem dependentes do computador onde
trabalham porque os programas criados por estas linguagens não
podem transitar para outro computador.
As linguagens de alto nível
 Aproximam-se das linguagens utilizadas por humanos para expressar
problemas e algoritmos
 Cada declaração numa linguagem de alto nível equivale a várias
declarações numa linguagem de baixo nível.
 Representadas pelo FORTRAN, PASCAL e SIMULA, aqui as linguagens
são independentes dos computadores podendo ser lidos em qualquer
um onde tem um papel determinante o cálculo numérico
Linguagens de Programação: geração
 Agrupadas em 4 gerações:
 1° geração: Linguagem binária, linguagens máquina e Assembler.
 2° geração: grande quantidade de bibliotecas de software, sistemas
de execução em tempo real e desenvolvimento de gerenciadores de
base de dados. COBOL, BASIC, RPG, FORTRAN IV/V, ALGOL
58/60/68/W, estas linguagens utilizam compiladores para traduzir
ou compilar para linguagem binária.
 3° geração: capacidade procedural e estrutural
PL/1, PASCAL, FORTRAN 8X, APL, C, SIMULA, BLISS, linguagens
para procedimentos.
4° geração: sistemas especialistas, desenvolvimento de
inteligência artificial execução dos programas em paralelo.
ADA, linguagem que produz programas noutras linguagens
(Gerador de programas);
 SQL, QBE, utilizadas para bases de dados.
5ª Geração
LISP, PROLOG, linguagens para especificar problemas.
Linguagem de programação: Área de aplicação
Cientificas
 ALGOL, BASIC, FORTRAN
Comerciais
 COBOL
Processamento de Listas
 LISP
Gerais
 ALGOL 68, PASCAL, SIMULA 67
Inteligência Artificial
 PROLOG
Ciências Sociais
 SPSS
Planeamento de espaços
 PROLOG
Programação de sistemas
 C
Linguagem de Máquina;
Linguagem Hexadecimal;
Linguagem Assembly;
 Os computadores não entendem nada
 Somente sabem diferenciar entre dois estados distintos: ligado ou
desligado
 As ideias e as conclusões vêm das pessoas
 O termo usado para descrever os sinais com os quais o
computador trabalha é dado.
 Para o computador, tudo são números:
 Números são números
 Letras são números
 Sinais de pontuação são números
 Instruções são números
Código binário:
 Um computador só pode identificar a informação através de sua capacidade de
distinguir entre dois estados;
 Algo está imantado num sentido ou está imantado no sentido oposto.
 A uma dessas opções o computador associa o valor 1, e a outra o valor 0.
 Por meio da combinação de bits, pode-se chegar a representações
variadas
Codificação - Bases mais usadas em Informática
• Base 10 – Sistema Decimal:
 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• Base 2 – Sistema Binário:
 0, 1
• Base 8 – Sistema Octal
 0, 1, 2, 3, 4, 5, 6, 7
• Base 16 – Sistema Hexadecimal
 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Sistema Binário
Só existem dois algarismos: 0 e 1
00
01
10
11
1 1 0 0 1 1x20 + 0x21 + 0x22 + 1x23 + 1x24 = 25
Mudanças de Bases:
Da base 2 para a base 10
• Multiplicando os algarismos, da direita para a esquerda, pelas sucessivas potências
de 2, e somando-se essas parcelas.
Mudanças de Bases – Da base 10 para a base 2
•Através de divisões sucessivas por 2, até obter quociente 0,
tomando-se os restos da ordem inversa à que tiverem sido
obtidos.
25 2
1 12 2
0 6 2
0 3 2
1 1 2
1 0
1 1 0 0 1
Mudanças de Bases:
Da base 10 para a base 2
 Através de divisões sucessivas por 2, até obter quociente 0, tomando-se os restos 
da ordem inversa à que tiverem sido obtidos.
Mudanças de Bases:
Da base 16 para a base 10
 Multiplicando-se os algarismos, da direita para a esquerda, pelas sucessivas 
potências de 16, e somando-se essas parcelas
C 2 0 3 3x160 + 0x161 + 2x162 +12x163 = 49667
Mudanças de Bases:
Da base 10 para a base 16
 Através de divisões sucessivas por 16, até obter quociente 0, tomando-se os restos 
da ordem inversa à que tiverem sido obtidos.
C203
49667
16
16
16
16
2
3 3194 194
120
12
Mudanças de Bases:
Da base 10 para a base 8
• Utiliza-se divisão sucessiva para encontrar o valor octal a partir o número
decimal.
• Ex.: Dividimos sucessivamente o número 1985 até encontrarmos
restos que sejam menores ou iguais a oito.
Resultado: 1985 = 3701 em octal
1985 | 8
1 248 | 8
0 31 | 8
7 3 8
03
Mudanças de Bases:
Da base 8 para a base 10
• Existem vários métodos, sendo mais comumente utilizado o método em que se faz
a conversão de forma direta através da fórmula.
• Exemplo: Converter o número octal 764 para o sistema decimal
764 (8) = 7 x 8² + 6 x 8¹ + 4 x 8° = 448 + 48 + 4 = 500 (10)
Exercícios:
a) 329
b) 284
c) 473
d) 69
e) 135
f) 215
g) 581
h) 197
i) 417
j) 113
k) 819
l) 77
m) 251
n) 769
o) 180
p) 27
1) Converter os seguintes valores decimais em valores binários equivalentes (conversão de base 10 para 
base 2)
2) Converter os seguintes valores binários em valores decimais equivalentes (conversão de base 2 para 
base 10)
a) 11011101010
b) 11001101101
c) 10000001111
d) 11101100010
e) 111001101001
f) 111111000011
g) 101100011000
h) 100000000110
i) 1100011
j) 10101111101
k) 11000011001
l) 101101
m) 1000000011
n) 111100011110110
o) 1100100001
p) 1101110
Exercícios:
a) 177
b) 254
c) 112
d) 719
e) 343
f) 27
g) 821
h) 197
i) 917
j) 779
k) 610
l) 593
m) 325
n) 216
o) 413
p) 521
3) Converter os seguintes valores decimais em valores octais equivalentes
(Conversão de base 10 para base 8)
4) Converter os seguintes valores octais em valores decimais equivalentes (conversão de base 8 para 
base 10)
a) 405
b) 477
c) 237
d) 46
e) 705
f) 173
g) 201
h) 452
i) 2136
j) 1741
k) 613
l) 546
m) 120
n) 317
o) 720
p) 665
Exercícios:
a) 447
b) 544
c) 223
d) 71
e) 622
f) 97
g) 121
h) 297
i) 2173
j) 1325
k) 743
l) 212
m) 681
n) 937
o) 1480
p) 1671
5) Converter os valores decimais abaixo em valores hexadecimais equivalentes (conversão de base 10 
para base 16)
6) Converter os seguintes valores hexadecimais abaixo em valores decimais equivalentes (conversão de 
base 16 para base 10)
a) 3A2
b) 33B
c) 621
d) 99
e) 1ED4
f) 7EF
g) 22C
h) 110A
i) 21A7
j) 1BC9
k) 27D
l) E5F
m) 2351
n) 19AE
o) ACEF
p) 214B
Código ASCII
 ASCII: American Standard Code for Information Interchange
(Código Padrão Americano para o Intercâmbio de Informação)
 Padronização de um código alfanumérico para E/S dados em
computadores
 Formado por 7 bits da seguinte forma:
 X6X5X4X3X2X1X0
 Onde cada X pode ser 0 ou 1
1 BYTE = 8 BIT
Tabela ASCII
X6X5X4
X3X2X1X0 010 011 100 101 110 111
0000 SP 0 @ P p
0001 ! 1 A Q a q
0010 " 2 B R b r
0011 # 3 C S c s
0100 $ 4 D T d t
0101 % 5 E U e u
0110 & 6 F V f v
0111 ` 7 G W g w
1000 ( 8 H X h x
1001 ) 9 I Y i y
1010 * : J Z j z
1011 + ; K k
1100 , < L l
1101 - = M m
1110 . > N n
1111 / ? O o
Assembly
Assembly é uma linguagem de baixo nível, chamada
frequentemente de “linguagem de montagem”
 É uma linguagem considerada difícil, principalmente porque o 
programador precisa conhecer a estrutura da máquina para usá-la 
Assembly
 A linguagem Assembly é atrelada à arquitetura de uma certa CPU, ou seja, ela 
depende completamente do hardware
 Cada família de processador tem sua própria linguagem assembly (Ex. X86, ARM, 
SPARC, MIPS)
 Por essa razão Assembly não é uma linguagem portável, ao contrário da maioria das 
linguagens de alto nível
Evolução das Linguagens de Programação De Alto 
Nível
Evolução das Linguagens de Programação
 1954
 Criação do FORTRAN por John Backus, sendo considerada a primeira linguagem de
 alto nível.
John Backus
 1957
Surge o FORTRAN I com aplicações para computação científica.
 1958
Criado o ALGOL 58 com o objectivo de facilitar a descrição de algoritmos;
Desenvolvido o FORTRAN II que corrigiu diversos erros do FORTRAN I;
Surgiu o FORTRAN III que nunca chegou a ter grande distribuição.
 1959
John McCarthy concebe o LISP que é a primeira linguagem funcional e que só
trabalhava com dois tipos de dados: átomos e listas (listas simples e listas
aninhadas.
 1960
Ano da criação do FORTRAN IV, sendo considerado como norma nas aplicações 
de
cálculo cientifico;
Desenvolvimento do COBOL que veio permitir tratar grandes quantidades de
informação comercial;
Numa reunião que durou 6 dias em Paris surgiu o ALGOL 60 melhorando o 
ALGOL
58 e foi linguagem padrão dos algoritmos nos próximos vinte anos e sendo a 
primeira
linguagem independente do computador.
 1962
Kenneth Iverson é quem cria o APL.
 1964
Surgimento do BASIC, feito por John Kemeny e Thomas Kurtz com a
particularidade do acesso livre e da fácil aprendizagem por parte dos
estudantes das áreas não científicas.
 1965
A IBM e a SHARE concebem o PL/I juntando o que havia de melhor nas
linguagens existentes.
 1967
Ano de criação do SIMULA 67 por Dahl e Nygaard que foi desenvolvido com
base no ALGOL 60.
 1968
Surge o ALGOL 68, continuação do desenvolvimento do ALGOL 60.
 1971
Niklaus Wirth cria o PASCAL tendo como característica a necessidade de as
variáveis serem declaradas no inicio dos programas, linguagem utilizada no
ensino de programação estruturada.
 1972
Alan Kay é quem concebe o SMALLTALK no XEROX Park, primeira linguagem a
utilizar interface gráfica;
Na Universidade de Marselha cria-se o PROLOG, linguagem aplicada em
gerência de bases de dados;
Nos laboratórios Bell, Dennis Ritchie cria o C, que tinha como objectivo
formar o sistema operativo UNIX, linguagem pequena, flexível e capaz de
criar código eficiente.
Dennis Ritchie
 1975
Criado o ADA, desenvolvida para o Departamento de Defesa dos EUA, criada
em homenagem a Ada Augusta Byron (ajudante e patrocinadora de Charles
Babbage), linguagem para programas complexos e grandes.
 1978
Ano de criação do FORTRAN 77 onde surge a instrução IF-THEN-ELSE ao
contrário das versões anteriores onde se utilizava o GO TO;
E.F. Codd, da IBM, cria a linguagem SQL, linguagem direccionada para base de
dados.
 1985
Criado o C++ por Bjarne Stroustrup com o intuito de melhorar a linguagem C,
tendo como uma das vantagens poder programar em baixo e alto nível,
softwares como o Emule, Microsoft Office ou o Internet Explorer foram criados
em linguagem C++;
Surge a linguagem EIFFEL, por Bertrand Meyer da ISE, linguagem que não é
casesensitive, o que facilita a escrita.
 1987
Criado o PERL por Larry Wall, linguagem que possibilita a sua utilização em
vários sistemas operativos e usado na maioria para criar aplicações Web.
 1990
Criação do FORTRAN 90 que ganhou recursos;
Em homenagem a Haskell Curry é criada a linguagem HASKELL, linguagem
essencialmente funcional.
 1991
Lançada uma linguagem de alto nível, a PYTHON por Guido van Rossum e com
uma sintaxe esclarecedora devido ao poder da biblioteca padrão que possui;
A Sun Microsystems através de James Gosling criou a linguagem JAVA,
linguagem orientada a objetos.
 1993
Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes criaram a
linguagem LUA, linguagem imperativa, de procedimentos e de abstracção de dados.
 1995
A Sun cria o JAVASCRIPT com base no C++ sendo um pouco mais simples;
Rasmus Lerdof cria a linguagem PHP, com a característica de ter portabilidade;
Surge a linguagem RUBY, por Yukihiro Matsumoto sendo esta uma linguagem orientada
a objetos;
Criada a linguagem DELPHI pela Borland Software Corporation, linguagem orientada a
objetos e eventos.
 2000
Criada a linguagem C# por Anders Hejlsberg e sua equipa e é usada como parte da
plataforma .NET.
Exemplos de Linguagem de alto nível
 Exemplo: “Olá mundo”:
 Linguagem C:
#include <iostream>
using namespace std;
int main()
{
cout << “Olá mundo!" << endl;
return 0;
}
Fortran
Exemplo: 
PASCAL
Exemplo:
Pascal
Comparação de LP
	Linguagem de programação
	LINGUAGENS DE PROGRAMAÇÃO
	�LINGUAGENS DE PROGRAMAÇÃO�
	Classificação das linguagem de programação:
	Linguagem de programação: nível
	Número do slide 6
	�Linguagens de Programação: geração�
	Número do slide 8
	Linguagem de programação: Área de aplicação
	Linguagens de baixo nível:
	Número do slide 11
	Código binário:
	Codificação - Bases mais usadas em Informática
	Número do slide 14
	Sistema Binário
	Mudanças de Bases: �Da base 2 para a base 10
	Mudanças de Bases:�Da base 10 para a base 2
	Mudanças de Bases:�Da base 16 para a base 10
	Mudanças de Bases:�Da base 10 para a base 16�
	Mudanças de Bases:�Da base 10 para a base 8�
	Mudanças de Bases:�Da base 8 para a base 10�
	Exercícios:
	Exercícios:
	Exercícios:
	Código ASCII
	Tabela ASCII
	Assembly
	Assembly
	Número do slide 29
	Evolução das Linguagens de Programação
	Número do slide 31
	Número do slide 32
	Número do slide 33
	Número do slide 34
	Número do slide 35
	Número do slide 36
	Número do slide 37
	Número do slide 38
	Número do slide 39
	Exemplos de Linguagem de alto nível
	Exemplo: �PASCAL
	Exemplo:�Pascal
	Comparação de LP

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais