Você está na página 1de 19

Introduo Programao

Captulo 1
Fernando Carreira
Joo Sabino

Histria da Computao
Primrdios

Mecnicos

Electromecnicos
Electrnica
(1 gerao)

baco
Mesopotnia (5.500 A.C.)
Utilizado na Babilnia, Egito, Grcia, Roma, ndia,
China, Japo, etc.
Nome romano: Calculus
Clculo de somas e subtraes
Multiplicaes e divises s em verses mais
complexas

Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

Histria da Computao
Primrdios

Rgua de Clculo
Pe. William Oughtred (1637 D.C.) - Inglaterra
Baseado nas propriedades dos logaritmos
descobertas por John Napier

Mecnicos

 Maior rapidez nas multiplicaes

Electromecnicos

Rgua possua muitos valores pr-calculados


Ponteiro indicava o valor desejado

Electrnica
(1 gerao)

Utilizada na 1 viagem do Homem Lua

Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

Histria da Computao
Primrdios

Mecnicos

Pascalina
Blaise Pascal (1642)
1 calculadora mecnica
Calculadora decimal

Electromecnicos
Electrnica
(1 gerao)

 Sistema de engrenagens com 10 dentes


 Engrenagem para unidades, dezenas, centenas,

Clculo de somas e subtraes

Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

Histria da Computao
Primrdios

Stepped Reckoner
Gottfried Wilhelm von Leibnitz (1642)
Clculadora baseada na Pascalina

Mecnicos

1 calculadora a realizar as 4 operaes aritmticas


Alterao no sistema de engrenagens permite a
multiplicao e a diviso

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)

Fernando Carreira e Joo Sabino

Histria da Computao
Primrdios

Gottfried von Leibnitz (1703)


Sistema com 2 digitos (0 e 1)

Mecnicos

Realizao de operaes aritmticas com o


sistema binrio

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)

Cdigo binrio

Teoria de Boole
George Boole (1854)
Representao de estados
 0 inactivo
 1 ativo

Operaes lgicas

Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

Histria da Computao
Primrdios

Charles Babbage (1822)


Artigo apresenta o 1 computador

Mecnicos

Electromecnicos

Mquina de Diferenas

 Operaes aritmticas, trignomtricas


 Memria, programao

Mquina analtica
Charles Babbage (1837)

Electrnica
(1 gerao)

1 computador
 Instrues e comandos
com cartes
 Preciso at 50 casas
dcimais

Electrnica
(2 gerao)
Electrnica
(3 gerao)

Arquitectura influenciou os
computadores modernos

Electrnica
(4 gerao)

Fernando Carreira e Joo Sabino

Histria da Computao
Primrdios

Mquina de Hollerith
Hermann Hollerith
 funcionrio do United States Census Bureau

Mecnicos

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)

Baseado no tear mecnico de Jacquard


Mquina de censos (USA) patenteada em 1887
 Cartes perfurados em sistema BCD (Binary Code Decimal)

Processamento passa de 7 (manual) para 2,5 anos


Hollerith fundou uma companhia Tabulating
Machine Company
 em 1924 associa-se a
outras empresas e passa a
chamar-se International
Business Machines (IBM)

Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

Histria da Computao
Primrdios

Z1
Konrad Zuze (1936)
1 computador electro-mecnico

Mecnicos

 Utiliza rels
 Dados lidos em fitas perfuradas

Electromecnicos

1 mquina programvel binria


 Memria para 64 nmeros
 Dados de 22 bits de virgula flutuante

Electrnica
(1 gerao)

Motor eltrico para gerar o clock mecnico de 1Hz


Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

Histria da Computao
Primrdios

Mecnicos

Vlvula terminica
Lee de Forest (1906)
Invlucro de vidro de alto vcuo
Intensidade de corrente flui com fluxo constante

Electromecnicos
Electrnica
(1 gerao)

Desvantagens




Grandes dimenses
Consumo de energia elevado
Tempo de vida curto (1000h)

Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

10

Histria da Computao
Primrdios

ENIAC (Eletronic Numeric Integrator And Calculator)


John Presper Eckert e John Mauchly (1946)
1 computador moderno

Mecnicos

 18.000 vlvulas, 180m2, 25m comp. , 5.5m altura, 30 toneladas


 500 multiplicaes por segundo
 Programa feito com ligao de fios elctricos num painel

Electromecnicos

Manuteno elevada
Electrnica
(1 gerao)

 Dezenas de vlvulas queimadas por hora (1 funcionrio)


 Complexo sistema de refrigerao (temp ambiente de 50C)

Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

11

Histria da Computao

Primrdios

Mecnicos

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)

Arquitectura de von Neumann


John von Neumann (1946)
Transformou os calculadores electrnicos em
crebros electrnicos
Sistema caracterizado por:
Sistema de comunicao central
Instrues armazenadas na memria
Dados armazenados na memria
Processar a informao diretamente da memria, ao invs
de se ler do carto perfurado
 Informao deve ser binria





Mquina composta por:


 Memria (MEM)
 Unidade de controle (UC)
 Unidade de clculos aritmticos
e lgicos (UAL)
 Dispositivos de Entrada e Sada
Fernando Carreira e Joo Sabino

12

Histria da Computao
Primrdios

Transistores
Bardeen, Brattain e Shockly (1947)
 Laboratrios Bell Telephone

Mecnicos

Prmio Nobel da Fsica em 1956


Transstores substituem as vlvulas

Electromecnicos







Electrnica
(1 gerao)
Electrnica
(2 gerao)

100 vezes menor


No requeria tempo para aquecimento
Menor consumo energtico
Mais rpido
Mais confivel

Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

13

Histria da Computao
Primrdios

1 computador da 2 gerao (1955)


Utilizao de transstores em vez de vlvulas

Mecnicos

 700 transistores
 10.000 diodos de germnio

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)

TRADIC (Transistor Digital Computer)

Velocidade de clock de 1MHz


Consumo: menos de 100w


Menos manuteno
17 componentes queimados
em 2 anos de sesso
contnua

Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

14

Histria da Computao
Primrdios

IBM 7030
Computador da 2 gerao (1961)
Utilizao de transstores em vez de vlvulas

Mecnicos

1 milho de operaes por segundo


Custava 13 milhes de dolares

Electromecnicos


Electrnica
(1 gerao)

MainFrames (computadores de 2 gerao)


Linguagens de programao:
 Fortran
 Cobol
 Algol

Electrnica
(2 gerao)

Criao de softwares
para MainFrames

Electrnica
(3 gerao)
Electrnica
(4 gerao)

Fernando Carreira e Joo Sabino

15

Histria da Computao
Primrdios

Mecnicos

BASIC
John Kemeny e Thomas Kurtz (1963)
Criada para fins didticos
Os oito princpios de projeto de BASIC foram:

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)

 Ser fcil, para ser utilizada por iniciantes


 Ser uma linguagem de programao de uso geral
 Permitir que especialistas adicionassem caractersticas
avanadas, sem tornar a linguagem mais complicada para os
iniciantes.
 Ser interativa
 Fornecer mensagens de erro claras e amigveis.
 Ter um rpido processamento em pequenos programas
 No exigir o conhecimento do hardware do computador
 Proteger o sistema operativo do utilizador

das linguagens de programao com maior


nmero de variantes
Fernando Carreira e Joo Sabino

16

Histria da Computao
Primrdios

Disco rgido (1956)


305 RAMAC
(Random Access Method of Accounting and Control)

Mecnicos

 IBM - Lanado a 16 setembro de 1957

Caratersticas

Electromecnicos







Electrnica
(1 gerao)
Electrnica
(2 gerao)

50 discos magnticos
50.000 setores (100)
Capacidade: 5MB
Dimenses:1.5 x1.7 x 0.7m
1 tonelada

Vantagens
 Memria no voltil
 Maior capacidade

Electrnica
(3 gerao)
Electrnica
(4 gerao)

Fernando Carreira e Joo Sabino

17

Histria da Computao
Primrdios

Chip (circuito integrado)


Jack Kilby (1958)
 Texas Instruments

Mecnicos

Electromecnicos
Electrnica
(1 gerao)

Placa de silcio com transistores e diodos


Vantagens
 Menor custo
 Maior desempenho
 Maior versatilidade

Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

18

Histria da Computao
Primrdios

IBM 360
Um marco nos computador da 3 gerao (1967)





Mecnicos

Electromecnicos

Discos
Fitas
Impresso em papel
Programao por microcdigo (operaes gravadas em
software)

Circuitos integrados para construo de placas

Electrnica
(1 gerao)

 Maior velocidade
 Menor custo

Electrnica
(2 gerao)

poca marcada por


maior preocupao
no hardware do que
no software

Electrnica
(3 gerao)

 Pouca software
 Baixa qualidade

Electrnica
(4 gerao)

Fernando Carreira e Joo Sabino

19

Histria da Computao
Primrdios

Mecnicos

Electromecnicos

Processador
Intel 4004 (1971)
1 Central Processing Unit (CPU)
 Processador de 4 bits
 Velocidade de 740 kHz
 Inclui memria e entradas e sadas

Placa de silcio com transstores


Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

20

10

Histria da Computao


Processadores
Modelo

Ano

Caracterstica distintiva

80286

1982

Comunicao a 16 bits

80386 DX

1985

Comunicao a 32 bits

80486 DX

1989

Integra coprocessador aritmtico

80486 DX2

1992

Duplica velocidade interna

Pentium

1993

Duplica as instrues por ciclo

Pentium Pro

1995

Maior performance para servidores de rede

Pentium MMX

1997

Tecnologia MultiMedia Extensions

Pentium II

1997

Integra pentium Pro e MMX

Celeron

1998

Variante de Pentium II de baixo custo

Pentium III

1999

Potencia capacidades graficas, adio e vdeo

Pentium 4

2000

Tecnologia HiperThreading
Fernando Carreira e Joo Sabino

21

Histria da Computao


Processadores
Modelo
Pentium M

Ano
2003

Pentium D
Celeron M
Core 2

2006

Ncleos

Caracterstica distintiva

Computadores portteis

Actividades grficas e multitarefa

Computadores portteis de baixo custo

1, 2 ou 4

Capacidade multitarefa

Atom

2008

Otimizao velocidade/consumo

Core i7

2008

Tecnologia multicore. Velocidade dos ncleos


variada

Core i3

2009

Acelerador grfico e comunicao com a


placa-me mais rpida

Core i5

2009

2 ou 4

Mais performance que i3. Duplica a


memria cache

Fernando Carreira e Joo Sabino

22

11

Histria da Computao


Processador
Atualmente caracterizado por:





Velocidade de processamento (n ciclos por segundo)


Nmero de bits na comunicao
Capacidade da memria interna (memria cache)
Funes de outros chips (grficos, chip7, etc.)

O CPU executa as seguintes funes:


 Clculo matemtico adies, subtraces, divises e multiplicaes. Por
vezes pode executar clculo com numero no inteiros.
 Move dados de uma
determinada posio de
memria para outra.
 Efectua decises no que
respeita ao tipo de processo
que est a decorrer e se
necessrio salta para
outro processo.
Fernando Carreira e Joo Sabino

23

Histria da Computao
Primrdios

Mecnicos

4 gerao
Caracterizada por:
 Utilizao de CPU
 Reduo de tamanho e preo
 Aumento da velocidade

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)

poca marcada por preocupao igual no hardware


e no software:
 Melhor integrao
 Mais diversidade
 Melhor qualidade

Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

24

12

Histria da Computao
Primrdios

Altair 8800
Um marco nos computador de 4 gerao (1975)
Menor dimenso (cabia em cima da mesa)
Maior velocidade
Processador Intel 8008
Utilizava cartes e fitas perfuradas
para entrada e sada de dados
 No tinha interface grfica
 Vendeu-se10x mais que o previsto





Mecnicos

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)

Bill Gates cria a linguagem de programao


Altair BASIC (1975)

Electrnica
(3 gerao)

 Variante do BASIC
 Produto que origina a Microsoft

Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

25

Histria da Computao
Primrdios

Microsoft

Ano

Acontecimento

1975

Fundao por Bill Gates e Paul Allen


Linguagem de programao Altair BASIC

1976

Microsoft FORTRAN para sistema operativo CP/M Control


Program/Microcomputer

1982

Adquire o Sistema Operativo QDOS e desenvolve o PC-DOS (para IBM) e MSDOS (para outros fabricantes)

1983

Microsoft Word para DOS

1985

Microsoft Windows 1.0

1990

OS/2 (em cooperao com a IBM para estaes de trabalho)

1995

Microsoft Windows 95 (sem necessidade de DOS)


Internet Explorer

1997

Compra o PowerPoint Presentation (com 236 cores)


Lana o Microsoft Excel

2000

Windows 2000 (sistema operativo para cooperao e empresas)

2001

Windows XP (sistema operativo sem arquitectura DOS)

2009

Windows 7 (melhor desempenho, ambientes grficos e touch, redes, multimdia, ...)

Mecnicos

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)

Fernando Carreira e Joo Sabino

26

13

Histria da Computao
Primrdios

Computadores Histricos
Apple 1(1976)
 Vendido em kit e montado pelo utilizador
 4Kb RAM
 Processador MOS 1MHz

Mecnicos

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

27

Histria da Computao
Primrdios

Apple
Ano

Mecnicos

Electromecnicos

Fundada por Steve Wozniak, Steve Jobs e Ronald Wayne

1976

Apple I (1 computador com monitor)

1983

Apple Lisa (1 computador a utilizar o mouse e interface


grfica)

1984

Macintosh (1 computador pessoal a popularizar a interface


grfica)
1 verso do sistema operativo Mac OS

2001

iPod (um dos primeiros players portteis de udio e vdeo


digital do mund)

2001

iTunes (aplicao para reproduzir e organizar arquivos de


msica e vdeo digitais)

2007

iPhone (telefone mvel com funes multimdia e internet e


comandos tteis)

2010

iPad (tablet que utiliza o SO do iPhone)

Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)

Acontecimento

1974

Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

28

14

Histria da Computao
Primrdios

Computadores Histricos
Sinclair ZX Spectrum (1982)






Mecnicos

Electromecnicos

8 bits
16/48 Kb RAM
Processador Zilog Z80A 3.5MHz
Tinha ligao a TV convencional
SO: Sinclair BASIC

Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

29

Histria da Computao
Primrdios

Mecnicos

Computadores Histricos
Commodore Amiga 600 (1992)
 32 bits
 2Mb RAM
 Processador Motorola 68EC020 14.32MHz

Electromecnicos
Electrnica
(1 gerao)
Electrnica
(2 gerao)
Electrnica
(3 gerao)
Electrnica
(4 gerao)
Fernando Carreira e Joo Sabino

30

15

Histria da Computao


Processadores

http://cache-www.intel.com/cd/00/00/40/17/401775_401775.pdf

Fernando Carreira e Joo Sabino

31

Arquitectura de Computadores


Comunicaes na Mother Board

Fernando Carreira e Joo Sabino

32

16

Sistema Operativo


Sistema Operativo
1 aplicao a ser executada quando se liga um computador
Faz a comunicao entre o utilizador e o hardware
composto por kernel e shell.
 Pode ser disponibilizado com algumas aplicaes (browser, desenho, edio
de texto, etc)
Aplicaes
(browser, desenho, antivirus, etc,)
Shell
(Aplicao de interface com o utilizador)
Kernel
(gesto de processos, memria e dispositivos
Hardware
(CPU, memria, dispositivos)
Fernando Carreira e Joo Sabino

33

Sistema Operativo
1,6%

Distribuio de SO a 8 de agosto de 2011


2,9%

1,2%

0,7% 0,2% 0,1%

8,7%
35,7%
10,3%

33,8%

Windows XP
Windows 7
Windows Vista
Apple OS X
Apple iOS
Linux
Android
BlackBerry
SymbianOS
Windows 2000

Fonte: http://www.w3counter.com
Fernando Carreira e Joo Sabino

34

17

Sistema Operativo


Computao em Nuvem (Cloud Computing)


Acesso a aplicaes, armazenamento de dados acedidos
remotamente (recurso internet)
Requisitos mnimos do computador:
 Hardware
 Sistema operativo
(kernel e shell)
 Servio de internet
 Browser

Vantagens





Independente do SO
Atualizaes automticas
Trabalho cooperativo
Menos recursos de hardware

Requer ligao internet


 Custos de ligao associados

PC s com Cloud Computing


 Google Chrome OS
Fernando Carreira e Joo Sabino

35

Linguagens de Programao


Linguagens de baixo nvel


Existe muito pouca (ou no existe mesmo) abstraco em
relao ao microprocessador para o qual se est a programar.
Compreende caractersticas da
arquitetura do computador
Utiliza instrues do processador
Linguagem mquina (1 gerao)
 nica linguagem que um microprocessador
pode entender (nativamente)
 Linguagem binria (0 e 1)

Assembly (2 gerao)
 embora no seja uma linguagem nativa do
microprocessador, um programador que use
a linguagem Assembly tem que compreender
as caractersticas da arquitectura
do microprocessador.

Load R1, 10
Load R2, 200
Addi R1, R2
Store R2, L1

Fernando Carreira e Joo Sabino

36

18

Linguagens de Programao


Linguagens de alto nvel


Nvel de abstrao (ao hardware) relativamente elevado
Longe do cdigo mquina e mais prximo linguagem humana
No necessrio conhecer as caratersticas do processador
Exemplos de linguagens de alto nvel









ASP
C/C++
C#
Pascal/Object Pascal
Java
MATLAB
PHP
Basic/Visual Basic

v1 = input(Introduza o valor 1: );
v2 = input(Introduza o valor 2: );
soma = v1 + v2;
disp(soma)

Fernando Carreira e Joo Sabino

37

Linguagens de Programao


MatLab (MATrix LABoratory)


 Criada no fim dos anos 1970 por Cleve Moler
 Presidente do departamento de cincias da computao da Universidade do Novo Mxico

 1984 fundao da MathWorks (Cleve Moler e Steve Bangert)


 Inicialmente aplicado a Engenharia de Controlo de Sistemas

Aplicaes:
 Clculo matricial
 Construo de grficos
 Processamento de sinais (sonares, camaras, etc)

Vantagens
 Eficincia no clculo matricial e vetorial
 Fcil criao de grficos cientficos e de engenharia
 Grande nmero de Toolboxes
 grficos, viso, realidade virtual, robtica, estatstica, etc

 Extensibilidade (construo de Toolboxes)


 Utilizado por uma grande comunidade (essencialmente I&D)
 60 milhes de entradas a partir do Google (25-set-2011)
Fernando Carreira e Joo Sabino

38

19

Você também pode gostar