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]). Se chave for menor, movemos numeros[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.