Você está na página 1de 59

1- O COMPUTADOR

Unesp Campus de Guaratinguet

Curso de Programao Computadores


Prof. Anbal Tavares
Profa. Cassilda Ribeiro
Ministrado por: Prof. Andr Amarante
1.1 Histrico

Necessidade humana de computao data


de milhares de anos

Tabuas de argilas contendo tabuadas por


volta de 1700 C, prximo de Babilnia
Babilnios usavam sistema de numerao
sexadecimal (base 60) origem das
unidades de tempo atuais
Eles resolviam muitos tipos de equaes
algbricas.
2
1.1 Histrico: Desenvolvimento de dispositivos automticos

3
O baco: Oriente Mdio 2500 a.C
5000 500 50 5
Valem 5 27
unidades
=
Valem 1 20+7
unidade
5000 500 50 5
baco
Japons

1000 100 10 1
Instrumento construdo
de contas mveis se
movimentando em eixos.
A informao est nas
contas. 1000 100 10 1 4
5000 AC O baco
5000 500 50 5
Valem 5 27
unidades
=
Valem 1 20+7
unidade
5000 500 50 5
baco
Japons

1000 100 10 1
Instrumento construdo
de contas mveis se
movimentando em eixos.
A informao est nas
contas. 1000 100 10 1 5
Operaes no baco

SOMA EFETUADA NO BACO 236 + 61 = ?

5000 500 50 5 5000 500 50 5

1000 100 10 1 1000 100 10 1


236 236 + 61 = 297
http://www.youtube.com/watch?v=Hr7AB4cnyOs&feature=related
6
1642 Pascalina: a mquina de Blaise Pascal

Predecessora da
calculadora de mesa Blaise Pascal

0 9
dezena unidade + 1
1 ciclo = 10 ciclos 1 0
http://woodgears.ca/gear_cutting/template.html 7
1801 - O Tear Programvel

Joseph-Marie Jacquard

8
Funcionamento do Tear

Os desenhos eram
cifrados em cartes
de papel perfurado.

Somente trabalhavam
as agulhas
coincidentes com os
furos.

As instrues esto codificadas nos cartes


9
1822 A Mquina Diferencial

Charles Babbage

Calcularia funes trigonomtricas e logartmicas, usando os


cartes de Jacquard. Construo difcil e cara para a poca.
10
A Primeira Programadora

1833 - Babbage projetou uma mquina


bastante aperfeioada - Mquina Analtica.
Podia ser programada atravs de cartes
perfurados de Jacquard utilizando comandos
como Se...ento e Enquanto.
Calculava vrias funes matemticas.
"Podemos dizer mais convenientemente que a
Mquina Analtica tece padres algbricos,
assim como o tear de Jacquard tece flores e
folhas" . Ada Lovelace. Ada Lovelace
Devido tecnologia pouco avanada, a mquina
no foi concluda. Somente um sculo depois suas
idias foram postas em prtica.
www.fourmilab.ch/babbage/contents.html
11
1880 A Tabuladora Hollerith

Os dados do censo (que ocorre a cada 10 anos) de 1880


dos EUA levaram quase 8 anos para serem processados.
Temia-se que os dados do censo de 1890 no estivessem
processados em 1900.

Herman Hollerith (estatstico):

Foi encarregado pela Agncia Estatstica


dos EUA de desenvolver uma tcnica
para acelerar o processamento dos dados
do censo.
12
1880 A Tabuladora Hollerith
Hollerith usou a idia de Os dados eram perfurados em cartes
Jacquard e construiu a que podiam ser classificados por meio
Perfuradora de Cartes. de pinos que passavam pelos furos.

O processamento das
Informaes levou 3 anos.

Observao: A empresa de Hermann Hollerith era a Tabulating


Machine Company. Em 1911, ele juntou-se com outras 3 empresas e
fundou a IBM.
13
1936 A Mquina de Turing

Tear
Programvel

Turing imaginou uma mquina que poderia


efetuar de forma automtica os processos Alan Turing
geralmente desenvolvidos por um matemtico.
Para cada processo, haveria uma mquina: Mquina
uma para somar, outra para dividir, uma
terceira para calcular integrais, e assim por Terica
diante. A mquina de Turing, nome pela qual
ela ficou conhecida, jamais foi construo
14
Importncia da Mquina de Turing
Um tempo depois, Turing descobriu que era possvel
desenhar um aparelho "universal" que tivesse condies de
realizar tudo o que as mquinas especializadas podiam
fazer, desde que fossem programadas para tal. Assim,
Turing elaborou a Teoria dos computadores programveis

15
Funcionamento da Mquina de Turing
Dispositivos: Entrada, O movimento da mquina de
Sada, Memria de trabalho. Turing depende do smbolo lido
Fita: dividida em clulas, e do estado do controle finito.
cada uma contendo um Dependendo destes estados a
mquina pode:
smbolo.
(1) Trocar de Estado.
Smbolos: Alfabeto de (2) Gravar um smbolo.
entrada, Alfabeto auxiliar,
Branco. (3) Mover o cabeote de leitura.
Unidade de controle: se
comunica com a Fita por
uma cabea simples que l
e/ou altera smbolos da lista.

http://ironphoenix.org/tril/tm/ 16
1937 - Lgica Booleana e Circuitos Eltricos

Em 1847 publicado o livro The Mathematical


Analysis of Logic que introduz a lgebra Booleana. Trs
operadores E, OU e NO (AND, OR, NOT) so as nicas
operaes necessrias para efetuar comparaes ou as
quatro operaes aritmticas base.
George Boole

Em 1937, Claude Shannon: H uma correspondncia de um-para-um


entre circuitos eltricos e funes booleanas. Para toda e qualquer funo
booleana possvel desenvolver um circuito eletrnico e vice-versa.

17
1.3-Componentes Bsicos do Computador

HARDWARE: Toda parte fsica do computador.


o equipamento propriamente dito.
Inclui: circuitos eletrnicos, gabinete, fonte de
energia, cabos, teclado, mouse, etc.

O SOFTWARE: Constitudo pelos programas


que permitem atender s necessidades do
usurio

18
Composio do Hardware

MEMRIA

MEMRIA AUXILIAR
UNIDADES
FUNCIONAIS
BSICAS
MEMRIA PRINCIPAL

UNIDADE DE UNIDADE DE
UNIDADE DE CONTROLE
ENTRADA SADA

UNIDADE LGICA E
ARITMTICA

CPU

19
A Memria do Computador

A memria do computador dividida em


unidades pequenas (caixinhas) e de mesmo
tamanho, chamadas PALAVRAS. Cada
PALAVRA tem um nico endereo

Os endereos so permanentes (vm da


fbrica) e no podem ser modificados pelo
programador

20
A Memria do Computador

Memria de Tamanho n Endereo

00 Palavra 1
Capacidade da memria
01 Palavra 2
X
02 Palavra 3
Espao enderevel 03 Palavra 4
... ...
n Palavra n-1

21
A Memria do Computador

A PALAVRA (caixinha) formada por um grupo de 2, 4, 6


e at 8 BYTES (depende do modelo de computador).

Exemplo: Palavra de 4 bytes, indica que se est usando


uma caixinha cujo tamanho de 4 bytes

PALAVRA PALAVRA
byte byte byte byte byte byte byte byte
endereo 00 01 02 03 04 05 06 07
endereo 00 04

22
A Memria do Computador

BYTE (binary term) : Unidade bsica da informao. O


byte composto por 8 BITS

BIT (binary digit) - dgitos binrios

BYTE
bit bit bit bit bit bit bit bit

23
Representao da Informao

Os computadores armazenam as informaes e


fazem todo seu tratamento baseado em fenmenos
sobre sistemas biestveis

Os smbolos bsicos usados para representar os dois


estgios so o 0 e o 1 (dgitos binrios)

BYTE
bit bit bit bit bit bit bit bit
0 ou 1 0 ou 1 0 ou 1 0 ou 1 0 ou 1 0 ou 1 0 ou 1 0 ou 1

COMO FAZER PARA REPRESENTAR UM NMERO BINRIO?

24
A MEMRIA DO COMPUTADOR

Sistema de numerao binria

um sistema de numerao posicional (o valor de


um dgito dado pela sua posio no nmero)

No sistema decimal, o nmero 2562 tem a seguinte


interpretao:
2 x 1000 (103) = 2000
5 x 100 (102) = 500
6 x 10 (101) = 60
2 x 1 (100) = 2
25
A MEMRIA DO COMPUTADOR

No sistema binrio de numerao a base 2.


Assim o valor do nmero 110101 :
1 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 +1 x 20
= 32 + 16 + 0 + 4 + 0 + 1
= 53

26
A MEMRIA DO COMPUTADOR

Interligando todas as partes do computador,


existem fios por onde circulamos bits
(barramento).

Computador de 16 bits => existem 16 fios


para o transporte dos dados

Computador de 32 bits => existem 32 fios


para o transporte dos dados
27
A MEMRIA DO COMPUTADOR

A memria dividida em camadas:

memria cache
memria principal
memria auxiliar

28
A MEMRIA DO COMPUTADOR

MEMRIA
UNIDADES
FUNCIONAIS MEMRIA AUXILIAR
BSICAS

MEMRIA PRINCIPAL

MEMRIA CACHE
UNIDADE DE UNIDADE DE
ENTRADA UNIDADE DE CONTROLE
SADA
UNIDADE LGICA E
ARITMTICA

CPU

29
Unesp-Campus de Guaratinguet

A MEMRIA DO COMPUTADOR

A memria dividida em camadas:

memria cache
MEMRIA CACHE
memria principal
Camada mais prxima do processador
memria auxiliar
Funcionamento muito rpido
Alto custo
Pequena, devido ao custo
30
Unesp-Campus de Guaratinguet

A MEMRIA DO COMPUTADOR

A memria dividida em camadas:

memria cache
MEMRIA PRINCIPAL
memria principal
Dados que no cabem na memria cache residem
memria auxiliar
na memria principal
Mais lenta
Maior que a cache
Custo inferior a cache
31
Unesp-Campus de Guaratinguet
A MEMRIA DO COMPUTADOR

Tipos de memria principal:


ROM (Read Only Memory)
RAM (Random Access Memory)
PROM (Programmable ROM)
EPROM (Eraseble PROM)
EAROM (Electrically Alterable ROM)

32
Unesp-Campus de Guaratinguet

A MEMRIA DO COMPUTADOR

A memria
MEMRIA dividida
AUXILIAR (discosem camadas:
magnticos)
Armazenam

os dados que no cabem na memria
memria cache
principal.
memria principal
Podem reter grande quantidade de dados.
memria auxiliar
Os dados no so perdidos quando o computador
desligado.
Funcionamento muito lento.
33
Unesp-Campus de Guaratinguet

A MEMRIA DO COMPUTADOR

MEMRIA AUXILIAR (discos magnticos)


A memria dividida em camadas:
Dois tipos de disco:
memria
1- DISCOS cache Winchesters, Hard Disk, Disquetes
MAGNTICOS:
memriaCOMPACT
principal
DISC,
READ ONLY MEMORY
memria auxiliar
2 - DISCOS TICOS : CD-ROM, erasable CD (CDRW)

CD ReWritable
Os dados e programas devem primeiro ser transferidos
para a memria principal antes de serem processados

34
Unesp-Campus de Guaratinguet

A MEMRIA DO COMPUTADOR

O PORTE do computador depende de:


componentes (essncia da memria e do processador)
arquitetura,
perifricos e
software bsico.
O tamanho da memria principal um dos indicadores
do porte do computador
Unidade de medida: byte
35
Unesp-Campus de Guaratinguet

3.1.1 A MEMRIA DO COMPUTADOR

UNIDADES DE MEDIDA
Kbyte = 1024 bytes
kilobyte (Kbyte ou KB) ~= 103 bytes
megabyte (Mbyte ou MB) ~= 106 bytes
gigabyte (Gbyte ou GB) ~= 109 bytes
terabyte (Tbyte ou TB) ~= 1012 bytes

36
Unesp-Campus de Guaratinguet

Unidades de Entrada e Sada

MEMRIA
UNIDADES
FUNCIONAIS MEMRIA AUXILIAR
BSICAS

MEMRIA PRINCIPAL

UNIDADE DE UNIDADE DE
UNIDADE DE CONTROLE
ENTRADA SADA

UNIDADE LGICA E
ARITMTICA

CPU 37
Unesp-Campus de Guaratinguet

UNIDADES DE ENTRADA E SADA

MONITORES DE VDEO

Tubo de Raios Catdicos Monitor de Cristal Lquido

IMPRESSORAS

Matricial Jato de Tinta Laser

TECLADOS

38
Unesp-Campus de Guaratinguet

UNIDADES DE ENTRADA E SADA

CD-ROM (Compact -
Disk Read -Only Memory)
Caracterizada pelo uso de
tcnicas ticas de laser.

SCANNER ou DIGITALIZADOR
Dispositivo de entrada que
digitaliza objetos escritos, desenhos
(figuras) e fotografias sobre papel ou
qualquer outro meio e armazena
essas informaes sob forma de
sinais digitais, em arquivos.
39
Unesp-Campus de Guaratinguet

UNIDADES DE ENTRADA E SADA

PLOTTER
uma impressora capaz de imprimir desenhos em grandes
dimenses com elevada qualidade e rigor, como por exemplo,
plantas arquitetnicas, mapas cartogrficos, projetos de
engenharia e grafismo. Podem utilizar papel comum,
fotogrfico, pelcula, vegetal, auto-adesivos e lonas. 40
Unesp-Campus de Guaratinguet

UNIDADES DE ENTRADA E SADA

UNIDADE DE DISCO MAGNTICO FLEXVEL: Destinadas a


disquetes de alta densidade, dupla face e 3 1/2 polegadas de
dimetro (Disk Drive ou Drive)

LEITORA DE CDIGO DE BARRAS


Consistem basicamente em um foto-detector e um
decodificador, acondicionados em um dispositivo conhecido
como CANETA TICA, atravs da qual so fornecidas ao
computador as informaes contidas na etiqueta
H diversos mtodos de codificao de dados atravs de
barras: Todos se baseiam em sucesso de listras escuras de
largura varivel intercaladas por espaos claros, passvel de
ser interpretada por processos ticos
41
Unesp-Campus de Guaratinguet

UNIDADES DE ENTRADA E SADA

TELA SENSVEL AO TOQUE


Dispositivo de entrada que permite ao usurio
selecionar opes atravs de indicaes sobre o
vdeo, que se constituem um painel sensvel a
presses
Exemplo: caixa eletrnico da nossa caixa, no bloco III

42
Unidade Central de Processamento- CPU

A CPU quem executa as instrues


Instruo: comando que define integralmente uma operao
a ser executada
Programa: instrues ordenadas logicamente.
A CPU tem 2 unidades:
UNIDADE DE CONTROLE: determina a execuo e
interpretao dos dados que esto sendo processados
UNIDADE LGICA E ARITMTICA: recebe os dados da
memria para process-los quando uma instruo aritmtica
ou lgica executada

43
Unidade Central de Processamento

VELOCIDADE DE PROCESSAMENTO: costuma


ser expressa atravs de:
MIPS (milhes de instrues por segundo)
Ex: Pentium de 166 MIPS
MFLOPS ou MEGAFLOPS (milhes de
operaes de ponto flutuante por segundo)
Utilizada em sistemas onde h maior interesse
em aplicaes numricas (sistemas cientficos e
sistemas de computao grfica)

44
Software

O Software envolve um conjunto de:


1- INSTRUES que quando executadas produzem a
funo e o desempenho desejados
2- ESTRUTURAS DE DADOS que possibilitam que os
programas manipulem adequadamente a informao
3- DOCUMENTOS que descrevem a operao e o uso
dos programas

45
APLICAES DO SOFTWARE

SOFTWARE BSICO
Coleo de programas escritos para dar apoio a
outros programas
SOFTWARE DE TEMPO REAL
Software que monitora, analisa e controla eventos
do mundo real
SOFTWARE COMERCIAL
Sistemas de operaes comerciais e tomadas de
decises administrativas

46
APLICAES DO SOFTWARE

SOFTWARE CIENTFICO E DE ENGENHARIA


Caracterizado por algoritmos de processamento de
nmeros
SOFTWARE EMBUTIDO
Usado para controlar produtos e sistemas para os
mercados industriais e de consumo
SOFTWARE DE COMPUTADOR PESSOAL
Envolve processamento de textos, planilhas
eletrnicas, diverses, etc.

47
APLICAES DO SOFTWARE

SOFTWARE DE INTELIGNCIA ARTIFICIAL


Faz uso de algoritmos no numricos para
resolver problemas que no sejam favorveis
computao ou anlise direta.

48
3.3 CICLO DE VIDA DO SOFTWARE

O desenvolvimento do software compreende um


conjunto de etapas citadas como CICLOS DE VIDA
DE SOFTWARE
Essas etapas envolvem Mtodos, Ferramentas e
Procedimentos para a construo e manuteno do
software.
O ciclo de vida de software contm 3 fases
genricas: DEFINIO, DESENVOLVIMENTO e
MANUTENO

49
Ciclo de vida do software

DEFINIO O QUE

DESENVOLVIMENTO
COMO

MANUTENO ALTERAES

50
Etapas da Construo de Programas

Definio do Problema
DEFINIO (o que)

Projetar a Soluo
(ALGORITMO) Revises
Codificar a Soluo Documentao
DESENVOLVIMENTO
(como)
(Programar em Linguagem de
Computador)
Testar o Programa

51
Programao e Nveis de Linguagem

MEMRIA
Programa Fonte escrito
em Linguagem de Alto MEMRIA PRINCIPAL
ou Baixo Nvel

Programa Fonte escrito


em Linguagem de
Mquina

CPU
52
Programao e Nveis de Linguagem

LINGUAGEM DE MQUINA
- Uma CPU somente pode compreender instrues que
sejam expressas em termos de sua LINGUAGEM DE
MQUINA

- Um programa escrito em linguagem de mquina


consiste de uma srie de nmeros binrios e muito
difcil de ser entendido pelas pessoas.

Exemplo: Cada instruo constituda de 2 partes:


cdigo da operao operando
001 01010

53
Programao e Nveis de Linguagem

LINGUAGEM DE BAIXO NVEL

So linguagens de programao nas quais os


programas so escritos em uma notao que
est prxima da linguagem de mquina.

Exemplo:
cdigo da operao operando significado
LD A load A
MPI 5 multiplica 5

54
Programao e Nveis de Linguagem

LINGUAGEM DE ALTO NVEL (OU DE COMPILADORES)


So linguagens de programao nas quais se pode escrever
programas em uma notao prxima maneira natural de
expressar o problema que se deseja resolver
Exemplo:
RESULT = D-((A+B)/C)

Aplicaes Cientficas :
FORTRAN, ALGOL, BASIC, APL, LISP, PASCAL,
ADA, C, PROLOG, PLI

Aplicaes Comerciais:
COBOL, RPG, PLI

55
Do Algoritmo ao Programa
O algoritmo em linguagem humana deve ser codificado em uma
linguagem de programao. Depois gerado um programa em linguagem
de mquina para que o computador possa entender as instrues
fornecidas. Estgios:

# include <stdio.h>
main()
{ Compilador
printf(Hello World);
Editor
}
Programa-fonte: p1.c
Programa-objeto
(p1.o)
Programa-executvel
Ligador 1010
(p1.exe) 0101

Bibliotecas

Linguagens compiladas: C, C++, FORTRAN 56


Do Algoritmo ao Programa

# include <stdio.h>
main()
{ Interpretador
printf(Hello World);
Editor
}

Resultado da
execuo

Linguagens interpretadas: MATLAB, JavaScript

No ambiente de desenvolvimento, o programa interpretador compila o


programa-fonte, linha a linha. A sintaxe de cada comando verificada e,
se estiver correta, o comando executado. Em tais linguagens, a execuo
de programa , em mdia, dez vezes mais lenta que seu correspondente
compilado.
57
Do Algoritmo ao Programa

EDITOR: Ambiente onde os programas de computador


podem ser escritos.

COMPILADOR: Programa utilizado pelo computador para


traduzir os comandos simblicos de uma linguagem de alto
nvel, para linguagem de mquina.

LIGADOR: Programa utilizado pelo computador para traduzir os


comandos simblicos de uma linguagem de baixo nvel , para linguagem
de mquina.

INTERPRETADOR: L e executa uma declarao do programa por


vez. Nenhuma fase intermediria de compilao necessria. A execuo
do programa interpretado requer que o interpretador da linguagem
esteja sendo executado no computador.

58
1- O COMPUTADOR

FIM
AULA 1
Referncias dos slides
Curso de Programao de Computadores
Prof. Anbal Tavares
Profa. Cassilda Ribeiro
Prof. Dcio Mouro
Prof. Galeno Sena 59