3 Armazenamento de dados 37

Tamanho: px
Começar a partir da página:

Download "3 Armazenamento de dados 37"

Transcrição

1 Sumário Prefácio xiii 1 Introdução Modelo de Turing Modelo de von Neumann Componentes computacionais Histórico Questões sociais e éticas A ciência da computação como uma disciplina Esboço do curso Leitura recomendada Termos principais Resumo Conjunto de práticas 13 2 Sistemas de numeração Introdução Sistemas de numeração posicionais Sistemas de numeração não posicionais Leitura recomendada Termos principais Resumo Conjunto de práticas 32 3 Armazenamento de dados Tipos de dados Armazenando números Armazenando texto Armazenando áudio Armazenando imagens Armazenando vídeo Leitura recomendada Termos principais Resumo Conjunto de práticas 64

2 viii Fundamentos da ciência da computação 4 Operações sobre dados Operações lógicas Operações de deslocamento Operações aritméticas Leitura recomendada Termos principais Resumo Conjunto de práticas 87 5 Organização de computadores Unidade Central de Processamento Memória principal Subsistema de entrada/saída Interconexão de subsistemas Execução de programas Arquiteturas diferentes Um computador simples Leitura recomendada Termos principais Resumo Conjunto de práticas Redes de computadores Introdução Suíte de protocolos TCP/IP Camadas Aplicações da internet Leitura recomendada Termos principais Resumo Conjunto de práticas Sistemas operacionais Introdução Evolução Componentes Um estudo sobre sistemas operacionais Leitura recomendada Termos principais Resumo Conjunto de práticas Algoritmos Conceito Três construções Representação de algoritmos Uma definição mais formal Algoritmos básicos Subalgoritmos Recursividade Leitura recomendada Termos principais 211

3 Sumário ix 8.10 Resumo Conjunto de práticas Linguagens de programação Evolução Tradução Paradigmas da programação Conceitos comuns Leitura recomendada Termos principais Resumo Conjunto de práticas Engenharia de software O ciclo de vida do software Fase de análise Fase de projeto Fase de implemenção Fase de teste Documentação Leitura recomendada Termos principais Resumo Conjunto de práticas Estrutura de dados Vetores Registros Listas encadeadas Leitura recomendada Termos principais Resumo Conjunto de práticas Tipos abstratos de dados Conhecimento necessário Pilhas Filas Listas lineares gerais Árvores Árvores binárias Árvore de busca binária Grafos Leitura recomendada Termos principais Resumo Conjunto de práticas Estruturas de arquivos Métodos de acesso Arquivos sequenciais Arquivos indexados 313

4 x Fundamentos da ciência da computação 13.4 Arquivos baseados em Hash Diretórios Arquivos texto versus arquivos binários Leitura recomendada Termos principais Resumo Conjunto de práticas Banco de dados Introdução Sistemas de gerenciamento de bancos de dados Arquitetura de banco de dados Modelos de bancos de dados O modelo de banco de dados relacional Operações com relações Projeto de bancos de dados Outros modelos de bancos de dados Leitura recomendada Termos principais Resumo Conjunto de práticas Compressão de dados Compressão sem perda Métodos de compressão com perda Leitura recomendada Termos principais Resumo Conjunto de práticas Segurança Introdução Criptografia de chave simétrica Criptografia de chave assimétrica Comparação de métodos Outros serviços de segurança Gerenciamento de chaves Leitura recomendada Termos principais Resumo Conjunto de práticas Teoria da computação Linguagem simples A máquina de Turing Números de Gödel O problema da parada A complexidade dos problemas Leitura recomendada Termos principais Resumo Conjunto de práticas 409

5 Sumário xi 18 Inteligência artificial Introdução Representação de conhecimento Sistemas especialistas Percepção Busca Redes neurais Leitura recomendada Termos principais Resumo Conjunto de práticas 439 Apêndices A Unicode 443 A.1 Planos 444 A.2 ASCII 444 B Linguagem de modelagem unificada 447 B.1 Visão do usuário 448 B.2 Visão estrutural 448 B.3 Visão comportamental 450 B.4 Visão de implementação 456 C Pseudocódigo 459 C.1 Componentes 459 D Diagramas de estruturas 463 D.1 Símbolos do diagrama de estruturas 463 D.2 Leitura de diagramas de estruturas 466 D.3 Regras dos diagramas de estruturas 466 E Álgebra Booleana e circuitos lógicos 467 E.1 Álgebra Booleana 467 E.2 Circuitos lógicos 477 F Exemplos de programas em C, C++ e Java 483 G Revisão matemática 493 G.1 Expoente e logaritmo 493 G.2 Aritmética modular 497 G.3 Transformada discreta de cosseno 500 H Detecção e correção de erros 503 H.1 Introdução 503 H.2 Codificação em bloco 505 H.3 Códigos em blocos lineares 507 H.4 Códigos cíclicos 510 H.5 Soma de verificação 513 Siglas e Glossário 517 Índice remissivo 551

6 Prefácio Os computadores representam uma parte importante em nossas vidas diárias, e continuarão representando no futuro. A ciência da computação é uma disciplina jovem, que está evoluindo e progredindo. As redes de computadores têm pessoas conectadas nos pontos muito distantes do globo. A realidade virtual está criando imagens tridimensionais que surpreendem a todos. A exploração espacial deve parte de seu sucesso aos computadores. Os efeitos especiais criados em computadores vêm modificando a indústria do cinema. Os computadores têm representado papéis fundamentais na genética. Este livro foi projetado para a disciplina Introdução à ciência da computação, baseado nas recomendações da Associação Americana de Computação (ACM). Ele abrange amplamente todas as áreas da ciência da computação. Recursos pedagógicos Diversos recursos deste livro não somente o tornam único, mas também facilitam sua compreensão pelos iniciantes. Conceitos Ao longo deste livro, tentamos enfatizar o conceito, em vez do modelo matemático. Acreditamos que um entendimento do conceito leva à compreensão do modelo. Abordagem visual Um breve exame do livro mostrará que nossa abordagem é muito visual. Existem aqui aproximadamente 400 figuras. Embora elas aumentem o tamanho do livro, são muito úteis para a compreensão do texto. Algoritmos Inúmeros algoritmos foram acrescentados a fim de tornar o aluno familiarizado com a resolução de problemas e com a programação. UML Em todo o livro, utilizamos diagramas em UML (Linguagem de Modelagem Unificada) para que os alunos se familiarizem com esta ferramenta, que está se tornando o verdadeiro padrão na indústria. Pontos principais Estes são denotados pelo ícone i, à margem das páginas, como mostrado abaixo, e são resumos. São os pontos que os alunos precisam utilizar como revisão para auxiliá- -lo nas provas. Os computadores armazenam números positivos e negativos de modo diferente.

7 xiv Fundamentos da ciência da computação Exemplos Sempre que apropriado, utilizamos exemplos para demonstrar o conceito e o modelo matemático. Material de fim de capítulo O material no fim de cada capítulo contém quatro partes: Leitura recomendada, Termos principais, Resumo e Conjunto de práticas. Leitura recomendada Esta seção fornece uma lista de livros recomendados para aquele capítulo, que pode ser utilizada para consulta. Termos principais Esta seção apresenta uma lista dos termos importantes introduzidos no capítulo. Cada um deles está definido no glossário. Resumo Os resumos contêm uma visão geral concisa de todos os pontos mais importantes de cada capítulo. Eles são identificados por marcadores, para facilitar sua leitura. Conjunto de práticas Cada conjunto contém três partes: questões para análise, questões de múltipla escolha e exercícios. As questões para revisão testam o entendimento dos aspectos e conceitos mais importantes do capítulo. As de múltipla escolha são projetadas para testar o entendimento dos materiais. Os exercícios foram projetados para verificar se os alunos conseguem aplicar os conceitos e as fórmulas. Glossário Um glossário de todos os termos principais e siglas está incluído no final do livro. Agradecimentos Nenhum livro com essa abrangência pode ser desenvolvido sem o apoio de muitas pessoas, e isto é especialmente verdadeiro para este livro. Revisores parceiros * Para qualquer pessoa que não conheça bem o processo, o valor dos revisores parceiros não pode ser suficientemente apreciado. Escrever um livro rapidamente se torna uma tarefa que não possibilita uma visão do trabalho com o devido distanciamento. É impossível medir a importância da orientação dos revisores, que podem ficar de apoio e visualizar o livro como um todo. Gostaríamos de agradecer especialmente pela contribuição dos revisores da segunda edição: John Newman, University of Wales; Steve Maybank, Birbeck College; Mario Kolberg, University of Stirling; Colin Price, University de Worcester; Boris Cogan, London Metropolitan University; Thomas Mandl, University of Hildesheim; Daphne Becker, University of South Africa; Lubna Fekry Abdulhai e Osama Abulnaja, King Abdulaziz University; e Katie Atkinson, University of Liverpool. Profissionais na Cengage Learning Nossos agradecimentos também são dirigidos aos profissionais da Cengage Learning, Allie, Matthew e Gaynor, e também a Steve Rickaby, da Wordmongers, por todo seu cuidado e atenção com o manuscrito. Nossa família Por último, mas, obviamente, não menos importante, está o apoio de nossas famílias e de nossos amigos. Apesar de os autores sofrerem durante todo o processo de redação do livro, as famílias e amigos sofrem por causa de suas ausências. Podemos apenas esperar que, quando eles virem o produto final, sintam que seus sacrifícios valeram a pena. * A tradução da segunda edição internacional foi revisada pelo Doutor Ronaldo A. Lara Gonçalves, do Departamento de Informática da Universidade Estadual de Maringá (UEM).

8 1 Introdução A expressão ciência da computação tem, atualmente, um significado muito amplo. Contudo, neste livro, a definimos como as questões relacionadas aos computadores. Este capítulo introdutório, em primeiro lugar, tenta descobrir o que é um computador e, então, investiga outros aspectos diretamente relacionados a ele. Analisamos primeiro o modelo de Turing, como uma definição matemática e filosófica de computação. Em seguida, mostramos como os computadores, hoje em dia, têm como base o modelo de von Neumann. O capítulo termina com um breve histórico desse dispositivo que é capaz de transformar culturas... O computador. Objetivos Depois de estudar este capítulo, o aluno será capaz de: Definir o modelo de Turing de um computador. Definir o modelo de von Neumann de um computador. Descrever os três componentes de um computador: hardware, dados e software. Enumerar tópicos referentes ao hardware de computadores. Enumerar tópicos referentes aos dados. Enumerar tópicos referentes ao software. Discutir alguns aspectos sociais e éticos relacionados ao uso de computadores. Conhecer um breve histórico dos computadores. 1.1 MODELO DE TURING A ideia de um dispositivo de computação universal foi descrita, pela primeira vez, por Alan Turing, em 1937, propondo que toda a computação poderia ser realizada por um tipo especial de máquina, então chamada Máquina de Turing. Embora Turing tenha apresentado sua descrição matemática, estava mais interessado na definição filosófica de computação do que em construir a máquina propriamente dita. O modelo por ele descrito tinha como base as ações que as pessoas realizam quando envolvidas na computação. Então, abstraindo essas ações, Turing criou um protótipo para uma máquina computacional que realmente transformou o mundo.

9 2 Fundamentos da ciência da computação Processadores de dados Antes de discutirmos o modelo de Turing, vamos definir um computador como um processador de dados. Utilizando essa definição, um computador age como uma caixa-preta que aceita a inserção de dados, processa-os e cria informações referentes aos resultados (Figura 1.1). Embora esse modelo possa definir a funcionalidade de um computador, na atualidade tornou-se muito genérico, porque, a partir dessa definição, uma calculadora de bolso também é um computador (o que realmente é verdade, em um sentido literal). Dados de entrada Computador Dados de saída Figura 1.1 Uma máquina de computação de propósito único Outro problema desse modelo é que ele não especifica o tipo de processamento nem se é possível mais de um tipo. Em outras palavras, não está claro quantos tipos ou conjuntos de operações podem ser realizados por uma máquina que tem como base esse modelo. É uma máquina de propósito específico ou de propósito geral? Esse modelo poderia representar um computador de propósito específico (ou processador) que foi projetado para fazer um trabalho simples, como o controle da temperatura de um edifício ou o uso de combustível em um carro. No entanto, computadores, do modo como o termo é utilizado hoje em dia, são máquinas de propósito geral. Eles podem desempenhar muitos tipos de tarefas diferentes, o que implica que precisamos transformá-los no modelo de Turing para que seja possível refletir os reais computadores da atualidade. Processadores de dados programáveis O modelo de Turing é melhor para um computador de propósito geral, porque acrescenta um elemento extra de computação específica: o programa. Um programa é um conjunto de instruções que diz ao computador o que fazer com os dados. A Figura 1.2 mostra o modelo de Turing. Nesse modelo, os dados de saída dependem da combinação de dois fatores: os dados de entrada e o programa. Com os mesmos dados de entrada podemos gerar diferentes resultados, se modificarmos o programa. De modo similar, com o mesmo programa, podemos gerar diferentes resultados, se modificarmos os dados de entrada. Por fim, se esses dados e o programa permanecerem os mesmos, o resultado também será o mesmo. Vamos observar esses três casos. Programa Dados de entrada Computador Dados de saída Figura 1.2 Um computador que tem como base o modelo de Turing: processador de dados programável Mesmo programa, diferentes dados de entrada A Figura 1.3 mostra o mesmo programa de ordenação com diferentes dados de entrada. Embora o programa seja o mesmo, os resultados são diferentes, porque diferentes dados de entrada são processados.

10 Introdução 3 Programa Ordena 3, 12, 8, 22 Dados de entrada Computador 3, 8, 12, 22 Dados de saída Programa Ordena 14, 6, 8, 12 Dados de entrada Computador 6, 8, 12, 14 Dados de saída Figura 1.3 Mesmo programa, diferentes dados de entrada Mesmos dados de entrada, programas diferentes A Figura 1.4 mostra os mesmos dados de entrada com diferentes programas. Cada programa faz que o computador realize diferentes operações sobre esses dados. O primeiro programa ordena os dados, o segundo os adiciona e o terceiro encontra o menor número. Programa Ordena 3, 12, 8, 22 Dados de entrada Computador 3, 8, 12, 22 Dados de saída Programa Adiciona 3, 12, 8, 22 Dados de entrada Computador 45 Dados de saída Programa Encontra o menor número 3, 12, 8, 22 Dados de entrada Computador 3 Dados de saída Figura 1.4 Mesmos dados de entrada, diferentes programas Mesmos dados de entrada, mesmo programa Naturalmente, esperamos o mesmo resultado a cada vez se os dados de entrada e o programa forem os mesmos. Em outras palavras, quando o mesmo programa é executado com os mesmos dados de entrada, esperamos os mesmos resultados.

11 4 Fundamentos da ciência da computação A Máquina Universal de Turing A Máquina Universal de Turing pode realizar qualquer cálculo se o programa apropriado for fornecido; essa foi a primeira descrição de um computador moderno. Pode-se provar que um computador muito poderoso e uma Máquina Universal de Turing podem fazer as mesmas coisas. Precisamos apenas fornecer os dados de entrada e o programa a descrição de como realizar o cálculo para qualquer uma das máquinas. Na verdade, a Máquina Universal de Turing é capaz de calcular qualquer coisa que seja calculável. 1.2 MODELO DE VON NEUMANN Os computadores construídos com base na Máquina Universal de Turing armazenam dados em sua memória. Por volta de , John von Neumann propôs que, se o programa e os dados são logicamente os mesmos, os programas também devem ser armazenados na memória de um computador. Quatro subsistemas Os computadores construídos com base no modelo de von Neumann dividem o hardware do computador em quatro subsistemas: memória, unidade de lógica e aritmética, unidade de controle e entrada/saída (Figura 1.5). Computador Entrada/saída Dados de entrada Unidade de lógica e aritmética (ULA) Memória Dados de saída Unidade de controle Figura 1.5 O modelo de von Neumann Memória A memória é a área de armazenamento; é onde os programas e os dados são armazenados durante o processamento. Mais adiante discutiremos, neste capítulo, as razões para o armazenamento de programas e dados. Unidade de lógica e aritmética A unidade de lógica e aritmética (ULA) é onde ocorrem as operações de lógica e de cálculos. Para um computador agir como um processador de dados, ele deve ser capaz de realizar operações aritméticas sobre dados (como adicioná-los em uma lista de números) e também operações lógicas sobre dados, como veremos no Capítulo 4. Unidade de controle A unidade de controle controla as operações da memória, a ULA e o subsistema de entrada/saída. Entrada/saída O subsistema de entrada aceita a entrada de dados e programas vindos de fora do computador, ao passo que o de saída envia os resultados do processamento para o mundo externo. A definição do sistema de entrada/saída é muito ampla: também inclui dispositivos de armazenamento secundários, como discos ou fitas, que armazenam dados e programas para processamento. Quando um disco armazena dados que resultam de processamento, é conside-

12 Introdução 5 rado um dispositivo de saída; quando os dados são lidos a partir do disco, ele é considerado um dispositivo de entrada. O conceito de programa armazenado O modelo de von Neumann determina que o programa deve ser armazenado na memória. Isso é totalmente diferente da arquitetura dos primeiros computadores, nos quais somente os dados eram armazenados na memória: os programas para as respectivas tarefas eram implementados pela manipulação de um conjunto de comutadores ou modificação do sistema de fios. A memória dos computadores modernos mantém um programa e seus dados correspondentes. Isso implica que os dados e programas devem ter o mesmo formato, uma vez que são armazenados na memória. Na verdade, são armazenados como padrões binários na memória uma sequência de 0s e 1s. Execução sequencial de instruções Um programa no modelo de von Neumann é composto de um número finito de instruções. Nele, a unidade de controle busca uma instrução da memória, decodifica-a e, então, a executa. Em outras palavras, as instruções são executadas uma depois da outra. Naturalmente, uma instrução pode requerer que a unidade de controle salte para alguma instrução anterior ou posterior, o que não significa que as instruções não sejam executadas sequencialmente. Esse tipo de execução de um programa foi a exigência inicial de um computador com base no modelo de von Neumann. Os computadores da atualidade executam programas na ordem que for mais eficiente. 1.3 COMPONENTES COMPUTACIONAIS Podemos pensar em um computador como sendo formado por três componentes: o hardware, os dados e o software. Hardware Na atualidade, o hardware tem quatro componentes, de acordo com o modelo de von Neumann, embora possamos ter diferentes tipos de memória, de subsistemas de entrada/saída e assim por diante. Discutimos o hardware mais detalhadamente no Capítulo 5. Dados O modelo de von Neumann define claramente um computador como uma máquina de processamento de dados que aceita a dados de entrada, processa-os e fornece os resultados. Armazenando dados O modelo de von Neumann não define como os dados devem ser armazenados em um computador. Se um computador é um dispositivo eletrônico, a melhor maneira de armazenar dados é na forma de um sinal elétrico, mais especificamente: sua presença ou ausência. Isso implica que um computador pode armazenar dados em um de dois estados. Obviamente, os dados que utilizamos na vida diária não são encontrados apenas em dois estados. Por exemplo, nosso sistema de numeração utiliza dígitos que podem estar entre um de dez estados (de 0 a 9). Não podemos (ainda) armazenar esse tipo de informação em um computador, ela precisa ser modificada para outro sistema que utilize somente dois estados (0 e 1). Também devemos estar em condições de processar outros tipos de dados (texto, imagem, áudio, vídeo). Estes também não podem ser armazenados em um computador diretamente; antes, precisam ser modificados para a forma apropriada (0s e 1s). No Capítulo 3 aprenderemos como armazenar diferentes tipos de dados em um padrão binário, uma sequência de 0s e 1s. No Capítulo 4 mostraremos como os dados são manipulados, em um padrão binário, dentro de um computador.

13 6 Fundamentos da ciência da computação Organizando dados Embora os dados devam ser armazenados apenas de uma forma dentro do computador, em um padrão binário, os dados externos a um computador podem assumir muitas formas. Além disso, os computadores (e a noção de processamento de dados) têm criado um novo campo de estudo, conhecido como organização de dados, que faz a pergunta: podemos organizar nossos dados em diferentes entidades e formatos antes de armazená-los no computador? Atualmente, os dados não são tratados como uma sequência contínua de informações. Em vez disso, são organizados em pequenas unidades que, por sua vez, são organizadas em unidades maiores e assim por diante. Analisaremos os dados sob esse ponto de vista nos capítulos de 11 a 14. Software de computador A principal característica tanto do modelo de Turing quanto do de von Neumann é o conceito de programa. Apesar de os primeiros computadores não armazenarem o programa na própria memória, eles utilizavam o conceito de programas. Programar aqueles primeiros computadores significava modificar os sistemas de fios ou ligar, ou desligar, um conjunto de comutadores. Programar era, portanto, uma tarefa realizada por um operador ou engenheiro, antes de efetivamente iniciar o processamento de dados. Os programas devem ser armazenados No modelo de von Neumann, os programas são armazenados na memória do computador. Não precisamos que a memória mantenha somente os dados, mas também que mantenha o programa (Figura 1.6). Programa Dados Memória Figura 1.6 Programa e dados na memória Uma sequência de instruções Outra exigência de von Neumann é que o programa deve consistir de uma sequência de instruções. Cada uma delas opera em um ou mais itens de dados. Assim, uma instrução pode modificar o efeito de uma anterior. Por exemplo, a Figura 1.7 mostra um programa que entra com dois números, adiciona-os e então imprime o resultado. Esse programa consiste de quatro instruções individuais. 1. Entra com o primeiro número na memória. 2. Entra com o segundo número na memória. 3. Adiciona os dois e armazena o resultado na memória. 4. Mostra o resultado. Programa Figura 1.7 Um programa composto de instruções

14 Introdução 7 Podemos perguntar por que um programa deve ser composto de instruções. A resposta é a possibilidade de reutilização. Atualmente, os computadores realizam milhões de tarefas. Se o programa para cada tarefa fosse uma entidade independente, sem nada em comum com outros programas, a programação seria difícil. Os modelos de Turing e de von Neumann tornam a programação mais fácil ao definirem as diferentes instruções que podem ser utilizadas pelos computadores. Um programador pode, então, combinar essas instruções para realizar qualquer número de programas. Cada programa pode ser uma combinação diferente de instruções diferentes. Algoritmos A exigência de que um programa deve consistir de uma sequência de instruções tornou a programação possível, mas trouxe outra dimensão à utilização de um computador. Um programador precisa não somente compreender a tarefa realizada por cada instrução, mas também como combinar essas instruções para desempenhar determinada tarefa. Analisando essa questão de modo diferente, um programador deve primeiro resolver o problema, etapa por etapa, e então tentar encontrar a instrução apropriada (ou a série de instruções) para implementar aquelas etapas. Essa solução passo a passo é chamada algoritmo. Os algoritmos representam um papel muito importante na ciência da computação, e serão discutidos no Capítulo 8. Linguagens No início da era do computador, havia somente uma linguagem: a linguagem de máquina. Os programadores escreviam instruções (utilizando padrões binários) para resolver um problema. Contudo, à medida que os programas se tornaram maiores, escrever programas longos utilizando esses padrões se tornou uma tarefa tediosa. Os cientistas da computação apresentaram a ideia de utilizar símbolos para representar padrões binários, assim como as pessoas utilizam símbolos (palavras) para comandos na vida diária. Naturalmente, os símbolos utilizados na vida diária são diferentes daqueles usados em computadores. Desse modo, surgiu o conceito de linguagens de computador. Uma linguagem natural, como o inglês, é rica e tem muitas regras para combinar as palavras corretamente; a linguagem de computador, por sua vez, tem um número mais limitado de símbolos e também de palavras. Estudaremos as linguagens de computador no Capítulo 9. Engenharia de software Algo que não foi definido no modelo de von Neumann é a engenharia de software, que é o projeto e a escrita de programas estruturados. Atualmente, não é aceitável escrever um programa que realiza apenas uma tarefa; para tanto, deve-se seguir regras e princípios estritos. Discutiremos esses princípios, coletivamente conhecidos como engenharia de software, no Capítulo 10. Sistemas operacionais Durante a evolução dos computadores, os cientistas notaram que havia uma série de instruções comuns a todos os programas. Por exemplo, as instruções para dizer a um computador onde receber dados e onde enviar dados são necessárias para quase todos os programas. É mais eficiente escrever essas instruções somente uma vez para o uso de todos os programas. Assim surgiu o conceito de sistema operacional. Originalmente, esse sistema trabalhava como um gerenciador para facilitar o acesso aos componentes do computador por um programa, mas atualmente os sistemas operacionais fazem muito mais. Aprenderemos sobre eles no Capítulo HISTÓRICO Nesta seção, analisaremos brevemente a história da computação e dos computadores, dividida em três períodos. Máquinas mecânicas (antes de 1930) Durante esse período, foram inventadas diversas máquinas de computação que têm pouca semelhança com o moderno conceito de um computador.

15 8 Fundamentos da ciência da computação No século XVII, Blaise Pascal, um matemático e filósofo francês, inventou Pascaline, uma calculadora mecânica para fazer operações de adição e subtração. No século XX, quando Niklaus Wirth inventou uma linguagem de programação estruturada, deu-lhe o nome Pascal, em homenagem ao inventor da primeira calculadora mecânica. No final do século XVII, o matemático alemão Gottfried Leibnitz inventou uma calculadora mecânica mais sofisticada, que podia fazer multiplicações e divisões, além de adições e subtrações. Essa calculadora foi chamada Roda de Leibnitz. A primeira máquina que utilizou a ideia de armazenamento e programação foi o tear de Jacquard, inventado por Joseph-Marie Jacquard, no início do século XIX. O tear utilizava cartões perfurados (como um programa armazenado) para controlar o aumento dos fios da urdidura na fabricação de tecidos. Em 1823, Charles Babbage inventou a Máquina Diferencial, que podia fazer mais do que simples operações aritméticas também resolvia equações polinomiais. Posteriormente, ele inventou a chamada Máquina Analítica, que, até certo ponto, compara-se à ideia dos computadores modernos. Ela tinha quatro componentes: uma engrenagem (correspondente a uma moderna ULA), um local de armazenamento (memória), um operador (unidade de controle) e saída (entrada/saída). Em 1890, Herman Hollerith, trabalhando no Ministério de Recenseamento dos Estados Unidos, projetou e construiu uma máquina programável que podia, automaticamente, ler, registrar e ordenar dados armazenados em cartões perfurados. O nascimento dos computadores eletrônicos ( ) Entre 1930 e 1950, vários computadores foram inventados por cientistas, que podem ser considerados os pioneiros da indústria dos computadores. Os primeiros computadores eletrônicos Os primeiros computadores desse período não armazenavam o programa na memória todos eram programados externamente. Cinco computadores tornaram-se proeminentes durante esses anos: O primeiro computador de propósito específico, que codificava as informações eletricamente, foi inventado por John V. Atanasoff e seu assistente, Clifford Berry, em Chamado ABC (Atanasoff Berry Computer), foi projetado especificamente para resolver um sistema de equações lineares. Ao mesmo tempo, um matemático alemão chamado Konrad Zuse projetou uma máquina de propósito geral, chamada Z1. Na década de 1930, a Marinha dos Estados Unidos e a IBM patrocinaram um projeto na Harvard University, sob a direção de Howard Aiken, para construir um computador chamado Mark I, que utilizava componentes elétricos e mecânicos. Na Inglaterra, Alan Turing inventou um computador chamado Colossus, que foi projetado para decifrar o código conhecido como German Enigma (Enigma Alemão). O primeiro computador de propósito geral, totalmente eletrônico, foi fabricado por John Mauchly e J. Presper Eckert, chamado ENIAC (Electronic Numerical Integrator and Calculator, ou calculadora e integradora numérica eletrônica). Ele foi concluído em 1946, utilizava 18 mil tubos de vácuo, media 30 metros de comprimento por 3 metros de altura e pesava 30 toneladas. Computadores baseados no modelo de von Neumann Os cinco computadores precedentes utilizavam memória somente para armazenamento de dados e eram programados externamente, utilizando fios ou comutadores. John von Neumann propôs que o programa e os dados deveriam ser armazenados na memória. Dessa maneira, todas as vezes que utilizamos um com-

16 Introdução 9 putador para realizar uma nova tarefa, precisamos somente modificar o programa, em vez de religar a máquina ou ligar e desligar centenas de comutadores. O primeiro computador com base nas ideias de von Neumann, chamado EDVAC, foi fabricado em 1950, na University of Pennsylvania. Ao mesmo tempo, um computador similar, EDSAC, foi construído por Maurice Wilkes, na Cambridge University, na Inglaterra. Gerações de computadores (1950 época atual) Os computadores construídos depois de 1950 seguiram, aproximadamente, o modelo de von Neumann. Apesar de se tornarem mais rápidos, menores e mais baratos, o princípio era quase o mesmo. Historiadores dividem esse período em gerações, sendo que cada uma delas testemunhou alguma importante transformação em hardware ou software (mas não no modelo). Primeira geração A primeira geração (aproximadamente de 1950 a 1959) foi caracterizada pelo surgimento de computadores comerciais. Durante essa época, eles eram utilizados somente por profissionais. Ficavam trancados em salas com acesso limitado somente ao operador ou especialista. Tais computadores eram muito volumosos e utilizavam tubos de vácuo como chaves eletrônicas. Naquele tempo, eram acessíveis somente às grandes organizações. Segunda geração Os computadores da segunda geração (aproximadamente de 1959 a 1965) utilizavam transistores, em vez de tubos de vácuo. Isso reduziu seu tamanho, assim como seu custo, e os tornou mais acessíveis para as companhias de pequeno e médio portes. As duas linguagens de programação de alto nível, Fortran e Cobol (veja o Capítulo 9), foram inventadas e tornaram a programação mais fácil; separavam a tarefa de programação da de operação dos computadores. Um engenheiro civil, por exemplo, poderia escrever um programa em Fortran para resolver um problema, sem se envolver com os detalhes eletrônicos da arquitetura do computador. Terceira geração A invenção dos circuitos integrados (transistores, fiação e outros componentes em um único chip) reduziu ainda mais o custo e o tamanho dos computadores. Os minicomputadores, então, surgiram no mercado. Programas enlatados, 1 popularmente conhecidos como pacotes de software, tornaram-se disponíveis. Uma pequena corporação podia comprar um pacote, por exemplo, para contabilidade, em vez de precisar escrever seu próprio programa. Surgiu, então, uma nova indústria, a de software. Esta geração durou, aproximadamente, de 1965 a Quarta geração A quarta geração (aproximadamente de 1975 a 1985) viu o surgimento dos microcomputadores. A primeira calculadora desktop, o Altair 8800, tornou-se disponível em Avanços na indústria eletrônica permitiram que completos subsistemas de computadores se adequassem a uma única placa de circuito. Esta geração também viu o aparecimento das redes de computadores (veja o Capítulo 6). Quinta geração Esta é a atual, começou em 1985 e ainda não terminou. Ela tem testemunhado o surgimento dos computadores laptop e palmtop, o desenvolvimento de aperfeiçoamentos nos meios de armazenamento secundário (CD-ROM, DVD e assim por diante), o uso da multimídia e o fenômeno da realidade virtual. 1 O termo enlatado refere-se a um produto de prateleira, comercializado em lotes, feito para satisfazer a maioria dos interessados, em sentido contrário ao produto feito exclusivamente para determinado usuário. (N.R.T.)

Depois do estudo deste capítulo, o estudante deve ser capaz de:

Depois do estudo deste capítulo, o estudante deve ser capaz de: 1 Introdução 1.1 Objetivos: Depois do estudo deste capítulo, o estudante deve ser capaz de: Definir o modelo de Turing de um computador; Definir o modelo de von Neumann do computador; Descreve os três

Leia mais

I n f o r m á t i c a

I n f o r m á t i c a Prof. Dr. Rogério R. de Vargas I n f o r m á t i c a História e evolução da informática Itaqui - RS, 2º Semestre de 2014. Aula 1 História da computação e dos computadores 2 Histórico da Computação Conceituação

Leia mais

Manutenção de Computadores e Redes

Manutenção de Computadores e Redes Manutenção de Computadores e Redes Cleidson Souza Fundação Educacional Montes Claros FEMC Técnico em Informática para Internet Geração zero Computadores Mecânicos (1642 1945) Época de surgimento dos primeiros

Leia mais

Fundamentos de Arquiteturas de Computadores

Fundamentos de Arquiteturas de Computadores Fundamentos de Arquiteturas de Computadores Prof. Marcos A. Guerine mguerine@ic.uff.br http://www.ic.uff.br/~mguerine 1 Introdução Capítulo 1 Livro do Mário Monteiro Conceitos Básicos Processamento de

Leia mais

HISTÓRIA DO COMPUTADOR

HISTÓRIA DO COMPUTADOR HISTÓRIA DO COMPUTADOR Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Já há muito tempo o homem vem tentando livrar-se dos trabalhos manuais e repetitivos, entre os quais estão

Leia mais

Unidade I ORGANIZAÇÃO DE. Prof. Antônio Palmeira

Unidade I ORGANIZAÇÃO DE. Prof. Antônio Palmeira Unidade I ORGANIZAÇÃO DE COMPUTADORES Prof. Antônio Palmeira Apresentação da disciplina Conhecer as estruturas de hardware de um sistema computacional. Entender o funcionamento dos vários módulos que compõem

Leia mais

INFORMÁTICA ELETROTÉCNICA SUBSEQUENTE AULA I. Prof. MSc. Glécio Rodrigues de Albuquerque

INFORMÁTICA ELETROTÉCNICA SUBSEQUENTE AULA I. Prof. MSc. Glécio Rodrigues de Albuquerque INFORMÁTICA ELETROTÉCNICA SUBSEQUENTE - 2014.1 AULA I de Albuquerque A história da evolução dos computadores Objetivo: entender como foi a invenção computador e sua evolução no decorrer do tempo. Definição

Leia mais

Geração de computadores Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas

Geração de computadores Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas Geração de computadores Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas 1 Computadores Componentes mecânicos dos (Geração computadores 0) - 1642 a 1945 Características

Leia mais

Universidade de Brasília Histórico e Introdução

Universidade de Brasília Histórico e Introdução Universidade de Brasília Histórico e Introdução Organização e Arquitetura de Computadores Objetivo Apresentar a evolução dos computadores, sua estrutura em termos de componentes básicos e funções principais.

Leia mais

Histórico e Introdução

Histórico e Introdução Universidade de Brasília Histórico e Introdução Organização e Arquitetura de Computadores Objetivo Apresentar a evolução dos computadores, sua estrutura em termos de componentes básicos e funções principais.

Leia mais

1. Conceitos Básicos de Computação

1. Conceitos Básicos de Computação Introdução à Computação I IBM1006 1. Conceitos Básicos de Computação Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 1.Conceitos Básicos de Computação 1.1.

Leia mais

Introdução. Agradecimentos. Objetivos. 1.1 MODELO DE TUrUNG' ^

Introdução. Agradecimentos. Objetivos. 1.1 MODELO DE TUrUNG' ^ Exemplos Sempre que apropriado, utilizamos exemplos para demonstrar o conceito e o modelo matemático. Material de fim de capítulo O material no fim de cada capítulo contém quatro partes: Leitura recomendada.

Leia mais

FACULDADE LEÃO SAMPAIO

FACULDADE LEÃO SAMPAIO FACULDADE LEÃO SAMPAIO Primeiros computadores Curso de Análise e Desenvolvimento de Sistemas 1 Relógios mecânicos Século VIII: 2 Computadores mecânicos (Geração 0) 1642 a 1945 Características principais

Leia mais

Softwares, Aplicativos e Sistemas Operacionais

Softwares, Aplicativos e Sistemas Operacionais Softwares, Aplicativos e Sistemas Operacionais Aula 03 Informática Básica Arthur Porto - IFNMG Campus Salinas arthur.porto@ifnmg.edu.br arthurporto.com.br Aula 03 Informática Básica Softwares, Aplicativos

Leia mais

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva  UFU/FACOM GFM015 Introdução à Computação Plano de Curso e Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic UFU/FACOM Plano de Curso Ementa Noções básicas sobre os componentes de

Leia mais

Evolução da Informática: a Origem da Computação

Evolução da Informática: a Origem da Computação Evolução da Informática: a Origem da Computação INF005 - Arquitetura de Computadores e Software Básico Aula 2 Flávia Maristela (flavia@flaviamaristela.com) Introdução Origem da Informática Preocupação

Leia mais

Sistemas de Computação

Sistemas de Computação A EVOLUÇÃO DO COMPUTADOR O ÁBACO é um calculador decimal manual. Médio Oriente. CALCULADORA MECÂNICA - Atribui-se a Blaise Pascal (1623-1662) a construção da primeira calculadora mecânica capaz de fazer

Leia mais

História do Computador. Introdução ao Computador 2010/1 Renan Manola

História do Computador. Introdução ao Computador 2010/1 Renan Manola História do Computador Introdução ao Computador 2010/1 Renan Manola Invenção dos números Necessidades de contar E contar números cada vez maiores... Surgimento do Ábaco Ábaco muito antigo Ábaco moderno

Leia mais

Fat-Uerj: Introdução à computação

Fat-Uerj: Introdução à computação Fat-Uerj: Introdução à computação Profa Pryscilla Pires Aula 1: Apresentação da disciplina Uma breve história da computação Apresentação da disciplina UNIDADE: Faculdade de Tecnologia DEPARTAMENTO: Matemática,

Leia mais

Histórico e Conceitos

Histórico e Conceitos Histórico e Conceitos Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Julho, 2016 1 / 30 Sumário 1 Computadores e máquinas de computar 2 Algoritmos 2 / 30 Computadores

Leia mais

CURSO TÉCNICO PROFISSIONALIZANTE. Disciplina: Informática Básica (História da Informática)

CURSO TÉCNICO PROFISSIONALIZANTE. Disciplina: Informática Básica (História da Informática) CURSO TÉCNICO PROFISSIONALIZANTE Disciplina: Informática Básica (História da Informática) 1 Necessidade de realizar cálculos matemáticos Ábaco criado por volta de 2000 A.C., foi a primeira calculadora

Leia mais

Ábaco. Ipad HISTÓRIA DA INFORMÁTICA E SUA EVOLUÇÃO. Tecnologias de Informação e Comunicação

Ábaco. Ipad HISTÓRIA DA INFORMÁTICA E SUA EVOLUÇÃO. Tecnologias de Informação e Comunicação PC Ábaco Ipad HISTÓRIA DA INFORMÁTICA E SUA EVOLUÇÃO Tecnologias de Informação e Comunicação Professor: Email: Marconitorquato@catolicadocariri.edu.br PRINCIPAIS MARCOS 2 CONSTANTES DA EVOLUÇÃO 3 ÁBACO

Leia mais

Ementa. Adriano J. Holanda 15/2/2017. [Introdução à Computação I] ...

Ementa. Adriano J. Holanda 15/2/2017. [Introdução à Computação I] ... Ementa [Introdução à Computação I] Adriano J. Holanda 15/2/2017 Ementa 1. Conceitos e definições de computação e informática; 2. Tecnologias e aplicações de computadores; 3. Histórico da evolução dos computadores;

Leia mais

Introdução aos Sistemas Operacionais. Disciplina: Sistemas Operacionais Prof. Filipe Arantes Fernandes

Introdução aos Sistemas Operacionais. Disciplina: Sistemas Operacionais Prof. Filipe Arantes Fernandes Introdução aos Sistemas Operacionais Disciplina: Sistemas Operacionais Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Agenda O que é um Sistema Operacional? As Gerações dos Computadores

Leia mais

IAC001 - Arquitetura e Organização de Computadores.

IAC001 - Arquitetura e Organização de Computadores. IAC001 - Arquitetura e Organização de Computadores. Professor: Milton Rocha Auxiliares Docentes: Milene Conceição e Júlio Francisco Horário de aulas: Quarta-feira 7:20 Sexta-feira: 11:00 Histórico e evolução

Leia mais

Histórico e Conceitos

Histórico e Conceitos Histórico e Conceitos Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Julho, 2016 1 / 33 Sumário 1 Computadores e máquinas de computar 2 Compiladores 3 Linguagens

Leia mais

http://www.ic.uff.br/~debora/fac! 1 Dar noções iniciais dos componentes básicos de um sistema de computador, assim também como conceitos fundamentais necessários para a manipulação de informação dentro

Leia mais

Tópicos de Ambiente Web Tópico: História do Computador

Tópicos de Ambiente Web Tópico: História do Computador Tópicos de Ambiente Web Tópico: História do Computador Professora: Sheila Cáceres 2 3 História do Computador Fonte: http://www.estv.ipv.pt/paginaspessoais/caldeira/paginas%2007-08/tic/material/acetatos/01%20-%20historia%20computadores.pdf

Leia mais

Organização e Arquitetura de Computadores. Prof. Leonardo Araújo

Organização e Arquitetura de Computadores. Prof. Leonardo Araújo Organização e Arquitetura de Computadores Prof. Leonardo Araújo leonardoaraujo.fase@gmail.com Agenda aula 2 História e evolução dos computadores Os primórdios Primeira geração: válvulas Segunda geração:

Leia mais

Unidade I. Organização de Computadores. Prof. Renato Lellis

Unidade I. Organização de Computadores. Prof. Renato Lellis Unidade I Organização de Computadores Prof. Renato Lellis O que é um computador? Computador Datação 1789 cf. MS1 Acepções substantivo masculino 1 o que computa; calculador, calculista 2 Rubrica: informática.

Leia mais

Máquinas de Calcular Mecânicas

Máquinas de Calcular Mecânicas Máquinas de Calcular Mecânicas Seu surgimento e sua evolução Alunos : Érico, Gladson, Marcela Ábaco Chinês Introdução John Napier-Bastões ou Ossos de Napier Willian Oughtred-Réguas de Cáculo Blaise Pascal

Leia mais

Campus Avançado Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini

Campus Avançado Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini Campus Avançado Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com MATÉRIA: APRESENTAÇÃO / CONCEITOS Aula N : 01 Tema: Apresentação da

Leia mais

Evolução e Desempenho. Alberto Felipe Friderichs Barros

Evolução e Desempenho. Alberto Felipe Friderichs Barros Evolução e Desempenho Alberto Felipe Friderichs Barros Anterior a 1946 dispositivos mecânicos e manuais para contas. Ábaco Existiu em diversas versões/civilizações: Criado na Mesopotâmia por volta de 2400

Leia mais

Organização de Computadores I

Organização de Computadores I Organização de Computadores I Primeira Aula Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte1.pdf Organização de Computadores I Primeira Aula 1/57 Conteúdo Básicas. Básicos... Organização

Leia mais

Máquinas Multiníveis Aula 04. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

Máquinas Multiníveis Aula 04. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática Máquinas Multiníveis Aula 04 Evolução... Computadores Mecânicos Geração Zero Mecânicos (1642-1945) Blaise Pascal (1623-1662) - máquina de calcular, adições e subtrações Leibniz (1646-1716) - mesmo estilo,

Leia mais

Objetivos. Relacionar as gerações da tecnologia da computação. Identificar as principais inovações que caracterizam cada uma delas.

Objetivos. Relacionar as gerações da tecnologia da computação. Identificar as principais inovações que caracterizam cada uma delas. Fundamentos da Computação: História da Computação Alfio Martini Facin - PUCRS Charles Babbage Objetivos Relacionar as gerações da tecnologia da computação. Identificar as principais inovações que caracterizam

Leia mais

CONCEITOS BÁSICOS DE INFORMÁTICA. Disciplina: Informática Professor: Gustavo Sabry

CONCEITOS BÁSICOS DE INFORMÁTICA. Disciplina: Informática Professor: Gustavo Sabry CONCEITOS BÁSICOS DE INFORMÁTICA Disciplina: Informática Professor: Gustavo Sabry FEVEREIRO/2016 O QUE É INFORMÁTICA? INFORMAÇÃO AUTOMÁTICA 2 Ábaco 3 Ábaco Criado em 5500 a.c.; Seu nome original era Calculus

Leia mais

Estrutura dos Computadores. Arquitetura de Computadores

Estrutura dos Computadores. Arquitetura de Computadores Estrutura dos Computadores Arquitetura de Computadores Noções de Computador Hardware: Componentes mecânicos e eletroeletrônicos Software: Sequência de instruções e comandos que fazem o computador realizar

Leia mais

Fundamentos de Arquiteturas de Computadores

Fundamentos de Arquiteturas de Computadores Departamento de Ciência da Computação - UFF Fundamentos de Arquiteturas de Computadores Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br http://www.midiacom.uff.br/debora/ Objetivos ü Dar

Leia mais

INFORMÁTICA E CONTABILIDADE. Prof. Me. Fábio Assunção CMP 1128 Parte 01

INFORMÁTICA E CONTABILIDADE. Prof. Me. Fábio Assunção CMP 1128 Parte 01 INFORMÁTICA E CONTABILIDADE Prof. Me. Fábio Assunção CMP 1128 Parte 01 INFORMAÇÃO Informação significa fatos. Expressada verbalmente, visualmente, por ondas, etc. Primórdios do processamento da informação:

Leia mais

Organização e Arquitetura de Computadores. Professor Airton Ribeiro de Sousa

Organização e Arquitetura de Computadores. Professor Airton Ribeiro de Sousa Organização e Arquitetura de Computadores Professor Airton Ribeiro de Sousa airton.ribeiro@faciplac.edu.br Apresentação Nesta disciplina, você estudará os principais conceitos de arquitetura de computadores.

Leia mais

Informática básica. Professor: Francisco Ary

Informática básica. Professor: Francisco Ary Informática básica Professor: Francisco Ary A era da computação; Informática, ou ainda, automação da informação. Uma das mais importantes ferramentas de trabalho nos dias atuais; Uso para trabalho e pessoal;

Leia mais

Introdução ao Processamento de Dados (I P D)

Introdução ao Processamento de Dados (I P D) Introdução ao Processamento de Dados (I P D) O ponto mais significativo da evolução dos computadores, começou na década de 40, durante a 2ª guerra mundial, onde vários equipamentos foram desenvolvidos.

Leia mais

Organização e Arquitetura de Computadores. Professor Airton Ribeiro de Sousa

Organização e Arquitetura de Computadores. Professor Airton Ribeiro de Sousa Organização e Arquitetura de Computadores Professor Airton Ribeiro de Sousa airton.ribeiro@faciplac.edu.br Apresentação Nesta disciplina, você estudará os principais conceitos de arquitetura de computadores.

Leia mais

Informática básica. Professor: Francisco Ary

Informática básica. Professor: Francisco Ary Informática básica Professor: Francisco Ary Informática, ou ainda, automação da informação. Sem dúvida, se não a maior, uma das mais importantes ferramentas de trabalho nos dias atuais; Presente em todos

Leia mais

Arquitetura de Computadores. Prof. Dr. Eng. Fred Sauer

Arquitetura de Computadores. Prof. Dr. Eng. Fred Sauer Arquitetura de Computadores Prof. Dr. Eng. Fred Sauer fsauer@gmail.com http://www.fredsauer.com.br Professor Prof. Frederico Sauer (Fred Sauer) Doutor pela COPPE-UFRJ em Sistemas Computacionais Dissertação

Leia mais

18/08/2015. Quem sou eu... Para se dar bem... Capítulo 0: Introdução. Prof. Frederico Sauer (Fred)

18/08/2015. Quem sou eu... Para se dar bem... Capítulo 0: Introdução. Prof. Frederico Sauer (Fred) Capítulo 0: Introdução Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Quem sou eu... Prof. Frederico Sauer (Fred) Mestre e Doutor UFRJ com dissertação e tese em Segurança e Gerenciamento

Leia mais

Arquitetura de Computadores. Prof.º Me. James Clauton

Arquitetura de Computadores. Prof.º Me. James Clauton Arquitetura de Computadores Prof.º Me. James Clauton Plano de Aula Apresentação da Turma Apresentação da Disciplina Apresentação geral Ementa Bibliografia Critério de avaliação Motivação Apresentação da

Leia mais

Informática I. Aula 2. Aula 2-04/09/2006 1

Informática I. Aula 2.  Aula 2-04/09/2006 1 Informática I Aula 2 http://www.ic.uff.br/~bianca/informatica1/ Aula 2-04/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Informática I. Aula 9. Aula 9-24/09/2007 1

Informática I. Aula 9.  Aula 9-24/09/2007 1 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

Leia mais

CENTRO DE EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA TÉCNICO DE INFORMÁTICA E SISTEMAS EFA. UFCD: 0777 Processador de Texto Processamento e edição

CENTRO DE EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA TÉCNICO DE INFORMÁTICA E SISTEMAS EFA. UFCD: 0777 Processador de Texto Processamento e edição CENTRO DE EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA TÉCNICO DE INFORMÁTICA E SISTEMAS EFA UFCD: 0777 Processador de Texto Processamento e edição I Formador: Nélia Calisto José Serrano Fevereiro 2012 Índice

Leia mais

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?

Leia mais

Disciplina de Arquitetura e Manutenção de Computadores

Disciplina de Arquitetura e Manutenção de Computadores Disciplina de Arquitetura e Manutenção de Computadores Ensino Médio Integrado Técnico em Informática 2013 Professor Eduardo Alberto Felippsen Definição de computador: Dicionário Michelis com.pu.ta.dor

Leia mais

O que é um computador. Segundo o Dicionário Escolar da Língua Portuguesa, computador é avaliador, calculador.

O que é um computador. Segundo o Dicionário Escolar da Língua Portuguesa, computador é avaliador, calculador. O que é um computador Segundo o Dicionário Escolar da Língua Portuguesa, computador é avaliador, calculador. Primeiras Máquinas de Calcular O ábaco foi criado há aproximadamente 4.000 a.c., um aparelho

Leia mais

Micr c o r co c ntr t o r lad a or o es

Micr c o r co c ntr t o r lad a or o es Microcontroladores O que é um computador? O computador é basicamente uma máquina, eletrônica automática. tica. Lê dados,, efetua cálculos e fornece resultados. Máquina que recebe dados, compara valores,

Leia mais

Máquinas de Calculo Mecânicas

Máquinas de Calculo Mecânicas IFSP Instituto Federal de Educação, Ciências e Tecnlogia de São Paulo Akio Tanaka - 1580302 Leonardo Matheus - 1580221 William de Paula 1580256 Sabrina Tavera - 1580248 Máquinas de Calculo Mecânicas Como

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Slides N. 2 C / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO

Leia mais

Aula 1: A Evolução dos Sistemas Computacionais

Aula 1: A Evolução dos Sistemas Computacionais Aula 1: A Evolução dos Sistemas Computacionais O primeiro computador digital foi projetado pelo matemático Charles Babbage (1792-1871). Embora Babbage tenha dispendido muito de sua vida e de sua fortuna

Leia mais

Aula Breve História dos Computadores - Informatiquês - O Computador - Software vs. Hardware. Introdução à Engenharia da Computação

Aula Breve História dos Computadores - Informatiquês - O Computador - Software vs. Hardware. Introdução à Engenharia da Computação Aula 02 - Breve História dos Computadores - Informatiquês - O Computador - Software vs. Hardware Slide 1 de - Qual é a origem etimológica da palavra COMPUTADOR? Computador procede do latim computatore.

Leia mais

História e evolução dos computadores. Professor Leonardo Cabral da R. Soares

História e evolução dos computadores. Professor Leonardo Cabral da R. Soares Professor Leonardo Cabral da R. Soares Até chegar as nossas casas, os computadores modernos passaram por um grande processo evolutivo. Não há uma resposta breve para a pergunta: Quem inventou o computador?

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014-1 1 EVOLUÇÃO HISTÓRICA 2 Ábaco: Aproximadamente 4.000 a.c. Palavra que vem do Latim, que significa Quadro. No início o Ábaco era

Leia mais

Programação Estruturada Aula - Introdução a Linguagem de Programação

Programação Estruturada Aula - Introdução a Linguagem de Programação Programação Estruturada Aula - Introdução a Linguagem de Programação Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR

Leia mais

Componentes do Computador

Componentes do Computador Escola de Ciências e Tecnologia UFRN Componentes do Computador Prof. Aquiles Burlamaqui ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso quando estiver em sala de aula;

Leia mais

Histórico - Evolução INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Histórico - Evolução INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definição 2. Primeiras máquinas de calcular 3. Cartões-perfurados 4. Máquina Diferencial 5. Primeiros computadores

Leia mais

INTRODUÇÃO. Introdução a Informática. Vinícius Pádua

INTRODUÇÃO. Introdução a Informática. Vinícius Pádua INTRODUÇÃO Introdução a Informática Introdução Para que serve o computador? Word, Filme, Facebook,... Resolver problemas do usuário Coletar, manipular e fornecer os resultados Processamento eletrônico

Leia mais

INTRODUÇÃO À INFORMÁTICA

INTRODUÇÃO À INFORMÁTICA INTRODUÇÃO À INFORMÁTICA Prof. Rafael Robson Negrão rafael@uel.br Março/2008 1 Conteúdo 1. O que é computação 2. O que é informática 3. Componentes de um sistema de computação 4. Histórico e evolução 5.

Leia mais

Arquitetura de Von Neumann

Arquitetura de Von Neumann Arquitetura de Von Neumann Leandro Tonietto Algoritmos e Programação em C++ Curso de Segurança da Informação ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/tsi/apc/arqvonneumann.pdf Fev-2008

Leia mais

Arquitetura de Microprocessadores

Arquitetura de Microprocessadores Arquitetura de Computadores UNIDADE 4 Arquitetura de Microprocessadores Aula nº 3 e 4 1º Período Ano letivo 2017/2018 Lição nº 5 e 6 09-10-2017 Sumário Resumo histórico Evolução dos microprocessadores

Leia mais

Arquitetura e organização de computadores

Arquitetura e organização de computadores Arquitetura e organização de computadores 3º. Semestre Sistemas de informação Prof. Emiliano S. Monteiro 1. Introdução Um computador é uma máquina (conjunto de partes eletromecânicas) capaz de sistematicamente

Leia mais

EMENTÁRIO CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ 2013

EMENTÁRIO CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ 2013 EMENTÁRIO CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ 01 NOME DA DISCIPLINA Algoritmos Engenharia de Software Computação I Laboratório de Programação Sistemas Digitais para Computação CONTEUDO (EMENTA) Estudo

Leia mais

INTRODUÇÃO AOS SISTEMAS LÓGICOS

INTRODUÇÃO AOS SISTEMAS LÓGICOS 1 INTRODUÇÃO AOS SISTEMAS LÓGICOS ÁREAS DE COMPUTAÇÃO PROF. ANDRÉ MONTEVECCHI PROFA. ANNA TOSTES 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes 2 SUMÁRIO Os Pilares da Computação Algoritmos Teoria

Leia mais

CES-10 Introdução à Computação. Prof. Paulo André IEC - ITA

CES-10 Introdução à Computação. Prof. Paulo André IEC - ITA CES-10 Prof. Paulo André Estrutura do Curso Conceitos Básicos de Programação Algoritmos Estruturas de Controle Comandos de Entrada e Saída e Manipulação de Arquivos Rotinas, Variáveis Estruturadas e Ponteiros

Leia mais

INSTITUTO FEDERAL CEARÁ - IFCE CAMPUS AVANÇADO DE ARACATI CURSO: BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PROGRAMA DE UNIDADE DIDÁTICA PUD.

INSTITUTO FEDERAL CEARÁ - IFCE CAMPUS AVANÇADO DE ARACATI CURSO: BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PROGRAMA DE UNIDADE DIDÁTICA PUD. PROGRAMA DE UNIDADE DIDÁTICA PUD DISCIPLINA: INTRODUÇÃO A COMPUTAÇÃO Código: Carga Horária: 40h Número de Créditos: 2 Código pré-requisito: Semestre: Nível: EMENTA S1 Bacharelado PARTE A: 1) Introdução

Leia mais

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Eng. Química Disciplina: FACOM39017 (Alg. Prog. de Computadores) Fundamentos

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Eng. Química Disciplina: FACOM39017 (Alg. Prog. de Computadores) Fundamentos UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Eng. Química Disciplina: FACOM39017 (Alg. Prog. de Computadores) Fundamentos Diariamente, executamos diversas operações, isto é, processamos

Leia mais

Informática I. Aula 1. Aula 1-30/08/2006 1

Informática I. Aula 1.  Aula 1-30/08/2006 1 Informática I Aula 1 http://www.ic.uff.br/~bianca/informatica1/ Aula 1-30/08/2006 1 Ementa O objetivo da disciplina é dar ao aluno uma visão geral sobre a área de ciência da computação: Histórico dos Computadores

Leia mais

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. O uso do computador Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. Exemplos: Modelos meteorológicos. Cálculo estrutural.

Leia mais

Histórico da evolução dos. Ermeson Andrade

Histórico da evolução dos. Ermeson Andrade Histórico da evolução dos computadores Ermeson Andrade Histórico A evolução dos computadores tem sido caracterizada pelo: Aumento da velocidade dos Processadores Diminuição do Tamanho dos Componentes Aumento

Leia mais

Aula 06 - Máquina Multinível e Von Neumann

Aula 06 - Máquina Multinível e Von Neumann Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Instalação e Organização de Computadores Aula 06 - Máquina Multinível e Von Neumann Prof. Diego Pereira

Leia mais

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01 Laboratório de Utilização de Microcomputadores (DCA0302) Diogo Pedrosa Hardware Aula 01 Computador Combinação de diversos dispositivos e circuitos digitais que podem executar uma seqüência de operações

Leia mais

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And

Leia mais

O termo computação vem do latim computare significa executar cálculos

O termo computação vem do latim computare significa executar cálculos Gerações dos computadores O termo computação vem do latim computare significa executar cálculos Com a troca de mercadorias no passado surgiu a necessidade de realizar cálculo, com isso novos mecanismos

Leia mais

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos Introdução Computador Máquina destinada a realizar cálculos complexos. Matéria Prima Série de atividades

Leia mais

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO. Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO. Introdução. Ilmério Reis da Silva  UFU/FACOM/BCC GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Introdução Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/icc UFU/FACOM/BCC Def. Ciência da Computação é a disciplina que busca construir uma

Leia mais

Arquitetura de Computadores Aula 1 - Introdução

Arquitetura de Computadores Aula 1 - Introdução Arquitetura de Computadores Aula 1 - Introdução Prof. Othon M. N. Batista Mestre em Informática Roteiro Introdução Uma Visão em Camadas do Hardware Componentes Básicos de um Computador Descrição de Bit,

Leia mais

CP Programação de Computadores Prof. M.Sc. Carlos de Salles

CP Programação de Computadores Prof. M.Sc. Carlos de Salles CP 5003.3 - Programação de Computadores Prof. M.Sc. Carlos de Salles Ementa Introdução e histórico Sistemas de numeração binária e hexadecimal Sistema operacional Linguagem de programação Algoritmos Introdução

Leia mais

Conceitos Básicos de Programação

Conceitos Básicos de Programação BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de

Leia mais

Introdução à Computação MAC0110

Introdução à Computação MAC0110 Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Máquina universal de Turing criada em 1936 por Alan Turing, fundamento teórico para

Leia mais

Introdução à Computação MAC0110

Introdução à Computação MAC0110 Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And Calculator (ENIAC).

Leia mais

Disciplina de. Organização de Computadores Digitais

Disciplina de. Organização de Computadores Digitais USP - SSC-5 Bach. Sist Info / 24-2 USP - ICMC - SSC SSC 5 - Sist. Informação - 2o. Semestre 24 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:

Leia mais

Disciplina de. Organização de Computadores Digitais

Disciplina de. Organização de Computadores Digitais USP - SSC-5 Bach. Sist Info / 24-2 USP - ICMC - SSC SSC 5 - Sist. Informação - 2o. Semestre 24 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:

Leia mais

Informática. História da Informática. O que é Informática? 02/03/2011. História da Informática 1ª Geração. História da Informática 1ª Geração

Informática. História da Informática. O que é Informática? 02/03/2011. História da Informática 1ª Geração. História da Informática 1ª Geração INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Informática UNIDADE I INTRODUÇÃO À INFORMÁTICA: A INFORMÁTICA Deriva da associação entre as palavras Informação

Leia mais

Sistema numérico decimal

Sistema numérico decimal Sistema numérico decimal No sistema numérico decimal, há dez dígitos, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Cada dígito representa um múltiplo de uma potência de dez de acordo com a posicão ocupada pelo dígito

Leia mais

Disciplina de Informática. Curso Tecnólogo em Gestão Ambiental Unidade Erechim Profª. Me. Valéria Espíndola Lessa

Disciplina de Informática. Curso Tecnólogo em Gestão Ambiental Unidade Erechim Profª. Me. Valéria Espíndola Lessa Disciplina de Informática Curso Tecnólogo em Gestão Ambiental Unidade Erechim Profª. Me. Valéria Espíndola Lessa Valeria-lessa@uergs.edu.br 1 O que é Informática? Informática A Informática nasceu da ideia

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Os computadores ditigais podem ser classificados em 5 grupos distintos:

Os computadores ditigais podem ser classificados em 5 grupos distintos: Informática A informática engloba toda atividade relacionada ao uso dos computadores, permitindo aprimorar e automatizar tarefas em qualquer área de atuação da sociedade. Informática é a "Ciência do tratamento

Leia mais

PROGRAMAÇÃO (PRG34) Prof. Rafael Berti Schmitz 2017/1

PROGRAMAÇÃO (PRG34) Prof. Rafael Berti Schmitz 2017/1 PROGRAMAÇÃO (PRG34) Prof. Rafael Berti Schmitz 2017/1 Computação 1. Contar, fazer o cômputo de, : computar votos. 2. Calcular, orçar: Computou a despesa em centenas de reais. 3. Comparar, confrontar, cotejar:

Leia mais

Aula 1: Introdução à Organização de Computadores

Aula 1: Introdução à Organização de Computadores BC1503: Arquitetura de Computadores 1o Trimestre / 2009 Aula 1: Introdução à Organização de Computadores Prof. Raphael Y. de Camargo raphael.camargo@ufabc.edu.br Roteiro da Aula Introdução História da

Leia mais

INTRODUÇÃO AO HARDWARE. Paulo Chagas Júnior

INTRODUÇÃO AO HARDWARE. Paulo Chagas Júnior INTRODUÇÃO AO HARDWARE Paulo Chagas Júnior paulo.robertojr100@gmail.com AGENDA CONCEITO DE INFORMÁTICA INTRODUÇÃO À COMPUTAÇÃO SISTEMA COMPUTACIONAL HARDWARE HISTÓRICO COMPONENTES DE HARDWARE TIPOS DE

Leia mais

INE5223 Informática para Secretariado

INE5223 Informática para Secretariado INE5223 Informática para Secretariado Prof. A. G. Silva 10 de março de 2015 Prof. A. G. Silva INE5223 Informática para Secretariado 10 de março de 2015 1 / 26 Disciplina INE5223 Informática para Secretariado

Leia mais

1.Introdução capaz de executar uma sequência de instruções definidas pelo homem gerar um determinado resultado

1.Introdução capaz de executar uma sequência de instruções definidas pelo homem gerar um determinado resultado 1.Introdução O computador ou dispositivo é capaz de executar uma sequência de instruções definidas pelo homem para gerar um determinado resultado, o qual atenda a uma necessidade específica (ex.: realizar

Leia mais