O que é um algorítmo?
Formas de Representação De Algorítmos
Descrição Narrativa
Fluxograma Convencional
Pseudocódigo
Simbologias Básicas

Um algoritmo pode ser definido como uma seqüência de passos finitos descritos em uma ordem lógica que visam atingir um objetivo bem definido.

Na medida em que precisamos especificar uma seqüência de passos, precisamos utilizar ordem, ou seja, “pensar com ordem”, portanto, precisamos utilizar lógica.

Apesar do nome pouco usual, algoritmos são comuns em nosso cotidiano, como por exemplo, uma receita de bolo. Nela está descrita uma série de ingredientes necessários e uma seqüência de diversos passos (ações) que devem ser fielmente cumpridos para que se consiga fazer o alimento desejado, conforme se esperava, antes do início das atividades (objetivo bem definido).

Quando elaboramos um algoritmo devemos especificar ações claras e precisas, que a partir de um estado inicial, após um período de tempo finito, produzem um estado final previsível e bem definido. Isto significa que o algoritmo fixa um padrão de comportamento a ser seguido, uma norma de execução a ser trilhada, com vistas a alcançar, como resultado final, a solução de um problema, garantindo que sempre que executado, sob as mesmas condições, produza o mesmo resultado.

A importância de se construir um algoritmo: conseguimos visualizar e testar ainda no papel, a solução criada com lógica de programação sem nos preocupar com detalhes computacionais e uma vez concebida uma solução algorítmica para um problema, esta pode ser traduzida facilmente para qualquer linguagem de programação e ser agregada das funcionalidades disponíveis nos diversos ambientes, ou seja, a codificação.

 <<topo>>

 

Formas de Representação de Algoritmos

Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor forma delas.

O critério usado para classificar hierarquicamente estas formas está diretamente ligado ao nível de detalhe, inversamente ao grau de abstração oferecido.

Algumas formas de representação de algoritmos tratam os problemas apenas em nível lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica. Por outro lado, existem formas de representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer a idéia principal, o algoritmo, dificultando seu entendimento.

Dentre as formas de representação de algoritmo mais conhecidas, destacam-se:

  • ·A descrição narrativa;
  • O fluxograma convencional;
  • O pseudocódigo, também conhecido como linguagem estruturada ou Portugol.

 <<topo>>

 

Descrição Narrativa

Nesta forma de representação, os algoritmos são expressos em linguagem natural.

Exemplo:

Receita de um bolo

  1. Misture os ingredientes;
  2. Unte a forma com manteiga;
  3. Despeje a mistura na forma;
  4. Se houver côco ralado;
  5. Então despeje sobre a mistura;
  6. Leve a forma ao forno;
  7. Enquanto não corar, deixe a forma no forno;
  8. Retire do forno;
  9. Deixe esfriar.

 <<topo>>

 

Fluxograma Convencional

Fluxograma é uma ferramenta usada e desenvolvida pelos profissionais de análise de sistemas, bem como, por alguns profissionais de Organização, Sistemas e Métodos. Tem como finalidade descrever o fluxo, seja manual ou mecânico, especificando os suportes usados para os dados e informações. Usa símbolos convencionais, permitindo poucas variações. Representado por alguns desenhos geométricos básicos, os quais indicarão os símbolos de entrada de dados, do processamento dedados e da saída de dados, acompanhados dos procedimentos requeridos pelo analista de sistemas e a serem realizados pelo programador por meio do desenvolvimento do raciocínio lógico, o qual deverá solucionar o problema do programa a ser processado pelo computador.

 <<topo>>

 

Pseudocódigo

Como foi visto até agora, o fluxograma convencional é a primeira forma de notação gráfica, mas existe outra, que é uma técnica narrativa denominada pseudocódigo, também conhecida como português estruturado ou chamada por alguns de portugol.

Esta técnica de algoritmização é baseada em uma PDL – Program Design Language (Linguagem de Projeto de Programação). Neste site, estamos apresentado-a em português. A forma origina de escrita é conhecida como inglês estruturado, muito parecida com a notação da linguagem PASCAL. A PDL (neste caso, o pseudocódigo) é usada como referência genérica para uma linguagem de projeto de programação, tendo como finalidade mostrar uma notação para elaboração de algoritmos, os quais serão utilizados na definição, criação e desenvolvimento de uma linguagem computacional (Clipper, C, Pascal, Delphi, Visual-Objects) e sua documentação. Abaixo é apresentado um exemplo deste tipo de algoritmo.

Programa média
Var
               Resultado: caractere
               N1, n2, n3, n4: real
               Soma, média: real
Início
               Leia n1, n2, n3, n4
               Soma <= n1 + n2 + n3 + n4
               Média <= soma / 4
               Se média >=7
                              Então
                                             Imprima “Aprovado”
                              Senão
                                             Imprima “Reprovado”
               Fim – Se
Fim

A diferença entre uma linguagem de programação de alto nível utilizada em computação e uma PDL é que esta (seja escrita em português, inglês, ou qualquer outro idioma) não pode ser compilada em um computador (por enquanto). Porém, existem “Processadores de PDL” que possibilitam traduzir essa linguagem numa representação gráfica de projeto, fornecendo uma variedade de informações, como: tabelas de referência cruzada, mapas de aninhamento, índice operacional do projeto, entre tantas outras.

ATENÇÃO: Lembramos que o fluxograma e o pseudocódigo são as duas técnicas importantes para a documentação da solução de um problema computacional.

 <<topo>>

 

Simbologias Básicas

Estes são alguns dos símbolos mais conhecidos e utilizados ao longo dos anos pelos profissionais de PD.

Terminal - símbolo utilizado como ponto para indicar o início e/ou fim do fluxo de um programa.
Seta de fluxo de dados - permite indicar o sentido do fluxo de dados. Serve exclusivamente para conectar os símbolos ou blocos existentes.
Processamento - símbolo ou bloco que se utiliza para indicar cálculos (algoritmos) a efetuar, atribuições de valores ou qualquer manipulação de dados que tenha um bloco específico para sua descrição
Entrada de dados - utilizado para ler os dados necessários ao programa.
Saída de dados em impressora - é utilizado quando se deseja que os dados sejam impressos.
Decisão - indica a decisão que deve ser tomada, indicando a possibilidade de desvios para diversos outros pontos do fluxo, dependendo do resultado de comparação e de acordo com situações variáveis.
Preparação - refere-se a um determinado grupo de operações não incluídas da diagramação.
Conector - utilizado quando é preciso particionar o diagrama. Quando ocorrer mais de uma partição, é colocada uma letra ou número dentro do símbolo de conexão para identificar os pares de ligação.
Conector - específico para indicar conexão do fluxo em outra página.

 <<topo>>

1
Hosted by www.Geocities.ws