Slide # 1
Slide # 2
Slide # 3
Slide # 4
Slide # 5

17 de julho de 2014

Veja neste artigo os conceitos básicos de algoritm.

Artigo realizado sob orientação do professor Juliano Schimiguel - Universidade Cruzeiro do Sul.

Problemas são questões propostas em busca de uma solução. Com o propósito de conceder uma solução para certo problema, existem os algoritmos, cada problema que é decídivel possui um algoritmo que determina uma solução para cada instância desse problema.
Algoritmos descrevem passo a passo os procedimentos para chegar a uma solução de um problema e podem ser representados de três formas:
  • A forma de descrição narrativa, na qual se usa a linguagem nativa de quem escreve. Essa forma não segue um padrão definido e pode sofrer várias interpretações por quem lê;
  • Outra forma de representar um algoritmo é o fluxograma, uma representação visual que utiliza símbolos que são figuras geométricas, cada uma com sua função específica. Essa representação, como o próprio nome diz, mostra o fluxo do algoritmo e também elimina as várias interpretações que a descrição narrativa permitia sobre um algoritmo;
  • Por último, existe a linguagem algoritma (Pseudocódigo ou Portugol) que é a que mais se aproxima da estrutura de uma linguagem estruturada.
Um tipo de algoritmo muito usado na resolução de problemas computacionais são os algoritmos de ordenação, que servem para ordenar/organizar uma lista de números ou palavras de acordo com a sua necessidade. As linguagens de programação já possuem métodos de ordenação, mas é bom saber como funcionam os algoritmos, pois há casos de problemas em que o algoritmo de ordenação genérico não resolve, às vezes é necessário modificá-lo.
Os mais populares algoritmos de ordenação são: Insertion sort, Selection sort, Bubble sort, Comb sort, Quick sort, Merge sort, Heap sort e Shell sort. Neste artigo serão estudados os algoritmos Bubble sort, Selection Sort, Quick sort e o Insertion sort, explicando o funcionamento de cada um deles.

Definição de Algoritmos

O Algoritmo é um esquema de resolução de um problema. Pode ser implementado com qualquer sequência de valores ou objetos que tenham uma lógica infinita (por exemplo, a língua portuguesa, a linguagem Pascal, a linguagem C, uma sequência numérica, um conjunto de objetos tais como lápis e borracha), ou seja, qualquer coisa que possa fornecer uma sequência lógica.
Podemos ilustrar um algoritmo pelo exemplo de uma receita culinária, embora muitos algoritmos sejam mais complexos. Um Algoritmo mostra passo a passo os procedimentos necessários para resolução de um problema.

Descrição Narrativa

A descrição narrativa é o uso da sua língua nativa para descrição dos passos para se resolver um problema.
A vantagem dessa forma de representação é que qualquer um pode fazê-la sem ter conhecimentos avançados.
A desvantagem é que não há um padrão, cada pessoa pode escrever como quiser. Outra desvantagem é a imprecisão, ou seja, a descrição pode não ficar clara e pode-se tirar várias interpretações diferentes de um mesmo algoritmo.
Abaixo temos um exemplo de algoritmo usando a descrição narrativa:
Listagem 1: Algoritmo “Calculando a média” em descrição narrativa
Início 
 Passo 1: Obter os valores de n1,n2,n3; 
 Passo 2: Somar os valores do passo 1; 
 Passo 3: Dividir o resultado obtido no Passo 2 por 3;
 Passo 4: Se o resultado do Passo 3 for maior ou igual a 6 então escreva
 “Parabéns você foi aprovado”, senão, escreva “Infelizmente você ficou de exame”
 e vá para o fim do programa 
Fim 

Fluxograma

O fluxograma passou a ser usado para eliminar ambiguidades dos algoritmos. São símbolos gráficos padronizados, cada um representado por uma forma geométrica que implica em uma ação, instrução ou um comando distinto.
Esta forma é intermediária a descrição narrativa e ao pseudocódigo, pois é mais precisa do que a primeira, porém, não se preocupa com detalhes de implementação do programa, como os tipos das variáveis usadas.

Figura 1: Algoritimo “Calcular Média” em representação de fluxograma

Linguagem Algoritma (Pseudocódigo ou Portugol)

Algoritimo “Calcular Média” em representação de fluxograma

Essa forma de representação surgiu para tentar suprir as deficiências das outras representações. Consiste na definição de uma pseudolinguagem de programação, cujos comandos são em português, mas que já lembram um pouco a estrutura de uma linguagem de programação estruturada, ou seja, a pseudolinguagem se assemelha muito ao modo como os programas são escritos. Isso vai permitir que os algoritmos sejam traduzidos, quase que diretamente, para uma linguagem de programação.
Listagem 2: Algoritmo “Calcular Média” em linguagem altoritma
 algoritmo “CalcularMedia” 
var 
 n1,n2,n3,media :real; 
inicio 
 leia(n1,n2,n3); 
  media← (n1+n2+n3)/3; 
 se  media>=6 entao 
   escreva(“Parabéns você foi aprovado”); 
 senão 
        escreva(“Infelizmente você ficou de exame”); 
 Fimse 
fimalgoritmo 
Bons estudos!!


Fonte: (devmedia.com.br)