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)
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
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)
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
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)
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.")
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ê:
- Gera 30 números aleatórios entre 1 e 100.
- Exibe os números gerados.
- Ordena o vetor usando o método Bubble Sort.
- Exibe o vetor ordenado.
- 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.