Faça um código para gerar 25 números aleatórios (entre 10 e 40 ) e armazenar em um vetor. Apresente os números gerados na tela e depois organize o vetor com o método de ordenação InsertionSort. Ao final, apresente o vetor ordenado.
Passo 1
Então, vamos resolver um exercício de programação! A gente precisa criar um código que gera 25 números aleatórios entre 10 e 40, guarda esses números em um vetor, mostra eles na tela, depois ordena esse vetor usando o método de ordenação InsertionSort e, por fim, mostra o vetor já ordenado. Para isso, vamos precisar entender como gerar números aleatórios, trabalhar com vetores (ou listas) e implementar o InsertionSort.
Passo 2
Primeiro, vamos importar a biblioteca que permite gerar números aleatórios. Em Python, usamos o módulo
random
para isso.import random
Passo 3
Agora, vamos gerar os 25 números aleatórios entre 10 e 40 e armazená-los em uma lista chamada
numeros
.numeros = [random.randint(10, 40) for _ in range(25)]
Aqui,
random.randint(10, 40)
gera um número inteiro entre 10 e 40, e usamos uma compreensão de lista para criar a lista com 25 desses números.Passo 4
Vamos exibir os números gerados na tela. Para isso, usamos o
print
.print("Números gerados:")
print(numeros)
Passo 5
Agora, vamos implementar o método de ordenação InsertionSort para ordenar a lista
numeros
. O InsertionSort funciona comparando cada elemento da lista com os anteriores e inserindo-o na posição correta.for i in range(1, len(numeros)):
chave = numeros[i]
j = i - 1
while j >= 0 and chave < numeros[j]:
numeros[j + 1] = numeros[j]
j -= 1
numeros[j + 1] = chave
Explicando o InsertionSort:
- Começamos do segundo elemento (
i = 1
) porque o primeiro elemento já está “ordenado”. chave
é o elemento que vamos tentar inserir na parte ordenada.- Comparamos
chave
com os elementos anteriores (numeros[j]
). Sechave
for menor, movemosnumeros[j]
uma posição para a direita. - Continuamos esse processo até encontrar a posição correta para
chave
.
Passo 6
Por fim, vamos mostrar a lista já ordenada.
print("Números ordenados:")
print(numeros)
Resposta
Aqui está o código completo que realiza todas as etapas descritas:
import random
# Gerar 25 números aleatórios entre 10 e 40
numeros = [random.randint(10, 40) for _ in range(25)]
# Exibir os números gerados
print("Números gerados:")
print(numeros)
# Ordenar a lista usando InsertionSort
for i in range(1, len(numeros)):
chave = numeros[i]
j = i - 1
while j >= 0 and chave < numeros[j]:
numeros[j + 1] = numeros[j]
j -= 1
numeros[j + 1] = chave
# Exibir os números ordenados
print("Números ordenados:")
print(numeros)
Quando você executar esse código, ele vai gerar 25 números aleatórios entre 10 e 40, mostrar esses números, ordená-los usando o InsertionSort e, por fim, exibir a lista ordenada na tela.
Exercícios relacionados
Um amigo lhe diz que é capaz de ordenar qualquer conjunto de 6 números com no máximo 8 comparações. O seu amigo está falando a verdade ou mentindo? Justifique.
Faça um código em
para gerar 10 números aleatórios (entre 1 e 50 ) e armazenar em um vetor. Apresente os números gerados na tela e depois organize o vetor com o método de ordenação BubbleSort. Ao final, apresente o vetor ordenado.
Faça um programa em C para gerar apostas na Mega Sena com N dezenas (informada pelo usuário). Armazene os números gerados aleatórios no intervalo de 1 a 60 em um vetor. Lembre se que os N números precisam ser diferentes entre si, não podendo repetir o número adicionado no vetor.
Faça um programa em C que leia 10 valores inteiros, armazeno-os em um vetor, calcule e apresente a soma destes valores.