O algoritmo inicia definindo várias variáveis, entre elas um vetor.
Em seguida, lê 10 valores e os armazena num vetor. Para ele repetir a leitura de dados 10 vezes usa-se um comando de loop "para i de 1 até 10", ou seja, o i vai variar de 1 a 10 e dentro do "para" tem um comando de leitura
Em seguida, um loop vai varia o i de 1 a 9 dentro desse loop tem outro loop que varia o j (jota) de i+1 até 10
A ideia aí é proporciona a comparação de dois elementos do vetor. Ele vai comparar o elemento 1 com o 2, 3, 4, 5, 6, 7, 8, 9 e 10 depois o elemento 2 com 3, 4,5,6,7 e assim por diante até o elemento 9, que ele só vai comparar com o 10
Toda vez que ele compara os dois elementos, ele testa se um é maior que outro. Se for maior, então está "fora de ordem", ele troca os elementos de posição.
O que falta nesse algoritmo é 1 - Marcar que encontrou um elemento fora de ordem 2 - Voltar e repetir tudo isso aí dito acima até ele varrer todos e não encontrar nenhum fora de ordem.
Esse algoritmo está incompleto. Trata-se de uma implementação do "bubble-sort" , um dos algoritmos mais conhecidos da história da computação e que serve para colocar uma lista de números em ordem crescente.
Ele serve para ordenar lista de números, nomes em ordem alfabética, valores, etc.
Só que tá errado.
Se quiser, eu conserto ele para você.
2 votes Thanks 1
bokomoko
Esse algoritmo é simples e fácil de programar porém ele não é o mais eficiente
DeltaX
Obrigado, esse algoritmo faz parte do curso q estou fazendo e no momento estamos vendo vetores e matrizes, o professor percebeu o erro e corrigiu, mas sua resposta me ajudou mais hehe, obrigado mesmo.
DeltaX
teria outra maneira de listar os números em ordem crescente sem ser essa?
bokomoko
Sim, existem diversos outros algoritmos de classificação (colocar em ordem crescente). Como disse, esse é o método mais simples, porém não é o método mais rápido. Procure na internet por "algoritmos de classificação"
bokomoko
A maioria dos algoritmos usa vetores. leem os dados a colocar em ordem crescente e coloca num vetor. Depois classifica o vetor e pronto.
bokomoko
Existe uma maneira de fazer a classificação direta, Lê o dado e já coloca ele na ordem. Usa-se uma "árvore binária". É um algoritmo muito interessante.
Lista de comentários
Verified answer
O algoritmo inicia definindo várias variáveis, entre elas um vetor.Em seguida, lê 10 valores e os armazena num vetor. Para ele repetir a leitura de dados 10 vezes usa-se um comando de loop "para i de 1 até 10", ou seja, o i vai variar de 1 a 10 e dentro do "para" tem um comando de leitura
Em seguida, um loop vai varia o i de 1 a 9
dentro desse loop tem outro loop que varia o j (jota) de i+1 até 10
A ideia aí é proporciona a comparação de dois elementos do vetor. Ele vai comparar o elemento 1 com o 2, 3, 4, 5, 6, 7, 8, 9 e 10
depois o elemento 2 com 3, 4,5,6,7
e assim por diante até o elemento 9, que ele só vai comparar com o 10
Toda vez que ele compara os dois elementos, ele testa se um é maior que outro. Se for maior, então está "fora de ordem", ele troca os elementos de posição.
O que falta nesse algoritmo é
1 - Marcar que encontrou um elemento fora de ordem
2 - Voltar e repetir tudo isso aí dito acima até ele varrer todos e não encontrar nenhum fora de ordem.
Esse algoritmo está incompleto. Trata-se de uma implementação do "bubble-sort" , um dos algoritmos mais conhecidos da história da computação e que serve para colocar uma lista de números em ordem crescente.
Ele serve para ordenar lista de números, nomes em ordem alfabética, valores, etc.
Só que tá errado.
Se quiser, eu conserto ele para você.