Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos Aula 1 - Introdução à lógica de programação Introdução Nesta aula, vamos apresentar um breve histórico das linguagens de programação e mostrar como a maioria dos computadores funciona internamente e seus principais componentes. Bons estudos! Entendendo a programação... A Informática é uma área que permeia quase todas as outras áreas. Na Engenharia, Agronomia, Arquitetura e até nas artes podemos encontrar exemplos de aplicações da tecnologia da informação. Um sistema computacional é composto pela combinação de hardware e software. O que é lógica de programação? A forma de representar o pensamento é muito importante na programação de computadores porque, quando um programador ou analista pensa em um programa, ele precisa saber expressar seu raciocínio por meio de uma representação ou mesmo de uma linguagem gráfica. Nas empresas, isso é muito comum. Existem diagramas específicos para representar fluxos de processos e outros procedimentos. Por exemplo: os organogramas, que mostram a divisão funcional de pessoas; as plantas de arquitetura e outros exemplos nos quais encontramos desenhos que representam algum processo ou projeto. Atenção Na informática não é diferente, e usamos alguns recursos para representar o conhecimento. Os exemplos mais comuns são os fluxogramas e os algoritmos. Você vai perceber que esses recursos não são exclusivos da área. Eles podem e devem ser usados em várias situações do nosso dia. Vamos estudar cada um deles. Os fluxogramas Em qualquer tipo de tamanho de projeto, sendo ele de software ou não, é feito um planejamento ou um esboço do que será desenvolvido. Esses esboços são muito importantes porque ajudam tanto a equipe de desenvolvimento quanto o cliente a entender melhor o problema a ser resolvido. Servem também como uma ferramenta de apoio e linguagem comum entre quem está desenvolvendo e o cliente. Uma forma de criar o esboço de um projeto em programação de computadores é o fluxograma. Fluxograma O fluxograma é uma representação gráfica de um processo ou fluxo de trabalho, feito com figuras geométricas padronizadas e setas ligando cada figura. Também pode ser definido como o gráfico que representa o caminho feito por algum elemento (como, por exemplo, um documento), entre os vários departamentos de uma empresa. Saiba mais A representação gráfica possibilita que entendamos, de forma rápida e fácil, uma solução para um problema e mostra como as informações ou documentos entre os elementos que participam no processo são transformadas. Criação de fluxogramas A existência de fluxogramas na representação de processos é fundamental para a padronização do trabalho. Além de auxiliar a compreensão dos processos desenvolvidos em cada departamento ou área da empresa, pode indicar oportunidades de otimização. Veja dois exemplos de fluxogramas: 1. Suponha que um processo vá ser representado por um retângulo. E para o início e fim do desenho, vamos usar um retângulo arredondado. Sendo assim, para ligar um carro, o desenho do fluxo seria assim: 2. Vamos examinar um exemplo de outra situação: o objetivo é determinar o valor do saldo no final do 3º mês de uma aplicação financeira, com investimento inicial de R$100,00, com juros de 1% ao mês. Observe o fluxograma a seguir: No nosso exemplo, temos alguns valores que podem variar: i: valor do investimento inicial; j: a taxa de juros; p: saldo ao final do 1º mês; s: saldo ao final do 2º mês; t: saldo ao final do 3º mês. Você sabe o significado de cada figura nos fluxogramas? No fluxograma, vimos que existem figuras diferentes, cada uma delas com um significado. Observe: Observe agora um fluxograma um pouco mais complexo: Não diga que é complicado! Ele é apenas um pouco mais elaborado do que os outros e mostra que nem todas as tarefas são sequenciais. O que faz este fluxograma? Ele avalia e calcula as raízes de uma equação do segundo grau. Para que seja possível executar a operação x = -b/(2*a), é preciso verificar se o valor de a não é zero. Para terminar, observe que também existem fluxogramas para problemas que não sejam exclusivamente matemáticos.Veja o fluxograma a seguir: A outra forma que vamos estudar, a qual representa uma solução de um problema, é o famoso algoritmo. Algoritmos O algoritmo é a representação do pensamento descrito como uma sequência de passos que visam atingir um objetivo. Quer ver um exemplo? Olhe como eles são mais simples e corriqueiros do que imaginamos: • Receita de bolo; • Orientação para se chegar a algum endereço; • Um manual de instruções. E qual a importância dos algoritmos na programação? Eles servem para representar o raciocínio, independentemente de detalhes computacionais, ou seja, deixam os detalhes que uma linguagem de programação possui. Esses detalhes podem ser acrescentados mais tarde. O importante é focalizar primeiro na resolução algorítmica do problema, possibilitando depois codificá-la em qualquer linguagem. Escrever um algoritmo é fácil. E quanto mais simples você escrever, mais claro e objetivo ele será. Quer ver um exemplo? Como fazemos para trocar uma lâmpada? Trata-se de uma sequência de passos, não é mesmo? Temos que: 1. Pegar uma escada; 2. Posicionar a escada embaixo da lâmpada; 3. Buscar uma lâmpada nova; 4. Subir na escada; 5. Retirar a lâmpada velha; 6. Colocar uma lâmpada nova. Saiba mais Dependendo da equipe, do problema ou do projeto, é bom usar uma dessas duas formas (algoritmos ou fluxogramas), ou até mesmo as duas formas simultaneamente, se for o caso, para poder esclarecer com precisão a solução de um determinado problema. O algoritmo é muito usado em várias situações. Na matemática, existem vários tipos de algoritmos, assim como na genética em Biologia e até mesmo na Administração e Economia. Como escrever um algoritmo? A forma mais comum de escrever um algoritmo é usar uma linguagem chamada de português estruturado ou portugol. Esta forma é a que mais se aproxima da definição de algoritmos como conhecemos. O português estruturado é uma simplificação da nossa linguagem natural, na qual usamos frases simples e estruturas que possuem um significado muito bem definido. Apesar disso, a aparência do português estruturado é muito semelhante a uma linguagem de programação tradicional. Ele possui um conjunto de palavras e regras que formam as sentenças válidas e compõem a sintaxe da linguagem. Veja o exemplo de um algoritmo em português estruturado na tela do computador: Ele também serve para documentar qualquer tipo de processo, em qualquer área. Você já entendeu que é possível representar programas de computador ou processos por meio de figuras (no fluxograma) ou por texto (no caso de algoritmo). É preciso agora entender como de fato os computadores são programados. Para isto, usamos uma linguagem de programação. Reflexão Em 1960, não tínhamos a internet na forma como é hoje, logo a linguagem Fortran, que é uma das primeiras a serem usadas em grande escala, não serve para programar para a internet. Essa linguagem era voltada para as características de sua época como cálculos científicos e outros. E assim ocorreu com as outras linguagens. Veja como evoluíram até chegar à linguagem C++, que vamos estudar nesta disciplina. E veja que o C++ deu origem a duas grandes linguagens muito usadas atualmente: o Java e o C#. A divisão da história do computador em gerações ➢ Primeirageração A primeira geração dos computadores foi marcada pelo ENIAC (Electrical Numerical Integrator and Calculator). Ele foi criado em 1943 por John Eckert e John Mauchly e era bem diferente do que conhecemos por um computador atual. Imagine um computador que pesava 30 toneladas e ocupava 180 metros quadrados (é maior do que muitos apartamentos atuais) e fazia incríveis 5 mil somas ou 360 multiplicações por segundo. Para você ter uma ideia, o Intel I7 980-X pode fazer 20.000.000.000 de operações por segundo (20 GFlops). Mas para a época, era uma grande máquina e um belo avanço. Veja o ENIAC: Figura 1: O ENIAC. Fonte: http://t1.gstatic.com/ e http://images.wikia.com/. Além de ser muito grande, o ENIAC possuía mais de 17 mil válvulas. Naquela época não existiam os componentes eletrônicos que temos hoje, então eles usavam válvulas para poder criar os circuitos. O problema das válvulas é que elas esquentavam demais e, sendo assim, o ENIAC emitia mais de 200.000 watts de calor. Uma válvula é semelhante a uma lâmpada incandescente. Em 1951, foi criado o UNIVAC (Universal Automatic Computer). Os computadores desta época eram diferentes dos atuais em vários sentidos. Um deles é que os computadores eram construídos com finalidades muito específicas. No caso do UNIVAC, sua principal aplicação era a apuração do censo populacional dos EUA. Eis o UNIVAC: Figura2: http://www.computerhistory.info/Page4.dir/pages/U nivac.dir/images/UnivacOperatorConsole.jpg. ➢ Segunda geração A segunda geração dos computadores ficou marcada pelo desenvolvimento do transístor em 1947. Os transístores oferecem muitas vantagens em relação às válvulas: São muito menores que as válvulas; Muito mais econômicos; Muito mais rápidos; Não esquentam. Nessa geração, também apareceram linguagens de programação que ainda são usadas até hoje em algumas aplicações. Entre elas, temos o Assembly, Cobol e Fortran. Porém, os computadores ainda não eram pessoais. Ou seja, eram criados apenas para aplicações específicas, e muitas delas para aplicações militares (1947 foi o final da II Guerra Mundial e início da chamada Guerra Fria). Figura 3: O transistor (http://static.infoescola.com/ http://pt.dreamstime.com/). ➢ Terceira geração A terceira geração dos computadores foi no período de 1965 a 1970. Outro grande avanço na eletrônica contribuiu diretamente na arquitetura dos computadores: o surgimento do circuito integrado (CI), também chamado de microchip. O CI é uma “pastilha” que contém muitos circuitos eletrônicos dentro dela. A indústria de miniaturização conseguiu, ao longo dos tempos, deixar os componentes eletrônicos cada vez menores. Assim, contribuiu também com a indústria de computadores, diminuindo seu tamanho e deixando-os serem consumidos por pessoas e entusiastas de eletrônica durante essa época. Um grande exemplo de computador dessa época foi o IBM Série 360, de 1964. Você percebe pela sua figura que ele é bem menor que seus antecessores e era usado comercialmente e para fins científicos. Figura 4: O IBM 360 (https://pt.wikipedia.org/wiki/IBM_System/360#/me dia/File:DM_IBM_S360.jpg). ➢ Quarta geração A quarta geração tem início no começo da década de 1970. Os computadores ficam menores ainda e começam a usar o microprocessador, que é um circuito com vários circuitos eletrônicos presentes internamente. Um único microprocessador dessa época tinha mais poder de processamento do que os ENIAC da primeira geração. Uma calculadora eletrônica em 1977, por exemplo, conseguia fazer 250 milhões de multiplicações por segundo. Comparado com o ENIAC, foi um grande avanço em pouco tempo. Na época, personagens como Steve Jobs, Bill Gates, Steve Wozniak e outros apareceram. Tratava-se de jovens que conheciam eletrônica e perceberam a capacidade que os computadores poderiam exercer na sociedade e nas pessoas. Figura 5: O microchip (https://pt.wikipedia.org/wiki/Microprocessador#/me dia/File:AMD_INFERIOR.JPG). Como um computador é organizado internamente? Muito bem, um estudo introdutório de programação não pode deixar de abordar a plataforma onde ele vai ser utilizado. O hardware é o parceiro do software, por isso, vamos estudar a organização básica de computadores, ou seja, vamos ver como ele é por dentro. Assim como qualquer equipamento moderno como a TV, o telefone, o automóvel e outros, o computador é fruto direto da evolução tecnológica das últimas décadas. É claro que em 1940, quando apareceu o primeiro computador, a tecnologia não era como hoje. Naquela época, mal tínhamos a telefonia como conhecemos hoje, imagine um computador. A história dos computadores é dividida em gerações, e vamos dar uma rápida olhada em cada uma delas: Dias atuais Depois da quarta geração, os computadores tiveram uma evolução muito rápida. Assim como a tecnologia evoluiu em outras áreas, o computador seguiu esta evolução. Porém, mesmo com os computadores modernos que temos hoje, ultrabooks, tablets, surfaces e outros, sua arquitetura interna não foi tão modificada assim. Essa arquitetura foi criada por John Von Neumann, um matemático húngaro naturalizado estadunidense que contribuiu com várias áreas, inclusive a computação. A arquitetura desenvolvida por ele é usada de uma maneira geral nos computadores mais modernos, inclusive em supercomputadores, com algumas variações, mas de qualquer forma obedecem ao princípio desenvolvido por Von Neumann. A arquitetura tem o seguinte diagrama. Von Neumann sugeriu uma forma de organizar o computador por meio dos seguintes elementos: UMA MEMÓRIA, DIVIDIDA EM PRIMÁRIA E SECUNDÁRIA A memória primária é o que conhecemos como RAM: memória de acesso aleatório, podendo ser escrita e apagada. UMA UNIDADE DE CONTROLE Responsável pela sincronização entre os demais componentes. UMA UNIDADE LÓGICA E ARITMÉTICA (ALU) Responsável pelos cálculos e seus controles. DISPOSITIVOS DE ENTRADA E SAÍDA Compreendendo os discos, pendrives e demais dispositivos de armazenamento. Atividade Observe o esquema a seguir e escreva qual funcionamento básico de um computador convencional de acordo com seu significado. componentes principais de um computador e seu funcionamento 1. Armazenamento Secundário 2. Entrada 3. Processamento 4. Processamento 5. Saída 2. O elemento de um microcomputador que não pode ter dados gravados pelo usuário, mas cuja gravação das informações referentes às rotinas de inicialização é feita pelo fabricante do microcomputador é: A memória ROM. 3. Assinale a alternativa correta: Os algoritmos são independentes da linguagem de programação. 4. Verifique as afirmações abaixo e assinale a alternativa correta: I) Fluxograma e algoritmo são a mesma coisa. II) O fluxograma serve para mostrar um processo de uma maneira gráfica. III) O algoritmo mostra os detalhes de implementação de uma linguagem. Somente a II. 5. Segundo o conceito da Máquina de Von Neumann: Instruções e dados são armazenados na mesma memória.
Compartilhar