Baixe o app para aproveitar ainda mais
Prévia do material em texto
19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 1/17 Disciplina: Informática para Engenharia Aula 1: Introdução à Computação e à Lógica Apresentação O computador não nasceu para o entretenimento ou a escrita de e-mails, mas para resolver uma grave crise de processamento de números. Em 1880, a população dos EUA havia crescido tanto que levou mais de sete anos para tabular os resultados de um censo realizado. Em razão dessa demanda, o governo buscou uma maneira mais rápida de realizar o trabalho, dando origem assim aos primeiros computadores. De máquinas enormes (como o computador Eniac) a dispositivos móveis, a computação viu mudanças tecnológicas incrivelmente rápidas. Atualmente, os notebooks, smartphones e tablets que temos possuem mais poder de computação do que os disponíveis nesses primeiros modelos. Essas atualizações de hardware significariam pouco, no entanto, sem o nascimento e o desenvolvimento dos softwares. De sistemas operacionais e planilhas a aplicativos e jogos para dispositivos móveis, você interage com o software sempre que usa um computador. Objetivos Descrever as origens dos computadores modernos, suas aplicações a partir de um breve histórico e a evolução dessas máquinas; Ilustrar os componentes básicos de um computador: hardware, dados e software; Discutir brevemente a metodologia para a resolução de problemas com o apoio de computadores. 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 2/17 Computadores Digitais Modernos A ideia de computação como vemos atualmente pode ser creditada ao matemático britânico Alan Turing, cuja invenção, datada de 1937, consiste em um dispositivo de computação universal, então chamado de Máquina de Turing. Apesar do interesse inicial na descrição matemática e filosófica da computação, o modelo de Turing serviu de base para o que hoje conhecemos como computador (FOROUZAN; MOSHARRAF, 2011). Nanomachine. (Fonte: Ryotiras <//ryotiras.com/nanomachine/> ) Conhecido também como máquina universal de Turing, a ideia principal por trás desse dispositivo é que ela pode realizar qualquer cálculo se descrevermos como realizar o cálculo (ou seja, o programa) e fornecermos os dados de entrada. Apesar de sua simplicidade, a máquina pode simular qualquer algoritmo de computador, não importa o quão complicado seja! Uma das características nos computadores baseados no modelo de Turing é que os dados são armazenados em sua memória. Entretanto, a primeira demonstração prática de um computador digital ocorreu por volta de 1944–1945 pelo matemático húngaro John von Neumann. (Fonte: ShotPrime Studio / Shutterstock) Tendo como base a máquina de Turing, o modelo von Neumann parte do princípio de que, se o programa e os dados são logicamente os mesmos, seus programas podem ser armazenados juntamente com os dados na memória do computador. http://ryotiras.com/nanomachine/ 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 3/17 Esse é um conceito totalmente diferente da arquitetura dos primeiros computadores, em que somente os dados eram armazenados na memória. Outra característica dessa arquitetura é relacionada com a forma com que as instruções são executadas. Um programa no modelo von Neumann é composto de um número finito de instruções executadas uma depois da outra. O conceito de programa armazenado proposto na arquitetura de von Neumann é baseado nos seguintes subsistemas: 1 Unidade central de processamento 2 Caminhos (bus) de dados 3 Dispositivos de entrada e saída Histórico A história da computação e dos computadores pode ser dividida em três períodos: Máquinas mecânicas (antes de 1930) O período até 1930 se caracterizou por máquinas mecânicas de computação com pouca semelhança com o moderno conceito de computador. Uma das primeiras máquinas projetadas para auxiliar as pessoas em cálculos foi o ábaco. Em 1642, Blaise Pascal (um famoso matemático francês) inventou uma máquina de calcular com base em engrenagens mecânicas em que os números eram representados pelas engrenagens das rodas. O inglês Charles Babbage inventou, na década de 1830, a máquina diferencial, que, além de realizar as cinco operações aritméticas, também resolvia equações polinomiais. Em 1890, Herman Hollerith projetou e construiu uma máquina programável para ler, registrar e ordenar automaticamente dados armazenados em cartões perfurados. 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 4/17 Surgimento dos computadores eletrônicos (de 1930 a 1950) O nascimento dos computadores eletrônicos ocorreu no período de 1930 a 1950, podendo essas máquinas ser consideradas as pioneiras na indústria da computação e tendo como característica principal o não armazenamento do programa na memória. Em 1939, o computador chamado ABC, inventado por John Vincent Atanasoff e Clifford Berry, foi projetado para resolver um sistema de equações lineares. Naquele mesmo período, uma máquina de propósito geral chamada Z1 foi projetada pelo matemático alemão Konrad Zuse. Na década de 1940, o inglês Alan Turing inventou o computador chamado Colossus, projetado especificamente para decifrar códigos de guerra. Em meados da década de 1940, foi fabricado o Eniac, o primeiro computador de propósito geral totalmente eletrônico. Computadores baseados no modelo de von Neumann (de 1950 à época atual) As gerações de computadores da década de 1950 até os dias atuais seguem aproximadamente o modelo de von Neumann. Historiadores dividem esse período em gerações, frequentemente relacionadas às transformações do hardware ou software. A primeira geração (1950–1959) foi marcada pelo surgimento dos computadores comerciais. Disponíveis somente em grandes corporações e construídos a partir de tubos de vácuo, eles eram extremamente grandes e operados por poucos profissionais altamente especializados. Os computadores da segunda geração (1959–1965) tiveram seu tamanho reduzido com a substituição dos tubos de vácuo pelos transistores, o que impactou diretamente a redução do seu tamanho e seu custo; consequentemente, tornaram-se mais acessíveis a companhias de pequeno e médio portes. Ainda nesse período, foram criadas linguagens de programação de alto nível, como Fortran e Cobol, o que tornou a tarefa de programação mais fácil. A quarta geração (1975–1985) foi marcada pelo surgimento dos microcomputadores (decorrente de avanços na indústria eletrônica) e das redes de computadores, em particular a Internet. Já a quinta geração teve início em 1985, perdurando até os dias atuais. Neste período, observamos a evolução dos computadores pessoais até os dispositivos móveis, a popularização da rede mundial de computadores e uma gama de serviços oferecidos pelas tecnologias de informação. Organização dos Computadores 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 5/17 Dados e informação Segundo Aguilar (2008), do ponto de vista simples, um computador processa os dados e os converte em informação significativa. Considerados a unidade básica da informação, os dados são compostos por valores brutos e números, não transmitindo assim uma mensagem que possibilita o entendimento de dada situação. São facilmente obtidos por máquinas, quantificáveis e estruturados. Já a informação são os dados processados, ou seja, é o resultado da análise e interpretação sob determinada ótica. Hardware Com base na arquitetura proposta por von Neumann, podemos classificar as partes que compõem o computador em três amplas categorias: a unidade central de processamento (UCP), a memória principal e o subsistema de entrada e saída. Núcleo da CPU.(Fonte: Rost9 / Shutterstock) A Unidade Central de Processamento (UCP) 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 6/17 A Unidade Central de Processamento (UCP ou CPU, do inglês Central Processing Unit) é responsável pela execução de programas armazenados na memória principal. A realização de operações sobre os dados é essencialmente composta por três partes principais: Unidade lógica e aritmética; Unidade de controle; Um conjunto de registradores. Os cálculos aritméticos, como soma, subtração, divisão e multiplicação, bem como as operações lógicas (NOT, AND, OR e XOR) com os dados são realizados na unidade de lógica e aritmética (ULA). A unidade de controle (UC) é responsável pelo bom funcionamento dos demais subsistemas, determinando que operações devem ser realizadas e em que ordem, além de controlar e sincronizar todo o processamento do computador. O conjunto de registradores representa uma pequena memória com o objetivo de armazenar resultados temporários em algumas informações de controle. Por se encontrarem dentro da UCP, são muito mais rápidos que a memória principal. Memória Principal Memória RAM de um computador. (Fonte: dnd_project / Shutterstock) Com base no modelo de von Neumann, a memória é responsável pelo armazenamento de programas e dados durante o processamento. As memórias podem ser divididas em dois grandes grupos: Memória de acesso aleatório (RAM); Memória somente de leitura (ROM). A memória RAM é considerada volátil, ou seja, tudo o que é armazenado nela é perdido quando o computador é desligado. Em geral, a informação nela armazenada pode ser de dois tipos: as instruções de programas e os dados sobre os quais alteram as instruções. Já a memória ROM contém instruções fundamentais que não podem ser alteradas pelo usuário, ou seja, ela não é volátil. Dada essa característica, geralmente essas memórias são utilizadas para armazenar os programas do sistema de forma permanente (firmware), que serve para iniciar o uso do computador. Um exemplo de memória ROM é o sistema básico de entrada e saída (BIOS, do inglês basic input output system), utilizado durante o processo de inicialização de computadores. 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 7/17 Unidade de Entrada / Saída A unidade de entrada e saída (E/S) aceita entrada (inserção) de dados e programas de dispositivos externos, bem como a saída ou o retorno dos dados, resultado do processamento de alguma operação. Dispositivos de E/S podem ser divididos em duas amplas categorias: 1 Dispositivos de armazenamento 2 Dispositivos sem armazenamento Dispositivos que não são de armazenamento permitem que a CPU/memória se comuniquem com o mundo externo, mas não podem armazenar informações. Como exemplo, podemos citar o teclado, o monitor e a impressora. (Fonte: olllikeballoon / Shutterstock) Os dispositivos de armazenamento podem guardar grande quantidade de informações para posterior recuperação. Eles são mais baratos que a memória principal, e o seu conteúdo não é apagado quando a energia é desligada. Podemos classificá-los em dois grupos: 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 8/17 Magnéticos Os dispositivos magnéticos são os mais antigos e, ainda, amplamente utilizados, principalmente pela sua capacidade de armazenar uma grande quantidade de informação a um custo relativamente baixo. A leitura e gravação das informações nesses dispositivos é realizada por eletromagnetismo. Outra vantagem desse tipo de dispositivo está relacionada com a facilidade e rapidez na manipulação dos dados. Nessa categoria se incluem os discos rígidos, disquetes, Fitas DAT etc. Ópticos Considerados uma tecnologia relativamente recente, os dispositivos óticos utilizam luz de laser para armazenar e recuperar dados. Uma das vantagens desses dispositivos em relação aos meios magnéticos é a durabilidade dos dados. Como exemplo de dispositivos óticos, podemos citar os CDs e DVDs. Software Em uma versão mais simples, arquitetura de Turing poderia representar um computador de propósito específico, máquinas predominantes nas décadas de 1930 e 1940. No entanto, um computador de propósito geral proposto por Turing é mais bem-representado com a adição de um componente: o programa. Resumidamente, um programa consiste de uma sequência de instruções, cada uma delas operando em um ou mais itens de dados. Os passos a seguir ilustram o exemplo de um conjunto de tarefas para a multiplicação de dois números. 01 Digite um número 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 9/17 02 Digite um número 03 Multiplique os dois e armazene o resultado na memória 04 Exiba o resultado Os programas, também chamados de softwares, dividem-se em dois grandes grupos: Softwares de sistema Os softwares de sistema, ou programas do sistema, são um conjunto de programas indispensáveis para que o computador funcione. São exemplos o sistema operacional, os editores de texto, as linguagens de programação e os programas utilitários. 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B07… 10/17 Softwares de aplicações Os softwares de aplicações (ou simplesmente softwares) pertencem a uma categoria de programas que possibilita ao usuário realizar uma tarefa específica. Podemos citar como exemplos os editores de texto, os navegadores de internet, os clientes de e-mail etc. O processo de construção de um software chama-se programação, e o conjunto de instruções que podem ser úteis para sua construção denomina-se linguagem de programação. Assim, os programadores utilizam uma linguagem de programação para a construção de programas utilizando uma metodologia para desenvolvimento de softwares. Desenvolvimento de softwares Modelagem de Problemas De acordo com De SOUZA et al. (2011), a criação de algoritmos é uma tarefa essencialmente intelectual. A partir de uma extensa e minuciosa leitura do enunciado do problema, o objetivo é construir um algoritmo que o resolva. O processo de resolução de problemas envolve a análise e síntese da solução. 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B072… 11/17 1 Análise Na etapa de análise, temos de descobrir os objetivos do problema, identificando os dados e as condições necessárias para resolvê-lo. Com base nisso, realizamos a modelagem do problema, podendo ser formalizada e enriquecida com equações e desenhos gráficos, resultado de um plano de ação. 2 Síntese da solução Com base no plano de ação definido na etapa anterior, na síntese representamos o problema por meio de um algoritmo. Ao executar o código, procuramos verificar se os resultados produzidos são os esperados. Caso contrário, devemos analisar todo o código, realizar as alterações necessárias e executar novamente o algoritmo. Esse passo se repete até que o algoritmo esteja em conformidade com suas especificações. Etapas de Desenvolvimento dos Softwares A motivação para o desenvolvimento de softwares parte de alguma necessidade humana, como um sistema para controlar estoque, gerenciar informações de saúde etc. A construção é baseada na necessidade dos clientes, a partir de informações dadas sobre o que software deve conter e realizar. Essas especificações são geralmente chamadas de requisitos. Traduzidos em especificações técnicas de software, os requisitos dos clientes servem de base para o desenvolvimento do programa. Tipicamente essa tarefa é dividida nas seguintes etapas: Análise Na fase de análise, são criadas as especificações de como o softwareirá funcionar. Projeto Na etapa do projeto, é realizado um refinamento nas especificações na etapa anterior. 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B07… 12/17 Implementação Durante a implementação, o software é construído de acordo com as especificações de projeto, utilizando alguma linguagem de programação. Testes Após a construção do software, são realizados testes para verificar a conformidade com os requisitos estipulados na etapa inicial. Como o cliente explicou 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B07… 13/17 Como o líder de projeto entendeu Como a analista projetou 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B07… 14/17 Como o programador codificou O que o cliente realmente necessitava 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B07… 15/17 Algoritmos e Lógica de Programação De forma geral, o conceito de algoritmo pode ser descrito como um conjunto de regras para a solução de um problema. Essa definição generalista pode ser aplicada a qualquer circunstância que exige a descrição da solução. Assim, um algoritmo descreve de forma clara e correta as instruções que um programa deverá conter para que nos dê os resultados esperados. O exemplo a seguir ilustra uma sequência de passos para o cálculo da área de um triângulo. Exemplo Início Ler valores para a base e a altura; Calcular a área do triângulo, dada pela multiplicação da base pela altura dividida por 2; Exibir a área calculada. Fim A formalização da sintaxe de um algoritmo consiste da definição de um conjunto de regras, que indicam os tipos de comando e expressões. Pode-se citar como exemplo de elementos sintáticos as estruturas de programação (sequenciais, de decisão e de repetição), os tipos de dados (numéricos, alfanuméricos etc.), as variáveis e constantes, os operadores e as funções e procedimentos. Já a semântica de um algoritmo estabelece regras para sua interpretação através da análise de símbolos ou comandos. A correta representação de um problema depende de extensa leitura e da utilização correta das ferramentas disponíveis. 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B07… 16/17 Atividade 1. Qual foi o primeiro dispositivo de computação digital programável eletrônico? a) Máquina analítica b) Máquina de diferença c) Colossus d) Eniac 2. Qual é o nome da arquitetura geral que a maioria dos computadores usa nos últimos 40 anos? a) Arquitetura de Turing b) Arquitetura Hopper c) Arquitetura Numa d) Arquitetura von Neumann 3. Sobre a organização dos computadores, correlacione os conceitos com os respectivos termos. a) Elementos de armazenamento de alta velocidade contidos na principal parte de um computador. b) A seção da UCP que seleciona, interpreta e cuida da execução das instruções do programa. c) Unidade responsável por registrar as informações fornecidas pelo usuário e enviá-las para a CPU. 4. Descreva os passos envolvidos na modelagem de problemas através do uso de algoritmos. Correlacione essa metodologia com atividades do seu cotidiano. 19/11/2020 Estácio estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D2338254ABBF19DC3C579057D5F6751F493C453DDA5EC2326A3618B07… 17/17 Referências AGUILAR, L. J. Fundamentos de programação: algoritmos, estruturas de dados e objetos. 3. ed. São Paulo: McGraw-Hill, 2008. DE SOUZA, M. A. F. et al. Algoritmos e lógica de programação: um texto introdutório para engenharia. 2. ed. São Paulo: Cengage Learning, 2011. FOROUZAN, B.; MOSHARRAF, F. Fundamentos da ciência da computação. São Paulo: Cengage Learning, 2011. Próximos Passos Apresentar técnicas para a modelagem de problemas; Abordar formas de representação dos algoritmos; Desenvolver algoritmos a partir de estudos de casos. Explore mais Assista ao vídeo “Como surgiu e como funciona o computador”. Disponível em <https:// www.ted.com/ talks/ olivier_scalabre_the_next_ manufacturing_revolution_ is_here? language=pt-br <https://www.ted.com/talks/olivier_scalabre_the_next_manufacturing_revolution_is_here? language=pt-br> >. Acesso em 27 de jun 2018. Assista à palestra “A próxima revolução industrial já está acontecendo”. Disponível em <https:// www.ted.com/ talks/ olivier_scalabre_the_next _manufacturing_revolution_ is_here? language=pt-br <https://www.ted.com/talks/olivier_scalabre_the_next_manufacturing_revolution_is_here? language=pt-br> >. Acesso em 27 jun 2018. https://www.ted.com/talks/olivier_scalabre_the_next_manufacturing_revolution_is_here?language=pt-br https://www.ted.com/talks/olivier_scalabre_the_next_manufacturing_revolution_is_here?%20language=pt-br
Compartilhar