Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmo SST Francisco, Luciano Furtado Correa Algoritmo / Luciano Furtado Correa Francisco Ano: 2020 nº de p.: 11 Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados. Algoritmo 3 Apresentação Nesta unidade, discutiremos o conceito de algoritmo, que é um conjunto de regras de operação e que sua aplicação permite resolver determinado problema existente ou que possa vir a existir. Isso significa dizer que, quando temos um problema e vamos em busca da solução, estamos construindo um algoritmo. O passo a passo para a construção de um algoritmo leva em consideração: identificação do problema, análise desse problema, surgimento de uma solução possível. A unidade também irá buscar compreender os tipos existentes de algoritmo, aprofundando sobre fluxograma. O que é algoritmo? Algoritmo é um: Conjunto das regras de operação (conjunto de raciocínios) cuja aplicação permite resolver um problema enunciado por meio de um número finito de operações; pode ser traduzido em um programa executado por um computador, detectável nos mecanismos gramaticais de uma língua ou no sistema de procedimentos racionais finitos, utilizado em outras ciências, para resolução de problemas semelhantes. (MICHAELIS, 2018, s.p.). Reflita Você achou que fosse uma palavra que fora de seu cotidiano até a leitura deste e-book, mas, a partir de agora, você verá o quanto ele é atuante em sua vida, pois quando temos um problema, seja ele de qualquer complexidade, e pensamos na melhor maneira para sua resolução, estamos construindo, sem nos dar conta, um algoritmo. 4 Cada solução poderá ter diferentes caminhos, métricas, tempo, dificuldades, mas sempre terá um fim, ou seja, a resolução, que pode estar relacionada à criação de um software, à cura de uma doença e a tantos outros problemas. Segundo Cormen et al. (2009), existem vários problemas que podem ser resolvidos com a utilização de algoritmos, como os seguinte exemplo: Projeto Genoma Humano Identificar os milhões de genes de nosso DNA; sequenciar os bilhões de pares de bases químicas neles existentes; e, após isso, armazená-lo em um banco de informações, para que sejam desenvolvidas formas de análise para esses dados; Internet Disponibilizar às pessoas do mundo inteiro o acesso ágil a informações e dados de pesquisa, por meio de um programa de computador; Comércio eletrônico Possibilitar a compra de suprimentos, por meio da Internet, utilizando a troca de informações sigilosas (como número de cartão de crédito), protegida contra crackers; Nas indústrias e em vários tipos de comércios Por exemplo, uma petrolífera utilizará dados que levem técnicos ao poço, com a finalidade de obtenção de maiores lucros. Como pôde ser visto, para um algoritmo existir, deve haver, então, algum tipo de problema ou o seu possível surgimento; sendo que o alcance de uma resolução satisfatória, para ele, dependerá de uma sequência de passos a ser seguida. A fim de entender melhor o assunto, imagine a seguinte situação: você está doente, necessitou ir ao médico, que lhe passou uma medicação, por meio de um receituário. 5 Note que sua doença foi identificada porque houve sintomas que, por sua vez, permitiram a análise médica e geraram a indicação do tratamento, composto pela medicação e a maneira como ela deve ser utilizada. Para tanto, no receituário médico, estão mencionados a quantidade, os horários, os dias para uso de cada um dos remédios – são passos/regras que devem ser seguidos à risca para se alcançar a solução do problema, isto é, a cura da doença (neste caso). Esse simples exemplo mostra todo o processo que um algoritmo faz: Identificação do problema: você está doente e precisa ir ao médico; Análise do problema: os sintomas são explicados ao médico, que analisa a melhor conduta terapêutica; Implementação da análise: o médico prescreve a medicação, com a quantidade de dias, do medicamento e os horários em que devem ser tomados; Solução: após o término do remédio, você está curado. 6 Vamos para mais um exemplo: você está em casa e necessita ir ao banco para sacar dinheiro antes de ir jantar. Automaticamente, a agência mais próxima vem ao seu pensamento, bem como se utilizará carro, moto, transporte público, bicicleta ou se é possível chegar lá a pé. Antes de se decidir, para não esquecer, você separa em sua carteira o cartão, para acessar o sistema no caixa eletrônico. Escolhido o destino, você segue até ele; ao chegar, você procura o terminal de autoatendimento, coloca seu cartão, digita a senha, opta pelo valor de saque, digita sua senha novamente, pega o dinheiro, confere se a quantia está correta, finaliza sua sessão e vai jantar. Pronto! E mais um algoritmo está criado! Exemplo Após esses exemplos, já é possível perceber as diversas situações cotidianas que necessitam de uma lógica para alcançar o resultado esperado, não é? Pois bem, algoritmo é isso: receber um problema, analisar as possibilidades e chegar a uma solução. Não é tão complexo quanto parece, você não acha? Na área de Tecnologia da Informação, os algoritmos podem ser utilizados em quase todas as suas subáreas, como: criação de software, montagem de um hardware, prototipação de um projeto de infraestrutura, solução de uma estrutura de rede, suporte ao usuário, entre outras. É claro que, para cada problema, existe um tipo de algoritmo diferente, mas sempre o objetivo é a utilização de algoritmos para solucionar o problema de forma eficaz e eficiente. Se você aprender a utilizar a lógica para a resolução de um problema, conseguirá entender o algoritmo. De acordo com Cormen et al. (2009), para ter um algoritmo que funcione e atinja seu potencial esperado, deve haver uma combinação de software (o algoritmo) e hardware (equipamento), já que será preciso acessar os recursos da máquina na qual o algoritmo está sendo executado. Atenção 7 Para entender melhor esse assunto, deixa eu te perguntar: você conhece o famoso dinheiro eletrônico bitcoin? E já ouviu falar de “mineradores” de bitcoins? Bitcoin é uma moeda mundialmente conhecida pelo mercado da informática. Atualmente, 1 bitcoin equivale no Brasil a 30 salários mínimos! Já é possível utilizar essa moeda virtual para comprar produtos na internet, trocar bitcoins por dinheiro comercial, entre outros. E a “mineração” de bitcoins? Em 2010, quem fazia essa “mineração” em seus desktops, e contava que, quando executado o script (algoritmo), o computador utilizava 100% de CPU e 100% de memória RAM, ou seja, caso você quisesse utilizá-lo para outros afazeres, isso não seria possível. Hoje, já existem empresas especializadas na “mineração” de bitcoins: aluga-se uma máquina na nuvem e ela vai “minerando” por você. Antigamente, quando o bitcoin ainda estava ganhando seu mercado, eram utilizados computadores desktops com configuração padrão e de baixa eficiência. Dá para imaginar a dificuldade? Curiosidade O exemplo acima evidencia que um algoritmo só funciona bem se software e hardware andarem de mãos dadas. Pode até ser que você desenvolva um código simples, de baixa complexidade, mas se ele exigir muito do hardware, pode haver lentidão em sua execução. Tipos de algoritmos Existem três tipos de algoritmos, que podem ser utilizados para elaboração de um fluxo bem definido de regras para obtenção de uma solução: descrição narrativa, pseudocódigo e fluxograma, sendo que este último vamos ver a seguir. Fluxograma O fluxograma é um método comumente utilizado para definir ações (ou passos), em forma de figuras geométricas, com a finalidade de resolver um problema. Essa é uma opção para especificar de forma clara e objetiva um processo como um todo. 8 Como se trata de um método universal, ele utiliza essa simbologia: Símbolos utilizados em fluxogramas Terminação: figura utilizada para início e final do fluxograma; Processo: figura utilizada para a execução de operações, para ações específicas; Entrada Manual:figura utilizada para todo o dado de entrada de uma variável; Exibir: figura utilizada para mostrar toda saída de uma informação por meio de vídeo; Decisão: figura utilizada para expressar toda tomada de decisão dentro do processo. Por exemplo: se acontecer isso, faça “tal ação”; se não, faça “outra ação”; Preparação: figura utilizada para expressar uma ação de preparação para o processamento de uma informação, ou seja, um processamento pré-definido; Conector: figura utilizada para interligar ou desviar o fluxograma para outro trecho; Conector de Páginas: figura utilizada para interligar partes do fluxograma em páginas distintas; Seta de Fluxo: figura utilizada para indicar o sentido do fluxograma. Fonte: Elaborada pela autora (2018). Os fluxogramas são muito utilizados por gestores, em negócios, mas se imagine explicando uma lógica de programação e mostrando um código pronto para ele. Com certeza, não haveria clareza na comunicação, por isso desenvolvedores exemplificam programas em forma de fluxograma. Veja na figura a seguir quatro símbolos mais utilizados (seta de fluxo, terminação, processo e decisão). 9 Fluxograma para se trocar uma lâmpada Fonte: Adaptado de Forbellone e Eberspächer (2005). 10 Começa-se o fluxograma com a terminação “início”; após isso, temos o primeiro processo: “ir para o primeiro soquete”. Indica-se, então, um processo de decisão: “soquete testado < 10”. Se V (Verdadeiro/SIM), continua para o próximo processo: “acionar o interruptor” e segue os próximos passos; caso a resposta seja F (Falso/ NÃO), ele pula todos os passos e vai direto para a terminação “fim”, pois, seguindo a lógica, o soquete foi testado e funciona perfeitamente. Repare que a seta de fluxo é utilizada para ligar um processo ao outro; portanto, nunca um processo fica sem uma ligação. A utilização de fluxogramas é constante na elaboração e tratativas de projetos estruturados, protótipo de softwares, brainstorming, diagramas relacionados à engenharia de software e também banco de dados. Muitos desenvolvedores, ao receberem uma proposta de criação, elaboram um fluxograma, contendo as principais ideias do processo. Essa é uma prática correta, para que o planejamento seja colocado em prática posteriormente, pois ajuda na previsão de possíveis problemas ao longo do desenvolvimento de um algoritmo. Atenção Fechamento Foi possível entender que um algoritmo é um conjunto de regras de operação que visa a solução de um problema, podendo ser executado como um programa de computador, por exemplo. Entre os tipos de algoritmos existentes, estudamos o fluxograma, que é um método utilizado com frequência para definir ações/passos, em forma de figuras geométricas. A escolha dessa forma de representação é simples, clara e objetiva para demonstrar o fluxo dos dados, o que facilita a leitura e compreensão do que está sendo discutido. 11 Referências CORMEN, T. H. et al. Algoritmos: teoria e prática. 3. ed. Rio de Janeiro: Elsevier, 2012. FORBELLONE, A. E.; EBERSPÄCHER, H. F. Lógica de programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson, 2005. MICHAELIS. Dicionário Brasileiro da Língua Portuguesa. [On-Line]. São Paulo: Melhoramentos. 2018. Disponível em: http://michaelis.uol.com.br/moderno- portugues/busca/portugues-brasileiro/algoritmo/. Acesso em: 26 maio 2018. http://michaelis.uol.com.br/moderno-portugues/busca/portugues-brasileiro/algoritmo/ http://michaelis.uol.com.br/moderno-portugues/busca/portugues-brasileiro/algoritmo/
Compartilhar