Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Algoritmos Ivaldo Donizeti Franco ivaldo.franco@fatec.sp.gov.br somente para envio de trabalhos. Objetivo: Estudar o que vem a ser classificação de dados. Conteúdos: Classificação de dados, Case. Metodologia de Ensino: Aula teórica expositiva com exercícios em sala de aula e laboratório. Recursos de Apoio: Quadro e projetor multimídia, laboratório. Aula 12 * * O que é Classificação de dados? Processo, representado por um algoritmo especial, com o propósito de organizar um conjunto de informações contidos em uma estrutura de dados qualquer. E para que serve? Ordenar uma estrutura de dados: Ascendentemente Decrescentemente Modelo Conceitual * * Bolha - Bubble Sort ~ n/c Rápida - Quick Sort ~ 1960 Intercalação - Merge Sort ~ 1945 Seleção - Selection Sort ~ n/c Inserção - Insert Sort ~ n/c Outros Estes programas existem? Embora o assunto requeira uma certa dose de paciência para correta compreensão, nota-se que a classificação de dados está presente em vários programas aplicativos em nosso dia-a-dia, p.e, no escritório encontramos sistemas de bancos de dados ou de planilhas de cálculo que nos oferecem estes mesmos mecanismos de classificação de dados programados em botões de função. * * Classificação em bolhas. Processo de percorrer o vetor diversas vezes empurrando para o inicio ou para o fim um determinado elemento na estrutura de dados. Várias são as versões porém o mais antigo case ainda prevalece, com alguns nuances encontramos rapidamente na internet algumas versões do mesmo algoritmo escrito de diversas formas e com linguagens diferentes. Vamos carregar um vetor com dados para poder analisar a execução do algoritmo. Neste caso especifico vamos utilizar um pequeno procedimento para carregar valores aleatórios no vetor. algoritmo "Método Bolha“ var maxVetor, minVetor, I, J : Inteiro nomeT : caracter vNomes: vetor [1..10] de caracter vInicial: vetor [1..10] de caracter procedimento CarregaValores inicio escreval ("Lista de números aleatórios iniciais") escreval (" ") Para I de 1 ate maxVetor passo 1 faca vNomes[I] numPcarac(randi(maxVetor)) vInicial[I] vNomes [I] escreval (vInicial[I]) fimPara fimprocedimento * * Inicio // Lógica principal maxVetor 10 // Tamanho máximo do vetor minVetor maxVetor CarregaValores Para I de 1 ate maxVetor passo 1 faca Para J de 1 ate minVetor - 1 passo 1 faca Se vNomes[J+1] < vNomes[J] entao nomeT vNomes[J] vNomes[J] vNomes[J+1] vNomes[J+1] nomeT fimSe escreval ("Valor de I é: ", I, " Valor de J é: ", J) fimPara escreval (" ") minVetor minVetor -1 fimPara Para I de 1 ate maxVetor passo 1 faca escreval (vInicial[I], " - ", vNomes[I]) fimPara fimAlgoritmo * * V F BubbleSort maxVetor 10 minVetor maxVetor fimBubbleSort Carrega Valores A “Vetor Inicial, Vetor Nomes” 1 ate miV-1 1 ate maxVetor Valor de I, Valor de J”” vNome[J+1] < vNomes[J] nomeT vNomes[J] vNomes[J] vNomes[J+1] vNomes[J+1] nomeT A 1 ate minVetor - 1 minVetor minVetor -1 Entendendo o funcionamento do algoritmo com a ajuda de um Diagrama de Blocos. V F F V F V * * Comparação Modelo Conceitual X VisualG Modelo Conceitual Seqüência Números 1 2 3 4 5 6 7 8 9 10 Indice = I 1 2 3 4 5 6 7 8 9 10 Indice = J * Exercícios em grupo
Compartilhar