Fala galera da Programação, tudo bem com vocês? Hoje vocês vão ver comigo como montar um algoritmo para a ordenação de valores usando a técnica do Bubble Sort.
Para realizar o Bubble Sort, siga os seguintes passos:
Ao final, exiba os valores ordenados.
Algoritmo diferenca_valores Declare valor1, valor2, diferenca como real Escreva "Digite o primeiro valor: " Leia valor1 Escreva "Digite o segundo valor: " Leia valor2 Se valor1 > valor2 Então diferenca <- valor1 - valor2 Senão diferenca <- valor2 - valor1 FimSe Escreva "A diferença entre os valores é: ", diferenca FimAlgoritmo
Este algoritmo utiliza a técnica de ordenação Bubble Sort para ordenar 10 valores numéricos digitados pelo usuário. Primeiro, é feita a leitura dos valores em um vetor.
Em seguida, utiliza-se um loop duplo para comparar cada par de valores e, se o valor da posição i
for maior que o valor da posição j
, troca-se as posições dos valores.
Esse processo é repetido até que todos os valores estejam ordenados. Por fim, os valores são exibidos em ordem crescente.
# leitura dos 10 valores valores = [] for i in range(10): valor = float(input(f"Digite o {i+1}º valor: ")) valores.append(valor) # algoritmo Bubble Sort para ordenação crescente for i in range(len(valores)): for j in range(len(valores)-1): if valores[j] > valores[j+1]: valores[j], valores[j+1] = valores[j+1], valores[j] # exibição dos valores ordenados print("Valores em ordem crescente:") for valor in valores: print(valor)
Primeiramente, o programa lê os 10 valores numéricos através de um loop for
. Em seguida, é realizado o algoritmo Bubble Sort para ordenar os valores em ordem crescente.
O Bubble Sort funciona comparando os elementos adjacentes da lista, e caso um seja maior que o outro, eles são trocados de posição. Esse processo é repetido até que a lista esteja completamente ordenada.
Por fim, é exibida a lista ordenada em ordem crescente utilizando outro loop for
.
Sugestão de resposta em C / C++
#include <stdio.h> int main() { int vetor[10], i, j, aux; // Lendo os valores for(i=0; i<10; i++){ printf("Digite o %do valor: ", i+1); scanf("%d", &vetor[i]); } // Ordenando com Bubble Sort for(i=0; i<9; i++){ for(j=i+1; j<10; j++){ if(vetor[i]>vetor[j]){ aux = vetor[i]; vetor[i] = vetor[j]; vetor[j] = aux; } } } // Exibindo em ordem crescente printf("\nValores em ordem crescente: "); for(i=0; i<10; i++){ printf("%d ", vetor[i]); } return 0; }
No código acima, primeiro declaramos um vetor de tamanho 10 e duas variáveis auxiliares do tipo inteiro para auxiliar na ordenação. Em seguida, utilizamos um loop for para ler os valores digitados pelo usuário e armazená-los no vetor.
Em seguida, utilizamos a técnica de ordenação Bubble Sort para ordenar os valores do vetor em ordem crescente. Para isso, utilizamos dois loops for aninhados: o primeiro percorre o vetor até o penúltimo elemento e o segundo percorre o vetor a partir do elemento seguinte ao elemento do primeiro loop até o último elemento. Dentro desses loops, comparamos os valores adjacentes e, se o valor do elemento atual for maior do que o valor do próximo elemento, fazemos a troca entre eles.
Por fim, utilizamos outro loop for para exibir os valores do vetor já ordenados em ordem crescente.
// lê os 10 valores let valores = []; for (let i = 0; i < 10; i++) { valores[i] = parseInt(prompt(`Digite o valor ${i+1}:`)); } // ordena os valores com Bubble Sort for (let i = 0; i < valores.length - 1; i++) { for (let j = 0; j < valores.length - i - 1; j++) { if (valores[j] > valores[j+1]) { let temp = valores[j]; valores[j] = valores[j+1]; valores[j+1] = temp; } } } // exibe os valores ordenados console.log("Valores em ordem crescente:"); for (let i = 0; i < valores.length; i++) { console.log(valores[i]); }
Conforme o código acime, usamos um loop para ler os 10 valores digitados pelo usuário e armazená-los em um array chamado valores
. Em seguida, implementamos o algoritmo de ordenação Bubble Sort com outro par de loops, onde comparamos cada par de elementos e os trocamos de lugar caso estejam fora de ordem.
Por fim, exibimos os valores em ordem crescente no console. É importante notar que, ao usar o console.log()
, os valores aparecerão na ordem em que foram digitados. Para exibir na ordem correta, é preciso usar alguma técnica de formatação de saída.
Para Pascal / Delphi / Lazarus publicamos no site Show Delphi.
Acessar o Exemplo em Pascal / Delphi / Lazarus.
Beleza pessoal? Neste post vimos mais a respeito do algoritmo de ordenação Bubble Sort e espero que possa ajudar nos seus estudos.
Dúvidas ou sugestões em outras linguagens? Deixe o seu comentário!
Um abraço e até o próximo post! Valeu!
Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!