Fundamentos da Computação Prof. Ricardo Salvino Casado FATEC-ID HISTÓRICO E EVOLUÇÃO DA COMPUTAÇÃO • Ábaco – Utilizado na antiguidade (do Egito a China) por comerciantes para fazer operações aritméticas – O ábaco utilizava fios para realizar as contas e representar os números (dados) e seguia as regras de adição, subtração, etc – Continuou sendo usado até a invasão das calculadoras de bolso (4000 anos de uso). HISTÓRICO E EVOLUÇÃO DA COMPUTAÇÃO EXEMPLO COM ÁBACO • O ábaco (que estaremos utilizando neste exemplo) é formado por 8 colunas divididas em duas partes: inferior e superior. • Cada coluna possui 9 pedras. • As pedras dispostas na parte superior representam um banco de dados. • As pedras dispostas na parte inferior representam um valor numérico (neste caso 543). EXEMPLO COM ÁBACO EXEMPLO COM ÁBACO • Note que da esquerda para a direita, cada coluna representa uma potência de base 10. • Temos as colunas das unidades, dezenas, centenas, etc. • O valor zero é representado pela ausência de pedras na respectiva coluna inferior. EXEMPLO COM ÁBACO • Inicialmente represente o valor A no ábaco. • Em seguida, acrescente em cada uma das colunas, o número de pedras necessários para formar o valor B. • Caso não existam pedras suficientes em uma determinada coluna, acrescente uma pedra na coluna seguinte, e remova da coluna anterior o número de pedras que foi acrescido em excesso. EXERCÍCIO COM O ÁBACO • FAÇAM A SOMA DE 27 + 5! • RESULTADO??? RESOLUÇÃO EX. ÁBACO – Primeiramente, colocamos o valor 27 na coluna inferior. – Como não é possível somar o valor 7 ao valor 5 (só há duas pedras restantes na primeira coluna), colocamos mais uma na coluna seguinte. RESOLUÇÃO EX. ÁBACO – Entretanto, ao colocarmos mais uma pedra na segunda coluna, estamos na realidade somando mais 10 ao valor 27. – Isto significa que somamos 5 unidades em excesso. RESOLUÇÃO EX. ÁBACO – Desta forma, estas cinco unidades adicionais – precisam ser retiradas da primeira coluna. – Após a remoção do excesso, temos o resultado desejado, que é 32. TEAR DE JACQUARD • Tear inventado por Jacquard no século XIX em 1801 que podia ser programado com cartões perfurados. E estes cartões controlavam o padrão do tecido no material. • Responsável pela automatização da indústria têxtil. TEAR DE JACQUARD MÁQUINA DE DIFERENÇAS DE BABBAGE • Foi um projeto não finalizado (1822 – 1832) de uma máquina baseada em engrenagens similares aos mecanismos de um relógio • Se funcionasse, a máquina calcularia tabelas matemáticas (raízes de polinômios) e imprimiria os resultados (em uma placa de cobre) • Ao custo de 1 milhão de dolares, foi construída em 1991 uma máquina de diferenças no museu de ciências de Londres. MÁQUINA DE DIFERENÇAS DE BABBAGE MÁQUINA ANALÍTICA DE CHARLES BABBAGE (1837) • Plano de um computador mecânico de propósito geral, que empregava cartões perfurados para entrada (dados) e utilizava-se de vapor para fornecer energia para o funcionamento. • Possuía quatro componentes: – Memória (1000 palavras de 50 dígitos decimais) – Unidade Processadora (lia, gravava na memória e realizava operações aritméticas) – Unidades de entrada e saída (cartões perfurados) MÁQUINA ANALÍTICA DE CHARLES BABBAGE (1837) • Linguagem de programação às linguagens de máquinas modernas (com laços e condições). • Planos corretos, mas falta de precisão da tecnologia mecânica da época fizeram com que o projeto nunca fosse implementado. • Babbage, gastou grande parte de sua fortuna neste projeto, terminando sua vida só e esquecido. MÁQUINA DE CLASSIFICAÇÃO DE HERMANN HOLLERITH (1880 – 1890) • Teve como motivação principal de automatizar o censo americano (o de 1880 levou 7 anos). • As respostas das perguntas do censo eram codificadas em cartões perfurados. • O censo de 1890 foi concluído em 2 anos e meio. MÁQUINA DE CLASSIFICAÇÃO DE HERMANN HOLLERITH (1880 – 1890) CONCEITO UNIVERSAL DE COMPUTADOR • A noção moderna assume o conceito de propósito-geral e universal, isto é, dada a capacidade de programação, qualquer computador pode emular o comportamento de qualquer outra máquina. MODELO UNIVERSAL DE COMPUTADOR: MÁQUINA DE TURING • Uma máquina de Turing é um modelo abstrato de computador que formaliza as noções de armazenamento e execução de programas. • Introduzido em 1936 por Alan Turing de forma a caracterizar precisamente a noção de algoritmo. COMPONENTES DA MÁQUINA DE TURING • • • • Tape (Fita) Cabeçote do tape Unidade de controle Conjunto de instruções (programa) MODELO DA MÁQUINA DE TURING TESE DE TURING (VÁLIDA ATÉ OS DIAS DE HOJE) • “Qualquer modelo prático de computação tem que ser equivalente ou então ser um subconjunto das capacidades de computação de uma máquina de Turing”. PRIMEIROS DISPOSITIVOS • COMPUTADORES COM CAPACIDADES ESPECÍFICAS E NÃO PROGRAMÁVEIS: • Máquina de diferenças de Babbage. Nunca chegou a funcionar satisfatoriamente • Máquina de classificação (Hollerith) • COMPUTADORES COM CAPACIDADES ESPECÍFICAS E PROGRAMÁVEIS: • Tear de Jacquard PRIMEIROS DISPOSITIVOS • • • • COMPUTADORES TURING-COMPLETO: Máquina analítica de Babbage Problema: Nunca foi construída Considerado o primeiro computador universal da história. FUNDAMENTOS DA COMPUTAÇÃO • Componentes básicos do computador – Hardware • A memória do computador • Unidades de entrada e saída • A unidade central de processamento – Software • Aplicações com software • Ciclo de vida do software • Programação e níveis de linguagem FUNDAMENTOS DA COMPUTAÇÃO • Informática: é a informação automática, ou seja, o tratamento da informação de modo automático • Informática pressupõe o uso de computadores eletrônicos para o tratamento da informação • Cabe à informática a tarefa de coletar, tratar e disseminar dados gerando informação FUNDAMENTOS DA COMPUTAÇÃO • DADOS: Elementos conhecidos de um problema • INFORMAÇÃO: Um conjunto estruturado de dados, transmitindo conhecimento EXERCÍCIOS • 1) Explique o funcionamento do ábaco e realize uma soma de 38 + 7. • 2) Explique o funcionamento do Tear de Jacquard. • 3) Fale com suas palavras quais são e como funciona os quatro dispositivos da máquina analítica de Babbage. • 4) Explique com suas palavras a diferença entre hardware e software.