Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Conceitos de Algoritmos Dominar os conceitos de um algoritmo, sabendo representá-lo das três formas básicas: descritiva (ou narrativa), fluxograma (ou diagrama de blocos) e pseudocódigo (ou português estruturado ou portugol). Algoritmos Um algoritmo é uma sequência finita de instruções bem definidas que levam a solução de uma tarefa, ou um conjunto de regras para a solução de um problema (MANZANO, 2009; DASGUPTA; PAPADIMITRIOU; VAZIRANI, 2009; MANZANO; MANZANO, 2008). Todo algoritmo é feito utilizando-se da lógica. A importância da disciplina de computação básica na formação de engenheiros está relacionada à necessidade de capacitação dos alunos de engenharia na resolução de problemas diversos com o auxílio computacional, combinando o melhor da informática aos avanços tecnológicos. Para resolver um problema de forma automática (com o auxílio do computador), primeiramente é necessário encontrar uma maneira de descrevê-lo com clareza e precisão. Em outras palavras, é preciso encontrar uma sequência finita de passos não ambíguos que levam à sua solução, ou seja, o seu algoritmo. Um exemplo simples de algoritmo é uma receita para preparar um bolo. De acordo com o dicionário Aurélio, um algoritmo é definido como: "Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, regras formais para a obtenção de resultado ou de solução de problema. Conjunto de regras e operações bem definidas e ordenadas, destinadas à solução de um problema, ou de uma classe de problemas, em um número finito de etapas.". É importante lembrar que a descrição do problema deve ser feita sob a perspectiva da máquina. Uma vez que os computadores não entendem descrições de problemas em linguagem natural, é preciso codificá-las em linguagens que lhes são compreensíveis. Tais linguagens são chamadas de linguagens de programação. Nesta etapa aplica-se a conversão de uma forma de representação do algoritmo, o pseudocódigo para uma linguagem especifica. A solução de um problema de forma automática pode ser descrita pelos passos ilustrados na Figura 1. Figura 1. Solução de um problema de forma automática. Todos nós sabemos construir algoritmos. Haja vista o fato de que saímos de casa pela manhã, definimos alternativas de transporte para ir ao trabalho, decidimos qual o melhor caminho para chegar a um lugar ou voltar para casa, etc. Cabe ressaltar que pode haver mais de um algoritmo para resolver um mesmo problema. Por exemplo, a decisão da escolha do transporte para ir ao trabalho poderia ser feita com base nas necessidades individuais. Descrição Narrativa É a forma de representação do Algoritmo através de frases, representando as ações a serem tomadas; as frases são os passos relacionados visando atender o objetivo. Vejamos alguns exemplos: Trocar uma lâmpadaa. 1º passo: Pegar a escada 2º passo: Posicionar a escada embaixo da lâmpada 3º passo: Buscar uma lâmpada nova 4º passo: Subir na escada 5º passo: Retirar a lâmpada velha 6º passo: Colocar a lâmpada nova 7º passo: Descer da escada 8º passo: Guardar a escada Levar o cachorro para passearb. 1º passo: Ir até o quintal 2º passo: Pegar a coleira 3º passo: Chamar o cachorro 4º passo: Colocar a coleira no cachorro 5º passo: Abrir o portão 6º passo: Dar uma volta no quarteirão 7º passo: Entrar em casa 8º passo: Soltar a coleira do cachorro 9º passo: Guardar a coleira Torres de Hanói (Figura 2)c. Considere o enunciado: inicialmente têm-se três hastes, A, B, C, e na haste A possuem três anéis de diâmetros diferentes, em ordem decrescente por diâmetro. O objetivo é transferir os três anéis da haste A para a haste C, usando o B se necessário. As regras de movimentação são: Deve mover um único anel por vez.1. Um anel de diâmetro maior nunca pode ficar sobre algum anel de diâmetro menor.2. Figura 2. Exemplo da Torre de Hanói com 3 discos. Para saber o número de movimentos você pode utilizar a seguinte lei matemática: M(n) = 2n -1. Onde M é o número de movimento e n o número de anéis. Diagrama em Blocos Conhecido como fluxograma, esta forma geométricas descrevem graficamente um algoritmo. Vejamos na Tabela 1, as principais formas geométricas empregadas na construção de um fluxograma: Tabela 1 - Formas geométricas de fluxogramas Por exemplo, o fluxograma abaixo representa o algoritmo de cálculo das raízes de uma equação de 2º grau. Pseudocódigo Também conhecido como Português Estruturado Ou Portugol, é a representação do Algoritmo através de comandos, nele, já existem normas e regras a serem rigorosamente seguidas. Vejamos o exemplo a seguir: Linguagem de Programação A codificação de algoritmos é um assunto que será tratado mais adiante no curso. No entanto, para se ter uma ideia, a codificação do algoritmo dado no exemplo 3 "cálculo das raízes de uma equação de 2º grau", em linguagem C, pode ser feita como segue: Referências DASGUPTA, Sanjoy; PAPADIMITRIOU, Christos; VAZIRANI, Umesh. Algoritmos. São Paulo: McGraw Hill, 2009. HEINEMAN, George T.; POLLICE, Gary; SELKOW, Stanley. Algoritmos: o guia essencial. Rio de Janeiro: Alta Books, 2009. MANZANO, André Luiz N. G.; MANZANO, Maria Izabel N. G. Estudo dirigido de informática básica. São Paulo: Érica, 2008. MANZANO, José Augusto N. G. Estudo dirigido de linguagem C. São Paulo: Érica, 2009. MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de Oliveira. Algoritmos, Lógica para desenvolvimento de programação de computadores. São Paulo: Érica, 19 ed., 2006. MIZRAHI, Victorine Viviane. Treinamento em linguagem C. São Paulo: Pearson, 2008. 2v. SCHILDT, Herbert. Mayer. C completo e total. São Paulo: Pearson, 2006. VILARIM, Gilvan. Algoritmos de programação para Iniciantes. São Paulo: Ciência Moderna, 2004.
Compartilhar