Faça um código para gerar 30 números aleatórios (entre 1 e 100) e armazenar em um vetor. Apresente os números gerados na tela e depois organize o vetor com um método de ordenação da sua escolha. Apresente o vetor ordenado e implemente o método de busca sequencial.

Passo 1

Beleza! Vamos resolver esse exercício juntos. O que precisamos fazer aqui envolve programação, especificamente trabalhando com vetores (ou listas), geração de números aleatórios, ordenação e busca sequencial. Vamos precisar usar conceitos básicos de estruturas de dados e algoritmos para implementar isso. Vamos passo a passo!

Passo 2

Primeiro, precisamos gerar 30 números aleatórios entre 1 e 100 e armazená-los em um vetor. Para isso, vamos usar uma linguagem de programação. Vou usar o Python porque ele facilita bastante essas tarefas. No Python, a biblioteca random nos ajuda a gerar números aleatórios.
import random

# Gerar 30 números aleatórios entre 1 e 100
vetor = [random.randint(1, 100) for _ in range(30)]
Aqui, [random.randint(1, 100) for _ in range(30)] é uma compreensão de lista que cria uma lista com 30 números aleatórios entre 1 e 100.

Passo 3

Agora que temos nosso vetor com os números aleatórios, vamos exibi-los na tela. No Python, usamos a função print() para isso.
print("Vetor gerado:")
print(vetor)
Isso vai mostrar os números que acabamos de gerar.

Passo 4

O próximo passo é ordenar o vetor. Existem vários métodos de ordenação, como o Bubble Sort, Quick Sort, Merge Sort, entre outros. Vou usar o Bubble Sort aqui para facilitar a compreensão, já que é um método mais simples, apesar de não ser o mais eficiente para grandes conjuntos de dados.
Bubble Sort funciona comparando pares de elementos adjacentes e trocando-os se estiverem na ordem errada. Isso é repetido até que todo o vetor esteja ordenado.
Vamos implementar o Bubble Sort:
# Função para ordenar usando Bubble Sort
def bubble_sort(vetor):
    n = len(vetor)
    for i in range(n):
        for j in range(0, n-i-1):
            if vetor[j] > vetor[j+1]:
                # Troca os elementos
                vetor[j], vetor[j+1] = vetor[j+1], vetor[j]
    return vetor

# Ordenar o vetor
vetor_ordenado = bubble_sort(vetor.copy())
Aqui, vetor.copy() cria uma cópia do vetor original para que possamos manter o original se precisarmos.

Passo 5

Vamos exibir o vetor já ordenado na tela:
print("\nVetor ordenado:")
print(vetor_ordenado)
O \n adiciona uma linha em branco para separar a saída anterior da ordenada, deixando tudo mais organizado.

Passo 6

Por último, vamos implementar a Busca Sequencial. Esse método de busca percorre o vetor do início ao fim, comparando cada elemento com o valor que estamos procurando até encontrar uma correspondência.
Vamos criar uma função para isso:
# Função de busca sequencial
def busca_sequencial(vetor, alvo):
    for index, elemento in enumerate(vetor):
        if elemento == alvo:
            return index  # Retorna a posição onde encontrou
    return -1  # Se não encontrar

# Exemplo de busca
alvo = int(input("\nDigite o número que deseja buscar: "))
resultado = busca_sequencial(vetor_ordenado, alvo)

if resultado != -1:
    print(f"Número {alvo} encontrado na posição {resultado}.")
else:
    print(f"Número {alvo} não encontrado no vetor.")
Aqui, enumerate(vetor) nos dá tanto o índice quanto o valor de cada elemento no vetor. Se o número for encontrado, retornamos sua posição; caso contrário, retornamos -1 indicando que não foi encontrado.

Passo 7

vetor = [random.randint(1, 100) for _ in range(30)]

Passo 8

print(“Vetor gerado:”)
print(vetor)

Passo 9

def bubble_sort(vetor):
n = len(vetor)
for i in range(n):
for j in range(0, n-i-1):
if vetor[j] > vetor[j+1]:
# Troca os elementos
vetor[j], vetor[j+1] = vetor[j+1], vetor[j]
return vetor

Ordenar o vetor

vetor_ordenado = bubble_sort(vetor.copy())

Passo 10

print("\nVetor ordenado:")
print(vetor_ordenado)

Passo 11

def busca_sequencial(vetor, alvo):
for index, elemento in enumerate(vetor):
if elemento == alvo:
return index # Retorna a posição onde encontrou
return -1 # Se não encontrar

Exemplo de busca

alvo = int(input("\nDigite o número que deseja buscar: "))
resultado = busca_sequencial(vetor_ordenado, alvo)
if resultado != -1:
print(f"Número {alvo} encontrado na posição {resultado}.")
else:
print(f"Número {alvo} não encontrado no vetor.")

Experimente rodar esse código no seu ambiente Python e veja como ele funciona na prática!

Resposta

Pronto! Com esse código em Python, você:
  1. Gera 30 números aleatórios entre 1 e 100.
  2. Exibe os números gerados.
  3. Ordena o vetor usando o método Bubble Sort.
  4. Exibe o vetor ordenado.
  5. Implementa a busca sequencial para encontrar um número específico no vetor.
Aqui está o código completo para você testar:
import random

Exercícios relacionados

Faça um código para gerar 30 números aleatórios (entre 1 e 100) e armazenar em um vetor. Apresente os números gerados na tela e depois organize o vetor com um método de ordenação da sua escolha. Apresente o vetor ordenado e implemente o método de busca binária.
Conversão de Temperatura para Monitoramento Ambiental:
  • Um engenheiro ambiental deseja converter uma temperatura de Celsius para Fahrenheit. Escreva a expressão de conversão e implemente o cálculo.
  • Fórmula: Fahrenheit Celsius * 9/5 + 32.
Orçamento com Precedência de Operações:
  • Escreva uma expressão para calcular o custo total de uma obra, somando o valor dos materiais e a mão-de-obra. Garanta que o valor da mão-de-obra seja calculado com um acréscimo de 20% antes de ser somado ao valor dos materiais.