Buscar

Introdução a Programação Aula 01

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 22 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 22 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 22 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 a 
Programação
Fabiano Gonçalves dos 
Santos
Aula 1
Conteúdo
• 1.1 Histórico
• 1.2 Organização de Computadores
2
©
G
e
o
d
e
z
| 
D
re
a
m
s
ti
m
e
.c
o
m
©
R
a
d
u
b
8
5
| 
D
re
a
m
s
tim
e
.c
o
m
Histórico da programação
• Na escrita cuneiforme já haviam instruções
3
Os babilônios usavam a 
numeração em base 60 
(números em ponto 
flutuante)
“Para calcular o volume da 
cisterna, se o seu raio for 2 
e sua altura 7, então o 
volume é 3,1 vezes 2 vezes 
2 vezes 7”.
©
G
e
o
d
e
z
| 
D
re
a
m
s
tim
e
.c
o
m
Histórico da programação
4
h
tt
p
s
:/
/p
t.
w
ik
ip
e
d
ia
.o
rg
/w
ik
i/
A
l-
K
h
w
a
ri
z
m
i
Abū ‘Abd Allāh Muhammad
ibn Mūsā al-Khwārizmī:
• Trabalhos algébricos em
linguagem natural
h
tt
p
s
:/
/p
t.
w
ik
ip
e
d
ia
.o
rg
/w
ik
i/
A
d
a
_
L
o
ve
la
c
e
Ada Lovelace é conhecida por ter escrito 
um algoritmo para a máquina de Charles 
Babbage
Histórico da programação
5
A máquina analítica de BabbageO algoritmo de Ada
h
tt
p
:/
/w
w
w
.i
n
te
lle
c
tu
a
lv
e
n
tu
re
s
la
b
.c
o
m
/a
s
s
e
ts
_
u
p
lo
a
d
s
/a
n
a
ly
e
n
g
in
e
.jp
g
c
o
m
p
u
te
rh
is
to
ry
.o
rg
Histórico da programação
• As primeiras linguagens:
–Plankalkul (Konrad Zuse)
–Em 1936 criou um computador mecânico 
(Z1) 
–Era um ábaco mecânico, controlado por 
pinos e correias
–Programável por fitas perfuradas
–Tinha números de ponto flutuante, em 
binário, com expoentes
6
Histórico da programação
• Em 1950, programar 
dava trabalho:
– Um programa 
levava semanas 
para ser feito
– Programação 
“física”
• Trocar fios de 
lugar
• Cartões 
perfurados
7
/\/\/\/\/|
| . |
| . |
| o o .ooo| W
| oo o. o| i
| oo o. oo| k
| oo o. o| i
| ooo . | p
| oo .o o| e
| oo .o | d
| oo o. o| i
| oo . o| a
| o.o o| Retorno da carga (CR)
| o. o | Início da linha (LF)
| . |
| . |
|/\/\/\/\/
h
tt
p
s
:/
/p
t.
w
ik
ip
e
d
ia
.o
rg
/w
ik
i/
P
a
p
e
r_
ta
p
e
Histórico da programação
• As primeiras ferramentas 
–Montadores
–Compiladores primitivos
• SpeedCoding, John Backus, 1954
–Era preciso poupar tempo dos 
programadores
8
h
tt
p
:/
/h
o
m
e
p
a
g
e
s
.d
c
c
.u
fm
g
.b
r/
~
fe
rn
a
n
d
o
/c
la
s
s
e
s
/d
c
c
0
2
4
/e
m
e
n
ta
/r
e
a
d
in
g
M
a
t/
h
is
to
ry
P
L
.p
d
f
Histórico da programação
• Fortran
–A primeira linguagem de 
programação popular
–John Backus, IBM
• Diminui os erros de 
programação
• Possuía um compilador que 
gerava código de qualidade
–Usada até hoje
• Previsão do tempo
• Mecânica dos fluidos
9
h
tt
p
s
:/
/c
o
m
m
o
n
s
.w
ik
im
e
d
ia
.o
rg
/w
ik
i/
F
ile
:F
o
rt
ra
n
.p
n
g
Histórico da programação
• John Backus também contribuiu:
–Fortran
–Algol 58 e 60
–BNF
–FP
10
h
tt
p
:/
/w
w
w
.c
o
lu
m
b
ia
.e
d
u
/c
u
/c
o
m
p
u
tin
g
h
is
to
ry
/b
a
c
k
u
s
.h
tm
l
Histórico da programação
• LISP 
–Conferência de IA (1954)
• Minksy, Newell, Simon: Logic Theorist: um 
programa de raciocínio escrito em IPL
• McCarthy aprimorou a linguagem, surgindo a 
linguagem LISP
11
(define fatorial
(lambda (n)
(let f ((i n) (resultado 1))
(if (= i 0)
resultado
(f (- i 1) (* resultado i))))))
Lots of Insignificant and 
Stupid Parenthesis!
Histórico da programação
• A influência de LISP
– Ideias como recursão, expressões 
condicionais e outras são usadas até hoje
–Muitas linguagens funcionais apareceram
–A coleta de lixo é usada em linguagens 
modernas
12
Histórico da programação
• Em 1957 havia um problema:
–As empresas tinham seus padrões
–As universidades tinham seus padrões
–Não havia padronização
• Aparecimento da linguagem Algol
–Universal, independente de máquina
• Comitê internacional em 1958
–Algol 58, Algol 60 e Algol 68
13
Histórico da programação 
• Herança do Algol
– Blocos delimitadores
– Estrutura léxica de formato livre
– Sintaxe definida via BNF
– Escopo de bloco para variáveis locais
– Tipagem estática com anotações de tipo
– Aninhamento de if-then-else
– Chamada por valor
– Recursão e expressões condicionais
– Alocação dinâmica de memória
– Procedimentos de primeira classe
– Operadores definidos pelo usuário
14
Histórico da programação
• Smalltalk
– Influenciou a programação orientada a 
objetos, junto com Simula
–Ainda é usada
–Tudo é objeto
– Implementação simples
–Fácil manutenção
–Curva de aprendizado pequena
15
Evolução das linguagens
16
Algol
60
CPL BCPL B C C++
Organização de computadores
17
Arquitetura de Von Neumann
Organização de computadores
18
Ciclo da arquitetura de Von Neumann, um processador Intel I7 e a sua arquitetura e 
organização interna
h
tt
p
:/
/t
e
c
n
o
lo
g
ia
.h
s
w
.u
o
l.c
o
m
.b
r/
c
o
re
-i
7
1
.h
tm
Introdução a 
Programação
Fabiano Gonçalves dos 
Santos
Atividade 1
20
• Quais são as linguagens mais usadas 
atualmente?
21
h
tt
p
:/
/w
w
w
.t
io
b
e
.c
o
m
/i
n
d
e
x.
p
h
p
/c
o
n
te
n
t/
p
a
p
e
ri
n
fo
/t
p
c
i/
in
d
e
x.
h
tm
l
22
h
tt
p
:/
/w
w
w
.t
io
b
e
.c
o
m
/i
n
d
e
x.
p
h
p
/c
o
n
te
n
t/
p
a
p
e
ri
n
fo
/t
p
c
i/
in
d
e
x.
h
tm
l

Outros materiais