Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9 - 24/09/2007 1 Ementa • • • • • • • • • • • • • • Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e páginas dinâmicas Números e expressões em Javascript Formulários em HTML Histórico dos Computadores Abstração e Funções Algoritmos e linguagens de programação Programação orientada a eventos Ciência da computação como disciplina Execução condicional Representação de dados Computação e sociedade Aula 9 - 24/09/2007 2 Histórico dos Computadores Objetivo: entender como foi a descoberta do computador e a sua evolução no decorrer do tempo Aula 9 - 24/09/2007 3 Ancestrais do Computador • Ábaco – É um instrumento digital de cálculo, feito de contas que deslizam em arames. – Inventado na Babilônia, hoje Iraque, por volta de 2400 A.C. – Também usado na antigüidade pelos chineses, romanos, gregos e astecas. O soroban - ábaco japonês - é utilizado até hoje na Ásia. – Inicialmente era usado para registrar valores, somar e subtrair. – Posteriormente, foram inventados métodos para multiplicação, divisão, extração de raízes e representação de números decimais. – O ábaco em si é um “hardware”, os procedimentos padrão para realizar cada operação são o “software”. – A entrada de dados é feita através do posicionamento das contas e a saída é feita através da leitura da posição final das contas. Aula 9 - 24/09/2007 4 Ancestrais do Computador • Régua de cálculo – É um instrumento analógico de cálculo, baseado no uso de escalas logarítmicas em réguas, sendo normalmente duas fixas e uma que desliza. – Inventada em 1621 pelo matemático inglês William Outgred, a régua de cálculo continuou sendo usada por cientistas e engenheiros até a década de 1970. – Inicialmente usada para multiplicar e dividir, mais tarde foram inventadas réguas para exponenciação, cálculo de logaritmos, extração de raízes e operações trigonométricas. – A régua é em si é um “hardware”, os procedimentos padrão para realizar cada operação são o “software”. – A entrada de dados é feita através do posicionamento das réguas e a saída é feita através da leitura da régua. Aula 9 - 24/09/2007 5 Gerações de Computadores Aula 9 - 24/09/2007 6 Geração 0: Computadores Mecânicos (1642-1945) • O século XVII foi um período de grande avanço científico (iluminismo). – Galileo, Kepler, Fermat, Leibniz, Boyle e Newton criaram os fundamentos da ciência moderna através da definição de um método de investigação científica. – Devido ao aumento de interesse em ciência e matemática e ao desenvolvimento da mecânica, as primeiras calculadoras mecânicas foram inventadas. Aula 9 - 24/09/2007 7 Geração 0: Computadores Mecânicos (1642-1945) • Em 1623, Wilhelm Schikard projetou e construiu a primeira máquina de calcular mecânica. – Ela somava e subtraía números de até 6 digitos, através de um sistema de rodas dentadas. – A máquina foi perdida e só redescoberta em 1935. • Em 1642, Blaise Pascal projetou uma máquina de calcular também baseada em rodas dentadas. – Ela somava e subtraia números de até 8 digitos. – Foram construídas 50 dessas máquinas. Aula 9 - 24/09/2007 8 Geração 0: Computadores Mecânicos (1642-1945) • Em 1672, Leibniz expandiu o projeto de Pascal para construir uma calculadora mecânica que somava e multiplicava. • Inicialmente, a produção de calculadoras mecânicas era difícil por problemas de precisão na manufatura das peças. • Somente no século XIX, foi possível a produção em massa de tal forma que as calculadoras começaram a ser usadas no comércio e em laboratórios. – Em 1820, Charles Thomas de Comar idealiza e vende mais de 1500 unidades da Arithmometer, uma versão da calculadora de Leibniz. Aula 9 - 24/09/2007 9 Geração 0: Computadores Mecânicos (1642-1945) • A primeira máquina programável não foi uma calculadora e sim um tear. – Em 1801, Joseph Marie Jacquard inventou um sistema de controle de máquinas de tecelagem baseado em cartões perfurados. – A capacidade de se mudar o padrão do tecido através de um código nos cartões faz esses teares serem considerados máquinas programáveis. – Cartões perfurados são um dispositivo de entrada de dados, que mais tarde foram usados em computadores. Aula 9 - 24/09/2007 10 Geração 0: Computadores Mecânicos (1642-1945) • A máquina diferencial – Em 1822, Charles Babbage anuncia uma máquina capaz de computar valores de funções polinomiais, através do método de diferenças de Newton. – A máquina não chegou a funcionar de forma satisfatória por causa de problemas nas engrenagens. Em 1991, ela foi reconstruída e funcionou perfeitamente. – Babbage também projetou a máquina analítica, o primeiro projeto de um computador de propósito geral, que usava cartões perfurados para armazenar os dados de entrada e o programa. Ada Lovelace chegou a escrever programas para essa máquina e hoje é considerada a primeira programadora. Aula 9 - 24/09/2007 11 Geração 0: Computadores Mecânicos (1642-1945) • Em 1880, Hermann Hollerith, baseado nas idéias de Babbage e Jacquard, constrói uma máquina de tabulação, que é usada no censo norte-americano de 1890. • Usava cartões perfurados como entrada e saída. – Cada perfuração correspondia a alguma informação como idade, sexo e cidade. – Os programadores escolhiam uma combinação de características e a máquina separava e contava os cartões. • Em 1896, Hollerith funda a Tabulating Machine Company, que mais tarde se transforma na IBM depois de sua associação com Watson. Aula 9 - 24/09/2007 12 Geração 0: Computadores Mecânicos (1642-1945) • Na década de 1930 foi inventado o relay eletromagnético. – É uma chave mecânica que controla a passagem de eletricidade por um fio. – É formado por um imã ligado a um braço de metal. – Quando a corrente é aplicada ao fio de controle, o campo magnético do imã atrai o braço de metal, de tal forma que corrente possa passar pelo relay. • Através da combinação de relays é possível implementar uma lógica complexa. Aula 9 - 24/09/2007 13 Geração 0: Computadores Mecânicos (1642-1945) • O engenheiro alemão Konrad Zuse construiu o primeiro computador baseado em relays no fim da década de 1930. – Porém seu trabalho foi destruído no final da Segunda Guerra e não influenciou outros. • No mesmo período John Atanasoff (Iowa State University) e George Stibitz (Bell Labs) independentemente projetaram e construíram computadores baseados em relays. Aula 9 - 24/09/2007 14 Geração 0: Computadores Mecânicos (1642-1945) • Em 1940, Howard Aiken (Harvard) contruiu o computador Mark I se baseando nos projetos de Babbage, mas utilizando relays. • O Mark I era 100 vezes mais rápido do que outros computadores da época. • Características do Mark I: – Podia executar uma sequência de operações matemáticas. – Podia guardar 72 números na memória. – Tempo de execução: • Adição: 0.1 segundos • Multiplicação: 6 segundos • Divisão: 12 segundos Aula 9 - 24/09/2007 15 Gerações de Computadores Aula 9 - 24/09/2007 16 Geração 1: Válvulas a vácuo (1945-1954) • Apesar de serem mais rápidos do que engrenagem, os relays ainda fechavam e abriam mecanicamente. – Logo a velocidade ficava limitada pela inércia. • Os relays também quebravam facilmente. – O primeiro “bug” de um computador foi causado por uma mariposa que ficou presa em um relay do Mark II. • Durante a década de 1940, os relays foram substituídos por válvulas a vácuo. – Tubos em que elétrons podem se mover livremente sem a interferência de moléculas de gás. – Quando corrente é aplicada ao filamento, os elétrons formam uma ponte que permite a passagem de eletricidade. – Tem a mesma funcionalidade que os relays, mas são 1000 vezes mais rápidos. Aula 9 - 24/09/2007 17