Vous êtes sur la page 1sur 36

P

r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
Introduo
Computao
Prof. Yandre Maldonado e Gomes da Costa
yandre@din.uem.br
UNIVERSIDADE ESTADUAL DE MARING
DEPARTAMENTO DE INFORMTICA
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
Histrico da Computao
Histrico da Computao:
Computar: do latim computare, que
significa calcular, avaliar, contar;
baco Mesopotmia,
aprox. 3500 a.c.
Mquina de Babbage
R.U., 1832.
ENIAC E.U.A., 1945.
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
3
Histrico da Computao
ENIAC, 1945: primeiro computador
eletrnico de propsitos gerais
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
4
Evoluo dos computadores
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
5
Introduo Computao
Cincia da Computao
nfase terica: idias fundamentais e
modelos computacionais;
nfase prtica: projeto de sistemas
computacionais;
As tecnologias computacionais so
construdas a partir de fundamentos da
computao. Aquelas so passageiras,
enquanto estes esto por trs da tecnologia
em qualquer tempo.
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
6
Introduo Computao
Ncleos de disciplinas da
Computao:
FUNDAMENTOS
DA
COMPUTAO
T
e
c
n
o
l
o
g
i
a

d
a

C
o
m
p
u
t
a

o
SI
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
7
Introduo Computao
Os fundamentos esto por trs da
tecnologia em qualquer tempo.
Anos 40 Anos 50 Anos 60 Anos 70 Tempos
atuais
Fundamentos Tericos da Computao
Tecnologias Computacionais
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
8
Introduo Computao
Processar dados: papel central do
computador
Computador
Computador
Dados de
Entrada
Dados de
Entrada
Dados de
Sada
Dados de
Sada
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
9
O Computador
Arquitetura de Von Neumann
Unidade de
Entrada
UCP
Memria
(Principal)
Unidade Lgica e
Aritmtica
Unidade de
Controle
Unidade de
Sada
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
0
O Computador
Unidade de Entrada: codifica informaes introduzidas por
dispositivos de entrada para que a UCP possa entender;
Memria: armazena dados e o programa em execuo;
Unidade Lgica e Aritmtica: realiza clculos aritmticos e
manipulao de dados;
Unidade de Controle: responsvel pelo trafego dos dados:
UE MEM
MEM ULA MEM
MEM US
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
1
O Computador
Unidade de Sada: converte os dados processados para
um formato que possa ser exibido em dispositivos de
sada.
Hardware: parte fsica do computador. Formada pelos
circuitos eletrnicos, dispositivos mecnicos, magnticos
e etc.
Software: os programas que executam sobre o
hardware.
HARDWARE + SOFTWARE = COMPUTADOR
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
2
Principais dispositivos de Entrada/Sada:
Hardware
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
3
Hardware
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
4
Hardware
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
5
Conceito:
Elementos de programao de um sistema de
computao, isto , todos os programas, sejam de
aplicao ou bsicos do sistema, contrastando com a
parte fsica e visvel do sistema - o hardware.
Classificao:
softwares bsicos
softwares aplicativos
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
6
Softwares bsicos:
Programas que definem o padro do equipamento, sendo
necessrios para o funcionamento do computador.
Tipos:
sistema operacional
ambiente operacional
linguagens de programao (tradutores)
utilitrios
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
7
Conceito de sistema operacional:
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
8
Software
Sistema Operacional
Sistema Operacional
Hardware
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
1
9
Exemplos de sistemas operacionais
MS-DOS, System 7, Unix, Linux, OS-2, Windows, etc.
Distribuio fsica na memria do computador:
ROM: gravadas as rotinas mais fundamentais de
coordenao e traduo de fluxos de dados
RAM do sistema em duas (2) etapas:
1. totalmente transferida para a RAM quando o
sistema ligado
2. carregada na memria medida que
solicitada
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
0
Sistemas operacionais: programas que podem ser
fornecidos pelo fabricante do equipamento.
O padro virem em disquetes ou j gravados no
winchester
Constituio do sistema operacional: programas escritos
geralmente em linguagem de programao de baixo nvel.
Classificao de sistemas operacionais:
sistema monousurio, sistema multiusurio
sistema monotarefa, sistema multitarefa.
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
1
Ambiente operacional:
ambientes que adicionam recursos ao sistema operacional para
permitir uma interface grfica com o usurio.
Exemplo: todas as verses do Windows, Linux, etc. incluem um
abiente operacional.
Linguagens de programao:
conjunto de smbolos (vocabulrio) e regras (gramtica) que
especificam um padro sinttico para estabelecer a
comunicao entre usurios (programadores) e computador.
Diviso:
linguagem de baixo nvel
linguagem de alto nvel
linguagem de mquina
linguagem simblica
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
2
Linguagem de mquina:
baseada em cdigo binrio, em 0s e 1s. Interpretada diretamente
pelo computador.
Exemplo:
Linguagem de mquina Significado
0010 0001 1110 carrega no registrador 1 o contedo da posio de memria 14
0010 0010 1111 carrega no registrador 2 o contedo da posio de memria 15
0001 0001 0010 soma o contedo do registrador 1 com o contedo do registrador
2 e coloca no registrador 1
0011 0001 1111 armazena o contedo do registrador 1 na posio de memria 15
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
3
Linguagem de baixo nvel simblica:
simplificao da linguagem de mquina. Faz uso de
cdigos mnemnicos para expressar as instrues.
Exemplo: Assembly
Linguagem de mquina Linguagem simblica
0010 0001 1110 LOAD R1, val1
0010 0010 1111 LOAD R2, val2
0001 0001 0010 ADD R1, R2
0011 0001 1111 STORE R1, val2
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
4
Linguagem de alto nvel:
combinao de um conjunto de smbolos de acordo com certas
regras de sintaxe para expressar uma seqncia de operaes
de mquina. Linguagem que no exige conhecimento do cdigo
de mquina.
Exemplos: FORTRAN, ALGOL, COBOL, BASIC, PASCAL, LOGO, C,
LISP, PROLOG, etc.
Linguagem de mquina Linguagem simblica Linguagem de alto nvel
0010 0001 1110 LOAD R1, val1 val2 = val1 + val2
0010 0010 1111 LOAD R2, val2
0001 0001 0010 ADD R1, R2
0011 0001 1111 STORE R1, val2
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
5
Principais tipos de tradutores:
Montador: l uma linguagem de baixo nvel
simblica e transforma para linguagem de mquina.
Interpretador: l uma linguagem de alto nvel e
coloca em execuo.
Compilador: l uma linguagem de alto nvel e
transforma para linguagem nvel mais baixo.
Mecanismo de traduo hbrida: exemplo Java.
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
6
Compilador:
1) L e analisa todo o programa fonte (escrito em linguagem de alto
nvel) e traduz para linguagem de baixo nvel.
2) Cria um programa objeto que corresponde s instrues em
linguagem de mquina.
3) Executa-se direto o programa objeto.
4) Se encontrar erro, preciso voltar ao programa fonte, corrigir, e
recompilar obtendo-se um novo cdigo objeto.
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
7
Conceitos de Linguagens de
Programao
Traduo de Linguagens de alto nvel:
Compilao
Traduo para linguagem de mquina;
Gera programas geralmente de execuo
mais rpida;
Compilador
Anlise Sntese
Programa
Fonte
Programa
Alvo
Alto Nvel Baixo Nvel
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
8
Conceitos de Linguagens de
Programao
Interpretao
Decodifica instrues de alto nvel em tempo de
execuo;
O interpretador simula uma mquina virtual que
busca (ciclo busca-decodifica-executa) as
instrues em alto nvel;
Uma mesma instruo de alto-nvel ser
traduzida tantas vezes quantas ela for executada;
Tradicionalmente, apresentava execuo 10 a
100 vezes mais lentas do que a de sistemas
compilados;
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
2
9
Conceitos de Linguagens de
Programao
Interpretao (cont.)
O gargalo no fica entre o processador e
a memria (como nos programas
compilados) e sim na decodificao das
instrues;
til em depurao de cdigo fonte;
Interpretador
Programa-fonte
Programa-fonte
Dados de entrada
Resultados
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
3
0
Conceitos de Linguagens de
Programao
Interpretao Hbrida
Traduzem a linguagem de alto-nvel para
uma representao intermediria;
Mais rpido que a interpretao pura,
pois as instrues so traduzidas uma
nica vez;
Interpretador
Dados de entrada
Resultados
Anlise
Lxica
Anlise
Lxica
Anlise
Sinttica
Anlise
Sinttica
Gerador de
Cdigo
Intermedirio
Gerador de
Cdigo
Intermedirio
Programa-fonte
Programa-fonte
Cdigo Intermedirio
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
3
1
Conceitos de Linguagens de
Programao
Interpretao Hbrida (cont.)
A linguagem Java oferece interpretao
hbrida
Sua forma intermediria o cdigo de bytes
(byte-code);
Oferece portabilidade para qualquer mquina
que tenha um interpretador de cdigo de
bytes;
Mquina virtual Java
Hoje existem sistemas que traduzem este
cdigo de bytes para cdigo de mquina com
execuo mais rpida;
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
3
2
Conceitos de Linguagens de
Programao
Linguagem de
Programao
Compilador/Interpretador
Editor de
Cdigo
Fonte
+ +
Outras
Ferramentas de
Programao
AMBIENTE DE PROGRAMAO
Ambientes de Programao
Conjunto integrado de ferramentas de
suporte a programao que dispem de
uma interface uniforme;
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
3
3
Conceitos de Linguagens de
Programao
Exemplos de Ambientes de Programao:
Java Editplus, NetBeans
Object Pascal Delphi
C++ C++ Builder
C Turbo C
Pascal Turbo Pascal
LINGUAGEM AMBIENTE
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
3
4
Utilitrios:
programas que ampliam os recursos do sistema facilitando o
uso e auxiliando a manuteno de programas. Administram o
ambiente oferecendo ferramentas ao usurio para organizar os
discos, verificar memria, corrigir falhas, etc.
Exemplos:
Save Smart, formatadores, programas de backup,
compactadores de disco (zip, arj), desfragmentadores,
antivrus, e outros.
Estes programas recebem o nome de utilitrios por
serem teis ao sistema computacional.
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
3
5
Softwares aplicativos:
programas voltados para a soluo de problemas do
usurio.
Tipos:
uso geral: programas que podem ser utilizados em vrios tipos
de aplicaes. Exemplos: editores de texto, grficos, planilhas,
gerenciadores de banco de dados, etc.
uso especfico: se destinam exclusivamente a uma aplicao
especfica. Exemplos: folha de pagamento, credirio, imposto
de renda, cadastro, contas a pagar e receber, etc.
Software
P
r
o
f
.

Y
a
n
d
r
e

M
a
l
d
o
n
a
d
o

-
3
6
Bibliografia
Brookshear, J. G.: Cincia da
Computao Uma viso abrangente
(7 edio). Porto Alegre: Bookman,
2005;
Fedeli, R. D.; Polloni, E. G. F.; Peres,
F. E.: Introduo Cincia da
Computao. So Paulo: Pioneira
Thomson Learning, 2003.

Vous aimerez peut-être aussi