You are on page 1of 51

1- O COMPUTADOR

Unesp – Campus de Guaratinguetá

Curso: Programação de Computadores


Prof. Aníbal Tavares
Profa. Cassilda Ribeiro

PDF created with pdfFactory trial version www.pdffactory.com


1.1 Histórico

2
5000 AC – O Ábaco
5000 500 50 5
Valem 5 27
unidades
=
Valem 1 20+7
unidade
5000 500 50 5

1000 100 10 1
n Instrumento construído
de contas móveis se
movimentando em eixos.
n A informação está nas
contas. 1000 100 10 1 4
Operações 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 5
1642 – Pascalina: a máquina de Blaise Pascal

Blaise Pascal

0 9
dezena unidade + 1
1 ciclo = 10 ciclos 1 0
http://woodgears.ca/gear_cutting/template.html 6
1801 - O Tear Programável

Joseph-Marie Jacquard

7
Funcionamento do Tear

n Os desenhos eram
cifrados em cartões
de papel perfurado.

n Somente trabalhavam
as agulhas
coincidentes com os
furos.

n As instruções estão codificadas nos cartões


8
1822 – A Máquina Diferencial

Charles Babbage

Calcularia funções trigonométricas e logarítmicas, usando os


cartões de Jacquard. Construção difícil e cara para a época.
9
A Primeira Programadora

n 1833 - Babbage projetou uma máquina


bastante aperfeiçoada - Máquina Analítica.
n Podia ser programada através de cartões
perfurados de Jacquard utilizando comandos
como Se...então e Enquanto.
n Calculava várias funções matemáticas.
n "Podemos dizer mais convenientemente que a
Máquina Analítica tece padrões algébricos,
assim como o tear de Jacquard tece flores e
folhas" . Ada Lovelace. Ada Lovelace
n Devido à tecnologia pouco avançada, a máquina
não foi concluída. Somente um século depois suas
idéias foram postas em prática.
n www.fourmilab.ch/babbage/contents.html
10
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 não estivessem
processados em 1900.

Herman Hollerith (estatístico):

Foi encarregado pela Agência Estatística


dos EUA de desenvolver uma técnica
para acelerar o processamento dos dados
do censo.
11
1880 – A Tabuladora Hollerith
Hollerith usou a idéia de Os dados eram perfurados em cartões
Jacquard e construiu a que podiam ser classificados por meio
Perfuradora de Cartões. de pinos que passavam pelos furos.

O processamento das
Informações levou 3 anos.

n Observação: A empresa de Hermann Hollerith era a Tabulating


Machine Company. Em 1911, ele juntou-se com outras 3 empresas e
fundou a IBM.
12
1936 – A Máquina de Turing

Tear
Programável

n Turing imaginou uma máquina que poderia


efetuar de forma automática os processos Alan Turing
geralmente desenvolvidos por um matemático.
Para cada processo, haveria uma máquina: Máquina
uma para somar, outra para dividir, uma
terceira para calcular integrais, e assim por Teórica
diante. A máquina de Turing, nome pela qual
ela ficou conhecida, jamais foi construída.
13
Importância da Máquina de Turing
n Um tempo depois, Turing descobriu que era possível
desenhar um aparelho "universal" que tivesse condições de
realizar tudo o que as máquinas especializadas podiam
fazer, desde que fossem programadas para tal. Assim,
Turing elaborou a Teoria dos computadores programáveis

14
Funcionamento da Máquina de Turing
n Dispositivos: Entrada, n O movimento da máquina de
Saída, Memória de trabalho. Turing depende do símbolo lido
n Fita: é dividida em células, e do estado do controle finito.
cada uma contendo um Dependendo destes estados a
máquina pode:
símbolo.
(1) Trocar de Estado.
n Símbolos: Alfabeto de (2) Gravar um símbolo.
entrada, Alfabeto auxiliar,
Branco. (3) Mover o cabeçote de leitura.
n Unidade de controle: se
comunica com a Fita por
uma cabeça simples que lê
e/ou altera símbolos da lista.

n http://ironphoenix.org/tril/tm/ 15
1937 - Lógica Booleana e Circuitos Elétricos

n Em 1847 é publicado o livro “The Mathematical


Analysis of Logic” que introduz a Álgebra Booleana. Três
operadores E, OU e NÃO (AND, OR, NOT) são as únicas
operações necessárias para efetuar comparações ou as
quatro operações aritméticas base.
George Boole

Em 1937, Claude Shannon: Há uma correspondência de um-para-um


entre circuitos elétricos e funções booleanas. Para toda e qualquer função
booleana é possível desenvolver um circuito eletrônico e vice-versa.

16
Componentes Básicos do Computador

ØHARDWARE: Toda parte física do computador.


É o equipamento propriamente dito.
Inclui: circuitos eletrônicos, gabinete, fonte de
energia, cabos, teclado, mouse, etc.

ØO SOFTWARE: Constituído pelos programas


que permitem atender às necessidades do
usuário

17
Composição do Hardware

MEMÓRIA

MEMÓRIA AUXILIAR
UNIDADES
FUNCIONAIS
BÁSICAS
MEMÓRIA PRINCIPAL

UNIDADE DE UNIDADE DE
UNIDADE DE CONTROLE
ENTRADA SAÍDA

UNIDADE LÓGICA E
ARITMÉTICA

CPU

18
A Memória do Computador

ØA memória do computador é dividida em


unidades pequenas (caixinhas) e de mesmo
tamanho, chamadas PALAVRAS. Cada
PALAVRA tem um único endereço

ØOs endereços são permanentes (vêm da


fábrica) e não podem ser modificados pelo
programador

19
A Memória do Computador

Memória de Tamanho “n” Endereço

00 Palavra 1
Capacidade da memória
01 Palavra 2
X
02 Palavra 3
Espaço “endereçável” 03 Palavra 4
... ...
n Palavra n-1

20
A Memória 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
endereço 00 01 02 03 04 05 06 07
endereço 00 04

21
A Memória do Computador

ØBYTE (binary term) : Unidade básica da informação. O


byte é composto por 8 BITS

ØBIT (binary digit) - dígitos binários

BYTE
bit bit bit bit bit bit bit bit

22
Representação da Informação

ØOs computadores armazenam as informações e


fazem todo seu tratamento baseado em fenômenos
sobre sistemas biestáveis

ØOs símbolos básicos usados para representar os dois


estágios são o 0 e o 1 (dígitos binários)

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 NÚMERO BINÁRIO?

23
A memória do computador

Sistema de numeração binária


ØÉ um sistema de numeração posicional (o valor de
um dígito é dado pela sua posição no número)

ØNo sistema decimal, o número 2562 tem a seguinte


interpretação:
2 x 1000 (103) = 2000
5 x 100 (102) = 500
6 x 10 (101) = 60
2 x 1 (100) = 2
24
A memória do computador

ØNo sistema binário de numeração a base é 2.


ØAssim o valor do número 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

25
A memória do computador

ØInterligando todas as partes do computador,


existem fios por onde “circulam”os 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
26
A memória do computador

A memória é dividida em camadas:


–memória auxiliar
–memória principal
–memória cache

27
Unesp-Campus de Guaratinguetá
A Memória do Computador

MEMÓRIA
UNIDADES
FUNCIONAIS MEMÓRIA AUXILIAR
BÁSICAS

MEMÓRIA PRINCIPAL

MEMÓRIA CACHE
UNIDADE DE UNIDADE DE
ENTRADA UNIDADE DE CONTROLE
SAÍDA
UNIDADE LÓGICA E
ARITMÉTICA
28
CPU
Unesp-Campus de Guaratinguetá

A MEMÓRIA DO COMPUTADOR

A memória é dividida em camadas:

• memória cache
MEMÓRIA CACHE
• memória principal
• Camada mais próxima do processador
•• Funcionamento
memória auxiliar
muito rápido
• Alto custo
• Pequena, devido ao custo
29
Unesp-Campus de Guaratinguetá

A MEMÓRIA DO COMPUTADOR

A memória é dividida em camadas:

• memória cache
MEMÓRIA PRINCIPAL
• memória principal
• Dados que não cabem na memória cache residem
• memória auxiliar
na memória principal
• Mais lenta
• Maior que a cache
• Custo inferior a cache
30
Unesp-Campus de Guaratinguetá
A MEMÓRIA DO COMPUTADOR

Tipos de memória principal:


– RAM (Random Access Memory): Programas e dados
em uso em um dado momento. Volátil.
– ROM (Read Only Memory): Celulares, Calculadoras
– PROM (Programmable ROM): Não se apaga
– EPROM (Eraseble PROM): Radiação Ultravioleta
– EEPROM (Electrically Eraseble ROM): Eletricamente

31
Unesp-Campus de Guaratinguetá

A MEMÓRIA DO COMPUTADOR

MEMÓRIA AUXILIAR
A memória (discosem
é dividida magnéticos)
camadas:
• Armazenam

os dados que não cabem na memória
memória cache
principal.
• memória principal
• Podem reter grande quantidade de dados.
• memória auxiliar
• Os dados não são perdidos quando o computador
é desligado.
• Funcionamento muito lento.
32
Unesp-Campus de Guaratinguetá

A MEMÓRIA DO COMPUTADOR

MEMÓRIA AUXILIAR (discos magnéticos)


A memória é dividida em camadas:
Dois tipos de disco:
• memória
1- DISCOS cache Winchesters, Hard Disk, Disquetes,
MAGNÉTICOS:
Pendrive.
• memória principal

• memória auxiliar
2 - DISCOS ÓTICOS : CD-ROM, erasable CD (CDRW)

Os dados e programas devem primeiro ser transferidos


para a memória principal antes de serem processados

33
Unesp-Campus de Guaratinguetá

A MEMÓRIA DO COMPUTADOR

O PORTE do computador depende de:


• componentes (essência da memória e do processador)
• arquitetura,
• periféricos e
• software básico.
ØO tamanho da memória principal é um dos indicadores
do porte do computador
ØUnidade de medida: byte
34
Unesp-Campus de Guaratinguetá

A MEMÓRIA 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

35
Unesp-Campus de Guaratinguetá

Unidades de Entrada e Saída

MEMÓRIA
UNIDADES
FUNCIONAIS MEMÓRIA AUXILIAR
BÁSICAS

MEMÓRIA PRINCIPAL

UNIDADE DE UNIDADE DE
UNIDADE DE CONTROLE
ENTRADA SAÍDA

UNIDADE LÓGICA E
ARITMÉTICA

CPU 36
Unesp-Campus de Guaratinguetá

UNIDADES DE ENTRADA E SAÍDA

MONITORES DE VÍDEO

Tubo de Raios Catódicos Monitor de Cristal Líquido

IMPRESSORAS

Matricial Jato de Tinta Laser

TECLADOS

37
Unesp-Campus de Guaratinguetá

UNIDADES DE ENTRADA E SAÍDA

CD-ROM (Compact -
Disk Read -Only Memory)
• Caracterizada pelo uso de
técnicas ó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 informações sob forma de
sinais digitais, em arquivos. 38
Unesp-Campus de Guaratinguetá

UNIDADES DE ENTRADA E SAÍDA

PLOTTER
• É uma impressora capaz de imprimir desenhos em grandes
dimensões com elevada qualidade e rigor, como por exemplo,
plantas arquitetônicas, mapas cartográficos, projetos de
engenharia e grafismo. Podem utilizar papel comum,
fotográfico, película, vegetal, auto-adesivos e lonas. 39
Unidade Central de Processamento - CPU

q A CPU é quem executa as instruções


• Instrução: comando que define integralmente uma operação
a ser executada
• Programa: instruções ordenadas logicamente.
q A CPU tem 2 unidades:
• UNIDADE DE CONTROLE: determina a execução e
interpretação dos dados que estão sendo processados
• UNIDADE LÓGICA E ARITMÉTICA: recebe os dados da
memória para processá-los quando uma instrução aritmética
ou lógica é executada

40
Unidade Central de Processamento

VELOCIDADE DE PROCESSAMENTO: costuma


ser expressa através de:
• MIPS (milhões de instruções por segundo)
Ex: Pentium de 166 MIPS
• MFLOPS ou MEGAFLOPS (milhões de
operações de ponto flutuante por segundo)
Utilizada em sistemas onde há maior interesse
em aplicações numéricas (sistemas científicos e
sistemas de computação gráfica)

41
Software

O Software envolve um conjunto de:


1- INSTRUÇÕES que quando executadas produzem a
função e o desempenho desejados
2- ESTRUTURAS DE DADOS que possibilitam que os
programas manipulem adequadamente a informação
3- DOCUMENTOS que descrevem a operação e o uso
dos programas

42
CICLO DE VIDA DO SOFTWARE

FO desenvolvimento do software compreende um


conjunto de etapas citadas como CICLOS DE VIDA
DE SOFTWARE
FEssas etapas envolvem Métodos, Ferramentas e
Procedimentos para a construção e manutenção do
software.
FO ciclo de vida de software contém 3 fases
genéricas: DEFINIÇÃO, DESENVOLVIMENTO e
MANUTENÇÃO

43
Ciclo de vida do software

DEFINIÇÃO O QUE

DESENVOLVIMENTO
COMO

MANUTENÇÃO ALTERAÇÕES

44
Etapas da Construção de Programas

Definição do Problema
DEFINIÇÃO (o que)

• Projetar a Solução
(ALGORITMO) Revisões
• Codificar a Solução Documentação
DESENVOLVIMENTO
(como)
(Programar em Linguagem de
Computador)
• Testar o Programa

45
Programação e Níveis de Linguagem

MEMÓRIA
Programa Fonte escrito
em Linguagem de Alto MEMÓRIA PRINCIPAL
ou Baixo Nível

Programa Fonte escrito


em Linguagem de
Máquina

CPU
46
Programação e Níveis de Linguagem

q LINGUAGEM DE MÁQUINA
- Uma CPU somente pode compreender instruções que
sejam expressas em termos de sua LINGUAGEM DE
MÁQUINA

- Um programa escrito em linguagem de máquina


consiste de uma série de números binários e é muito
difícil de ser entendido pelas pessoas.

Exemplo: Cada instrução é constituída de 2 partes:


código da operação operando
001 01010

47
Programação e Níveis de Linguagem

q LINGUAGEM DE BAIXO NÍVEL

São linguagens de programação nas quais os


programas são escritos em uma notação que
está próxima da linguagem de máquina.

Exemplo:
código da operação operando significado
LD A load A
MPI 5 multiplica 5

48
Programação e Níveis de Linguagem

q LINGUAGEM DE ALTO NÍVEL (OU DE COMPILADORES)


São linguagens de programação nas quais se pode escrever
programas em uma notação próxima à maneira natural de
expressar o problema que se deseja resolver
Exemplo:
RESULT = D-((A+B)/C)

Aplicações Científicas :
FORTRAN, ALGOL, BASIC, APL, LISP, PASCAL,
ADA, C, PROLOG, PLI

Aplicações Comerciais:
COBOL, RPG, PLI

49
Do Algoritmo ao Programa
n O algoritmo em linguagem humana deve ser codificado em uma
linguagem de programação. Depois é gerado um programa em linguagem
de máquina para que o computador possa entender as instruções
fornecidas. Estágios:

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

Bibliotecas

Linguagens compiladas: C, C++, FORTRAN 50


Do Algoritmo ao Programa

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

Resultado da
execução

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 execução
de programa é, em média, dez vezes mais lenta que seu correspondente
compilado.
51
Do Algoritmo ao Programa

q EDITOR: Ambiente onde os programas de computador


podem ser escritos.

q COMPILADOR: Programa utilizado pelo computador para


traduzir os comandos simbólicos de uma linguagem de alto
nível, para linguagem de máquina.

q LIGADOR: Programa utilizado pelo computador para traduzir os


comandos simbólicos de uma linguagem de baixo nível , para linguagem
de máquina.

q INTERPRETADOR: Lê e executa uma declaração do programa por


vez. Nenhuma fase intermediária de compilação é necessária. A execução
do programa interpretado requer que o interpretador da linguagem
esteja sendo executado no computador.

52

You might also like