Patrocínio Natura
Site do Fundão: Algoritmo Insertion Sort
Programação / 31 de maio de 2009

O Insertion Sort é um algoritmo eficiente para ordenar um pequeno número de elementos. Basicamente, este algoritmo varre um array de elementos da esquerda para a direita e a medida que avança vai deixando os elementos mais a esquerda ordenados. Algoritmo: Insertion Sort para j = 2 até tamanho[array] faça chave = array[j]; i = j – 1; // Ordenando os elementos mais a esquerda enquanto i > 0 e array[i] > chave faça array[i+1] = array[i]; i = i -1; fim enquanto array[i+1] = chave; fim para Obs.: Para colocar em ordem decrescente experimente trocar o sinal de maior pelo sinal de menor dentro do laço mais interno. O tempo gasto para executar o algoritmo do Insertion Sort depende do valor de entrada. Ordenar milhares de números leva bem mais tempo do que ordenar três números. Além disso, o Insertion Sort pode levar diferentes quantidades de tempo para ordenar duas sequências de entrada de mesmo tamanho dependendo do quanto elas já estão ordenadas.

Poderoso Algoritmo de Ordenação do Fundão da Computação
Programação , Soluções / 16 de abril de 2009

O Merge Sort é um algoritmo de ordenação para reordenar listas (ou qualquer outra estrutura de dado que possa ser acessada apenas sequencialmente, por exemplo arquivos) em uma ordem específica. Um bom exemplo do paradigma algorítmico da divisão e conquista. Conceitualmente, o merge sort funciona da seguinte forma: Se a lista a ser ordenada é maior do que um item: Divide a lista não ordenada em duas sublistas de aproximadametne metade do tamanho Ordena cada uma das duas sublistas Junta as duas sublistas ordenas em uma única lista ordenada. O merge sorte tem uma média e a performance no pior caso de O(n log(n)). Isto significa que ele geralmente precisa fazer menos comparações do que o quicksort. Contudo, o custo do algoritmo é um pouco superior ao do quicksort, e, dependendo da estrutura de dados a ser ordenada, pode consumir mais memória (embora isto tenha sido levado cada vez menos consideração). Ele também é muito mais eficiente do que o quicksort se os dados a serem ordenados puderem ser acessados eficientemente sequencialmente, o que o torna bastante popular em linguagens tais como LISP onde estruturas de dados acessadas sequencialmente são muito comuns. Merge sort é um algoritmo estável (ele não…

Algoritmo para Busca Binária
Programação / 6 de março de 2009

Vamos falar um pouco sobre métodos de busca que são baseados em uma ordenação linear das chaves (por exemplo, ordem alfabética ou ordem numérica). Depois de comparar o dado argumento K a uma chave Ki no vetor, a busca continua de três diferentes formas, dependendo se K < Ki, K = Ki ou K > Ki. Os métodos de busca sequencial são essencialmente limitados a uma decisão baseada em dois resultados (K = Ki vs. K <> Ki), mas se não ficarmos presos a restrição de acesso sequencial é possível faze uso efetivo de uma relação de ordenação. Procurando em um Vetor Ordenado O que você faria se alguém desse a você uma grande lista telefônica e falasse para você encontra o nome do homem cujo número fosse 795-6841? Não há forma melhor de solucionar este problema do que usar os método sequencial. (Contudo, um detetive esperto poderia tentar ligar para o número e descobrir que atendia; ou ele poderia ter um amigo na companhia telefônica que tivesse acesso a um catálogo especial que estivesse ordenado pelo número em vez de pelo nome.) O certo é que é muito mais fácil encontrar uma entrada pelo nome em vez de pelo…

CNPJ – Validação no Delphi
Delphi , Programação / 17 de janeiro de 2008

 Um dos nossos artigos mais lidos é o Algoritmo de CNPJ, muitos visitantes gostam e aplicam os ensinamentos em seus programas, mas muitos tem dúvidas de como aplicar o algoritmo na sua linguagem de trabalho. Alguns pedidos chegaram para nossa equipe, como o do amigo Hermes Ferreira que postou a sugestão no artigo do algoritmo: “Achei a forma muito prática para validação dos dígitos verificadores, no entanto gostaria que esta forma fosse explicada utilizando os argumentos da lógica de programação, tanto em VBA como em Delphi”. Bom, em Delphi estamos colocando o código comentado e um pequeno software que mostra o funcionamento, fica aqui o pedido para algum dos nossos colaboradores ou visitantes fazer o mesmo em VBA. Vale o registro que em breve vou publicar o mesmo artigo para PHP. Vamos lá.

Algoritmo do PIS – Programas de Integração Social
Programação , Soluções / 11 de novembro de 2007

O Clube da Informática tem muitos visitantes que procuram em nossos artigos o algoritmo do CPF (Cadastro de Pessoa Física) e do CNPJ (Cadastro Nacional da Pessoal Física), sendo assim procuramos e pesquisamos mais algoritmos que possam ajudar nossos amigos programadores. Dessa vez iremos apresentar o algoritmo de cálculo do número do PIS e como já disse anteriormente muitos programadores pegam estas rotinas prontas na Internet, pois milhares de sites oferecem nas mais diversas linguagens de programação. Aos invés de você confiar seu software a essas rotinas que tal você mesmo desenvolver a sua tendo a certeza que a mesma está certa e funciona perfeitamente?   Entendendo a Validação No cálculo do número do PIS, utiliza-se um algoritmo um pouco diferente do usado para calcular o dígito verificador do número do CPF. Nesse caso o número do PIS também é obtido do módulo de divisão 11 (onze). O número é composto por dois segmentos, assim como o CPF. O primeiro com nove posições à esquerda do traço e o segundo com duas posições após o traço.