You are on page 1of 7

Algoritmos e Fluxogramas

ALGORITMO
Algoritmo - Uma seqncia de aes finitas encadeadas e lgicas que descrevem como um determinado problema deve ser resolvido. Um algoritmo formalmente uma seqncia finita de passos que levam a execuo de uma tarefa. Podemos pensar em algoritmo como uma receita, uma seqncia de instrues que executam uma meta especfica. Estas tarefas no podem ser redundantes nem subjetivas na sua definio, devem ser claras e precisas. Como exemplos de algoritmos podemos citar os algoritmos das operaes bsicas (adio, multiplicao, diviso e subtrao) de nmeros reais decimais. Outros exemplos seriam os manuais de aparelhos eletrnicos, como um aparelho de som, que explicam passo-a-passo como, por exemplo, gravar um evento. At mesmo as coisas mais simples do nosso dia a dia, podem ser descritas por seqncias lgicas. Por exemplo: Apesar do nome pouco usual, algoritmos so comuns em nosso cotidiano, como por exemplo, uma receita de bolo. Nela est descrita uma srie de ingredientes necessrios e uma seqncia de diversos passos (aes) que devem ser fielmente cumpridos para que se consiga fazer o alimento desejado, conforme se esperava, antes do incio das atividades (objetivo bem definido). Observa-se, porm que uma ordem isolada no permite realizar o processo completo, para isso necessrio um conjunto de instrues colocadas em ordem seqencial lgica. No exemplo do pargrafo anterior para fazermos um bolo no podemos comear por colocar os ingredientes no forno. necessrio todo um processo passo a passo para se chegar a este fim.

Formas de Representao de Algoritmos


Existem diversas formas de representao de algoritmos, mas no h um consenso com relao melhor forma delas. O critrio usado para classificar hierarquicamente estas formas est diretamente ligado ao nvel de detalhe, inversamente ao grau de abstrao oferecido. Algumas formas de representao de algoritmos tratam os problemas apenas em nvel lgico, abstraindo-se de detalhes de implementao muitas vezes relacionados com alguma linguagem de programao especfica. Por outro lado, existem formas de representao de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer a idia principal, o algoritmo, dificultando seu entendimento. Dentre as formas de representao de algoritmo mais conhecidas, destacam-se: A descrio narrativa; O fluxograma convencional; O pseudocdigo, tambm conhecido como linguagem estruturada ou Portugol.

Descrio Narrativa
Nesta forma de representao, os algoritmos so expressos em linguagem natural. Exemplo: Receita de um bolo

1. Separar os ingredientes 2. Bater os ovos em neve na batedeira 3. Acrescentar acar e farinha de trigo 4. Colocar extrato de baunilha 5. Acrescentar uma colher de manteiga 6. Acrescentar uma colher de Fermento em p 7. Verificar se esta doce o suficiente 8. Colocar na forma 9. Colocar no forno e assar 10. Retirar do forno 11. Tirar da forma e servir 12. Fim do processo Quando elaboramos um algoritmo devemos especificar aes claras e precisas, que a partir de um estado inicial, aps um perodo de tempo finito, produzem um estado final previsvel e bem definido. Isto significa que o algoritmo fixa um padro de comportamento a ser seguido, uma norma de execuo a ser trilhada, com vistas a alcanar, como resultado final, a soluo de um problema, garantindo que sempre que executado, sob as mesmas condies, produza o mesmo resultado. A importncia de se construir um algoritmo: conseguimos visualizar e testar ainda no papel, a soluo criada com lgica de programao sem nos preocupar com detalhes computacionais e uma vez concebida uma soluo algortmica para um problema, esta pode ser traduzida facilmente para qualquer linguagem de programao e ser agregada das funcionalidades disponveis nos diversos ambientes, ou seja, a codificao.

Pseudocdigo
Como foi visto at agora, o fluxograma convencional a primeira forma de notao grfica, mas existe outra, que uma tcnica narrativa denominada pseudocdigo, tambm conhecida como portugus estruturado ou chamada por alguns de portugol. Esta tcnica de algoritmizao baseada em uma PDL Program Design Language (Linguagem de Projeto de Programao). Aqui vamos apresent-la em portugus. A forma originas de escrita conhecida como ingls estruturado, muito parecida com a notao da linguagem PASCAL. A PDL (neste caso, o pseudocdigo) usada como referncia genrica para uma linguagem de projeto de programao, tendo como finalidade mostrar uma notao para elaborao de algoritmos, os quais sero utilizados na definio, criao e desenvolvimento de uma linguagem computacional (Clipper, C, Fortran, Pascal, Delphi, Visual-Objects) e sua documentao. Abaixo apresentado um exemplo deste tipo de algoritmo. Os algoritmos so independentes das linguagens de programao. Ao contrrio de uma linguagem de programao no existe um formalismo rgido de como deve ser escrito o algoritmo. O algoritmo deve ser fcil de se interpretar e fcil de codificar. Ou seja, ele deve ser o intermedirio entre a linguagem falada e a linguagem de programao.

Regras para construo do Algoritmo


Para escrever um algoritmo precisamos descrever a seqncia de instrues, de maneira simples e objetiva. Para isso utilizaremos algumas tcnicas: 1. Usar somente um verbo por frase 2. Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com informtica 3. Usar frases curtas e simples 4. Ser objetivo

5. Evite usar palavras que tenham sentido dbio 6. Procure dividir o problema em etapas menores.

Fases Fundamentais
Vimos que ALGORITMO uma seqncia lgica de instrues que podem ser executadas. importante ressaltar que qualquer tarefa que siga comportamento padro pode ser descrita por um algoritmo. Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em trs fases fundamentais...

Entrada

Processamento

Sada

ENTRADA:

So os dados de entrada do algoritmo

PROCESSAMENTO: Procedimentos utilizados para chegar ao resultado final SADA: So os dados j processados

Analogia com o homem

Exemplo de Algoritmo
Imagine o seguinte problema: Calcular a mdia final dos alunos. Pelas provas os alunos recebero 2 notas: N1, N2. Onde:

N1 Mdia Final =

N2

-------------------2

Para montar o algoritmo proposto, faremos trs perguntas: a) Quais so os dados de entrada? b) Qual ser o processamento a ser utilizado? R: Os dados de entrada so N1, N2 R: O procedimento ser somar todos os dados de entrada e dividi-los por 2 (dois) R: O dado de sada ser a mdia final

c) Quais sero os dados de sada?

INICIO do algoritmo Receba a nota da prova1 Receba a nota de prova2 Some todas as notas e divida o resultado por 2 Mostre o resultado da diviso FIM do algoritmo

Fluxograma Convencional
Sabemos que uma figura fala por mil palavras. No processo de aprendizado fixamos com mais facilidade imagens do que conceitos escritos. O diagrama de blocos ou fluxograma uma forma padronizada eficaz para representar os passos lgicos de um determinado processamento. Com o diagrama podemos definir uma seqncia de smbolos, com significado bem definido. Portanto, sua principal funo a de facilitar a visualizao dos passos de um processamento O fluxograma uma ferramenta usada e desenvolvida pelos profissionais de anlise de sistemas, bem como, por alguns profissionais de Organizao, Sistemas e Mtodos. Tem como finalidade descrever o fluxo seja manual ou mecnico, especificando os suportes usados para os dados e informaes. Usa smbolos convencionais, permitindo poucas variaes. Representado por alguns desenhos geomtricos bsicos, os quais indicaro os smbolos de entrada de dados, do processamento dedados e da sada de dados, acompanhados dos procedimentos requeridos pelo analista de sistemas e a serem realizados pelo programador por meio do desenvolvimento do raciocnio lgico, o qual dever solucionar o problema do programa a ser processado pelo computador. uma ferramenta de uso em diversas reas do conhecimento humano, por traduzir em formato grfico algum procedimento ou norma.

Simbologia
Existem diversos smbolos em um diagrama de bloco. No decorrer do curso apresentaremos os mais utilizados. Veja no quadro abaixo alguns dos smbolos que iremos utilizar:

FLUXO DE DADOS Indica o sentido do fluxo de dados. Conecta os demais smbolos

TERMINAL Indica o INCIO ou FIM de um processamento Exemplo: Incio do algoritmo

PROCESSAMENTO Processamento em geral Exemplo: Calculo de dois nmeros

ENTRADA/SADA (Genrica) Operao de entrada e sada de dados Exemplo: Leitura e Gravao de Arquivos

DESVIO (conector) Permite o desvio para um ponto qualquer do programa

ENTRADA MANUAL Indica entrada de dados via Teclado Exemplo: Digite a nota da prova 1

EXIBIR/SADA Mostra informaes ou resultados Exemplo: Mostre o resultado do clculo

DECISO Permite elaborar processos de deciso

CONECTOR DE PAGINA Permite informar de qual pagina vem o fluxograma Dentro do smbolo sempre ter algo escrito, pois somente os smbolos no nos dizem nada. Veja no exemplo a seguir:. Exemplo: Fluxograma de um programa para ler dois nmeros aleatrios diferentes de zero, calcular a mdia dos mesmos e mostrar o resultado encontrado.

Inicio

Digite 1 numero n1 Digite 2 numero n2

SIM Sim Nmeros


so zeros??

NO

Some os dois nmeros e divida por 2

Imprima o resultado encontrado

Fim

Exerccio
1) Faa um teste de mesa do diagrama apresentado abaixo, de acordo com os dados fornecidos:

Teste o diagrama com os dados abaixo SalBase 3.000,00 1.200,00 500,00 Gratif 1.200,00 400,00 100,00 IR SALLIQ

Memria de Clculo: SalBase Gratif SaLBruto

Dados de Sada: SALLIQ

You might also like