Buscar

1 Conceito de Algoritmos

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.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando