Você está na página 1de 52

Introduo Cincia da Computao I

Prof. Cristiano Akamine akamine@mackenzie.com.br

O que um Computador?

Um computador um dispositivo capaz de executar clculos e tomar decises lgicas milhes de vezes mais rpidas do que podem os seres humanos.

baco Chins
Na medida em que os clculos foram se complicando e aumentando de tamanho, sentiu-se a necessidade de um instrumento que viesse em auxlio, surgindo assim h cerca de 2.500 anos o BACO. O baco chins possua 2 conjuntos por fio, contendo 5 contas no conjunto das unidades e 2 contas que representavam 5 unidades.

Soroban: O baco Japons


A variante do baco mais conhecida o SOROBAN, baco japons simplificado (com 5 contas por fio, agrupadas 4x1). Esse sistema de contas e fios recebeu o nome de calculi pelos romanos, dando origem palavra clculo.

Pascalina
Em 1642, Pascal cria a primeira mquina de calcular de que se tem notcia. Ela funcionava atravs de engrenagens mecnicas, e conseguia realizar somente a soma. A Pascalina, como ficou conhecida, foi a primeira calculadora mecnica do mundo. A comercializao de suas calculadoras no foi satisfatria devido a seu funcionamento pouco confivel, apesar de Pascal ter construdo cerca de 50 verses.

Nova Calculadora Mecnica

Em 1694, 52 anos depois, Gottfried Wilhelm von Leibniz aprimora o invento de Pascal, de tal forma que a nova "calculadora" mecnica j era capaz de realizar a multiplicao, alm da soma.

Arithmometer
Em 1820, Charles Xavier Thomas (1785-1870, conhecido como Thomas de Colmar, Paris - FR) projetou e construiu uma mquina capaz de efetuar as 4 operaes aritmticas bsicas (soma, subtrao, diviso e multiplicao): a Arithmometer. Esta foi a primeira calculadora realmente comercializada com sucesso. Ela fazia multiplicaes com o mesmo princpio de uma outra calculadora criada por Leibnitz e com a assistncia do usurio efetuava as divises.

Charles Babbage 1792-1871


O incio real do desenvolvimento dos computadores como os conhecemos hoje se deve a Charles Babbage, matemtico ingls que, em 1812. Segundo observou Babbage: As operaes matemticas repetitivas poderiam ser desenvolvidas com mais agilidade e confiabilidade pelas mquinas do que pelos homens.

Condessa Ada Lovelace A Primeira Programadora


Sua companheira, a condessa Ada Lovelace se tornou a primeira programadora de computador do mundo, ao ajudar Babbage no projeto de uma mquina analtica, que permitiria calcular funes matemticas bem mais complexas que as logartmicas.

Mquina das Diferenas de Babbage


Ada criou os programas para essa mquina, que no entanto nunca funcionou: as centenas de engrenagens, rodas e barras apresentavam problemas, pois a metalurgia na poca no tinha tecnologia suficiente para evitar imperfeies nas peas. Apesar disso, a estrutura do equipamento estava correta, e os computadores atuais ainda tm muito a ver com essa mquina (at pelo fato de nem sempre funcionarem como se previa...)
MQUINA ANALTICA DAS DIFERENAS DE BABBAGE

IBM Para Calcular o Censo


Em 1889, Herman Hollerith, inventor americano, e fundador da empresa que deu origem IBM, estava s voltas com um problema norte-americano: estava sendo realizado um censo demogrfico no pas, mas se temia pela quantidade de tempo necessrio para apurar todos os resultados desejados. Para piorar o caso, no censo realizado 10 anos antes, foram necessrios sete anos para se chegar aos resultados buscados. Por conta disso, acreditavase que, para este novo censo, seriam necessrios 10 anos de anlise

Hollerith
No entanto, com a mquina inventada por Hollerith, o resultado do censo foi apurado em apenas seis semanas. Alm da agilidade que conferiu ao processo, a mquina deste americano trazia consigo a idia de cartes perfurados para armazenar dados. Ou seja, os cartes perfurados tinham na poca uma funo parecida com a dos nossos disquetes, armazenar informaes (guardadas as devidas propores).

O primeiro computador eletromecnico, Versuchmodell 1 ou Z-1 Mas foi a partir da II Guerra Mundial
que o desenvolvimento dos computadores eletrnicos ganhou mais fora, quando os governos perceberam o potencial estratgico que estas mquinas ofereciam. O primeiro computador eletromecnico, o chamado Versuchmodell 1 ou Z-1, usava rels e foi construdo pelo alemo Konrad Zuse (1910-1995) em 1936. Zuze tentou vende-lo ao governo para uso militar, mas a princpio, foi subestimado pelos nazistas, que no se interessaram pela mquina

O MARK I
O computador nasceu ento com a II Guerra Mundial nos EUA, entre 1943 e 1944, A Marinha em conjunto com a Universidade de Harvard e a IBM desenvolveram o ASCC - Americam Automatic Sequence Controlled Calculator (Chamado de Mark I). Howard Aiken, um professor da Universidade de Haward, elabora o primeiro computador eletrnico, atravs do apoio do ento presidente da IBM Thomas Watson. Mark I era um gigante eletromagntico que ocupava 120 m, com milhares de redes e conseguia multiplicar nmeros de 10 dgitos em 3 segundos.

Colossus
Mais tarde, visto o potencial e o progresso do uso de mquinas mais sofisticadas pelos aliados, os alemes desenvolveram o Z-3. Pelo lado britnico, foi desenvolvido o Colossus, que, assim como o Z3, tambm usava vlvula. Esse computador foi criado com a finalidade de decifrar os cdigos secretos usados pelo exrcito alemo na II Grande Guerra. O interesse pela construo do primeiro computador foi grande, seu interesse inicial era militar. Alemanha e E.U.A disputavam uma acirrada corrida contra o tempo.

O Eniac - Integrador e Computador Numrico Eletrnico


O Eniac, como se chamava (sigla para Integrador e Computador Numrico Eletrnico, em ingls). Construdo em 1946, por John Mauchly e John Eckart Jr., ambos americanos. Tinha um metro e meio de altura e mais de 20 metros de comprimento, pesava trinta toneladas (30.000 Kg). No era muito inteligente, errava em vrias operaes, quebrava muito e raciocinava com lentido. Se voc pedisse para ele fazer uma conta de multiplicar, ele demorava onze segundos!.

O Eniac Incio do cdigo binrio!


Comeo da histria de zeros e uns (0 e 1), mais conhecida como cdigo binrio! O Eniac foi criado para ajudar a decifrar cdigos secretos, usados na Segunda Guerra. E ele s fazia isso graas s suas 18 mil vlvulas. Cada vlvula funcionava como um interruptor de luz, que ligava e desligava, soltando pequenas cargas eltricas. Se a vlvula ligasse, o computador entendia um 0 (zero). Se desligasse, era um 1 (um). O computador lia esses zeros e uns, e ia formando combinaes de nmeros, binrios. Ex:: (00111010111001)

Tipo de vlvula a vcuo utilizada pelo Eniac

EDVAC - Eletronic Discrete Variable Computer ou "Computador Eletrnico de Variveis Discretas


Planejado para acelerar o trabalho armazenando tanto os programas quanto os dados em sua expanso de memria interna. Os dados, ento, eram armazenados eletronicamente num meio material composto de um tubo cheio de mercrio, conhecido como linha de retardo , onde os cristais dentro do tubo geravam pulsos eletrnicos que se refletiam para frente e para trs, to lentamente quanto podiam, de fato a reter a informao, Outra grande caracterstica do EDVAC era poder codificar as informaes em forma binria em vez da forma decimal, reduzindo bastante o nmero de vlvulas

EDVAC - 1949 e seu inventor, o cientista ingls Maurice Wilkes, o primeiro computador operacional em grande escala capaz de armazenar seus prprios programas.

Em 1947, um grupo de Stanford inventa o Transistor


Usando elementos semicondutores, os transistores funcionam como chaves. Bem menores e mais rpidos, no esquentam, duram mais e consomem menos energia que as vlvulas. O desaparecimento das vlvulas aconteceu logo aps a descoberta dos transistores, o que resultou numa diminuio considervel nos tamanho das mquinas, As primeiras linguagens de programao tambm apareceram neste perodo. Ao decorrer dos tempos uma nova evoluo acontecia.
Aparecendo a multiprogramao, Memria atravs de semicondutores e discos magnticos, E os microprocessadores, que reduziram novamente o tamanho das mquinas.

TRANSSTOR

Em 1949, o EDSAC Eletronic Delay Storage Automatic Calculator


O EDSAC , ou sigla para "Calculadora Automtica com Armazenamento por Retardo Eletrnico", em ingls, marcou o ltimo grande passo na srie de avanos decisivos inspirados pela guerra. Apartir de ento comeou a "Era do Computador! e o ento, surgimento dos "sanduches de silcio!".

Em 1951 surge o Univac I

Em 1951 surge o Univac I, o primeiro computador produzido em escala comercial. As mquinas ainda eram muito grandes e pareciam os tradicionais eletrodomsticos.
Univac I

Tpica Central de Computadores na Dcada de 70


Nas dcadas de 60 e 70 os computadores ainda apresentavam aparncia bastante grande. Elementos semelhantes a armrios caracterizavam os computadores

No Ano 71 Comea a Aplicao dos Chips.


O primeiro microchip comercial foi lanado pela Intel em 1971 e chamava-se 4004, O ICLSI - Integrated Circuit Large Scale Integration, ou seja, "Circuito Integrado em Larga Escala de Integrao" ou Chip, Alguns tipos de IC LSI incorporavam at 300.000 componentes em uma nica pastilha.

INTEL 4004

Em 1977 surge o Apple II,


O primeiro computador parecido a esses que a gente tem em casa ou na escola apareceu em 1977. Era o Apple II, criado por um norte-americano chamado Steven Jobs, dono da empresa Apple (que faz toda a linha de computadores Macintosh)

Em 1981 a IBM lana o PC-5150


Em 1981 a IBM lana o PC-5150, o antecessor de todos os micros existentes atualmente. Tinha 64 Kbytes de memria e velocidade de 4,77 megahertz. O sistema operacional era MS-DOS. Foi o software utilizado pelo PC-5150, desenvolvido pela Microsoft, o que proporcionou uma aliana entre a IBM e a Microsoft. Ento foi lanado o primeiro computador porttil, o Osborne I

Osborne I

Os Computadores de Hoje

Organizao de Computadores
No importando da aparncia fsica, os computadores podem ser divididos em 6 unidades lgicas: Unidade de entrada; Unidade de sada; Unidade de memria; Unidade Aritmtica e Lgica; Unidade Central de Processamento; Unidade de armazenamento secundrio.

Unidade de entrada
Est a seo receptora, na qual os dados entram no computador atravs de dispositivos de entrada (teclado, mouse, microfone, scaner, etc) e coloca estas informaes disposio das outras unidades, de forma que as informaes possam ser processadas.

Unidade de entrada

Unidade de sada
Est a seo de expedio, na qual os dados processados so disponibilizados para fora do computador atravs de dispositivos de sada (monitor, impressora, alto-falante, etc).

Unidade de sada

Unidade de memria
Est a seo de armazenamento de acesso rpido, de capacidade relativamente baixa, do computador. Retm informaes que foram fornecidas atravs da unidade de entrada, sada, ULA, de forma que as informaes possam ser tornadas imediatamente disponveis para processamento quando forem necessrias. Est memria frequentemente chamada de memria RAM.

Unidade de Aritmtica e Lgica


Est a seo industrial do computador. Ela responsvel por executar clculos como adio, subtrao, multiplicao e diviso. Tambm realiza comparaes e decises lgicas.

Unidade Central de Processamento (CPU)


Est a seo administrativa do computador. Ela responsvel por controlar e supervisionar a operao de outras sees. Por exemplo, A CPU diz a unidade de entrada que deve ler o teclado, escreve a informao na unidade de memria, diz para a UAL realizar clculos e depois exibe o valor na unidade de sada.

Unidade Central de Processamento (CPU)

PENTIUM III PENTIUM II

CELERON 900Mhz

DURON

PENTIUM IV

Unidade de armazenamento secundrio


Est a seo de armazenamento de grande capacidade por longo prazo. Seu custo/velocidade relativamente baixo quando comparado com a memria primria (RAM). Exemplos: Hard-Disk, Flop-Disk, CD, Memria Flash, etc.

Unidade de armazenamento secundrio

Linguagens de Programao
Os programadores escrevem instrues em vrias linguagens de programao, algumas diretamente compreensveis pelo computador e outras que exigem passos de traduo intermediria. Centenas de linguagens de computador esto disponveis hoje em dia. Elas podem ser divididas em trs tipos: Mquina, Assembler e Alto Nvel.

Linguagem de Mquina
a linguagem natural dos computadores. Ela definida pelo projeto em hardware e seu alfabeto binrio formado por zeros e uns. A programao em linguagem de mquina exige grande conhecimento de eletrnica.

Linguagem Assembler
uma linguagem simblica que equivale a abreviaes ou palavras inglesas para representar operaes elementares da linguagem de mquina. Em resumo converte uma linguagem simblica para linguagem de mquina. Embora tal cdigo seja mais claro para as pessoas, ele incompreensvel para os computadores at ser traduzido para linguagem de mquina.

Linguagem de Alto Nvel


Para acelerar o processo de programao, foram desenvolvidas as linguagens de alto nvel, nas quais uma nica instruo realiza tarefas significativas. Programas tradutores chamados de compiladores convertem a linguagem de alto nvel para linguagem de mquina. A linguagem de alto nvel permite que programas sejam escritos com instrues que parecem com o idioma Ingls e contm notaes matemticas comumente usadas.

Fundamentos do ambiente de programao


Os sistemas de programao consistem geralmente em vrias partes: um ambiente de desenvolvimento de programas, a linguagem e bibliotecas; Os programas em C++ passam tipicamente por seis passos: Edio, Pr-processamento, Compilao, Ligao, Transferncia para memria e execuo.

Edio
Processo pelo qual um programa editado em um editor de texto.

Pr-processamento
O arquivo com o programa digitado processado (Incluso de arquivos, substituio do nome das variveis, etc).

Compilao
Traduo do programa para linguagem de mquina (Cdigo Objeto).

Compilao
Traduo do programa para linguagem de mquina (Cdigo Objeto .o).

Ligao (Linker)
Quando se utiliza bibliotecas, o cdigo objeto produzido pelo compilador contm tipicamente buracos devido a estas partes que esto faltando; Um editor de ligao, (linker) liga o cdigo objeto com o cdigo das funes que esto faltando.

Transferncia para memria


Antes de um programa ser executado, e primeiro lugar ele transferido para a memria RAM.

Execuo
Executa uma instruo de cada vez e cria um arquivo executvel (.exe).

Executar

Execuo
Console

Programao C/C++
Na dcada de 60 surgem as primeiras linguagens de programao:

Evoluo Linguagem C++


Basic

ALGOL 60 (60)
Algorithmic Language

CPL (63)
Combined Programming Language

BCPL (67)

B (70)

C (71)
Denis Ritchie

C++ (80)
Bjarne Stroustup

ALGOL 68 (68)

Você também pode gostar