Faça um programa no qual sejam definidos dois vetores de números inteiros com quaisquer tamanhos e quaisquer valores e seja impresso na tela se esses vetores são iguais. Considere dois vetores iguais se eles possuem o mesmo tamanho e se os elementos das posições correspondentes dos dois vetores são iguais (isto é, o elemento da primeira posição do primeiro vetor é igual ao elemento da primeira posição do segundo vetor, o elemento da segunda posição do primeiro vetor é igual ao elemento da segunda posição do segundo vetor, e assim por diante).

Passo 1

O enunciado pede um programa que defina dois vetores (listas) de números inteiros com quaisquer tamanhos e quaisquer valores e imprima na tela se esses vetores são iguais. As regras para considerar vetores iguais são claramente dadas: eles devem ter o mesmo tamanho e, para cada posição, os elementos correspondentes devem ser iguais (ou seja, o elemento da posição 1 do primeiro vetor igual ao da posição 1 do segundo vetor, o elemento da posição 2 igual ao da posição 2 do outro, e assim por diante).
Informações relevantes extraídas do enunciado:
  • Os vetores podem ter quaisquer tamanhos (ou seja, tamanhos diferentes são possíveis).
  • Os vetores contêm números inteiros.
  • A comparação deve ser posição a posição.
  • O programa deve imprimir na tela se os vetores são iguais (ou não).

Passo 2

Escolha de linguagem e abordagem: vou usar Python porque é simples, legível e muito usado em provas e exercícios práticos. Além disso, Python permite mostrar tanto a maneira explícita (passo a passo) de comparar vetores — que é o que o professor costuma cobrar — quanto a maneira mais direta/idiomática.
Se houver múltiplas maneiras de resolver, prefiro mostrar:
  1. A abordagem manual (que explica bem o raciocínio que você precisa na prova).
  2. A abordagem “pythônica” (apenas para saber que existe uma forma direta pronta).

Passo 3

Descrição do algoritmo (em linguagem simples, passo a passo):
  1. Ler o primeiro vetor (saber seu tamanho e seus elementos).
  2. Ler o segundo vetor.
  3. Comparar os tamanhos: se forem diferentes, os vetores não são iguais.
  4. Se os tamanhos forem iguais, comparar elemento por elemento:
    • Para cada índice, verificar se o elemento do primeiro vetor é igual ao elemento do segundo vetor.
    • Se encontrar qualquer diferença, declarar “não iguais” e encerrar a comparação.
  5. Se terminar a verificação sem encontrar diferenças, declarar “iguais”.
    Esse algoritmo é direto e é exatamente o que o enunciado pede (mesmo tamanho + elementos correspondentes iguais).

Passo 4

Conceitos e funções que usaremos em Python (explicados devagarzinho):
  • Lista (vetor): em Python, um vetor de inteiros é representado por uma lista, por exemplo [1, 2, 3].
  • Comprimento de uma lista: usamos a função \text{len(vetor)} para obter quantos elementos o vetor tem.
  • Acesso por índice: \text{vetor}[i] dá o elemento na posição i (em Python os índices começam em 0).
  • Comparação de elementos: use o operador \text{==} para comparar dois inteiros. Para listas, em Python, a expressão \text{lista1} == \text{lista2} já verifica se têm o mesmo tamanho e todos os elementos correspondentes são iguais — isso é útil, mas é bom saber fazer manualmente.
  • Laço para comparar manualmente: um \text{for i in range(len(vetor))} para percorrer índices e comparar \text{vetor1}[i] com \text{vetor2}[i].
Importante para prova: mesmo que Python tenha \text{lista1} == \text{lista2}, mostre também o algoritmo manual, porque muitos professores esperam ver a checagem de tamanhos seguida de um loop que compara elementos.

Passo 5

Programa passo a passo (implementação manual da comparação). Vou explicar cada parte do código enquanto o apresento.
Explicação das entradas que o programa espera (forma simples e robusta):
  • O programa lê primeiro um inteiro que representa o tamanho do primeiro vetor.
  • Depois lê os elementos do primeiro vetor (em uma ou mais linhas, separados por espaços).
  • Em seguida lê o tamanho do segundo vetor e seus elementos do mesmo modo.
    Essa forma permite tamanhos quaisquer e facilita a testagem.
Agora o código (comentado) — este código implementa a leitura robusta e a comparação manual elemento a elemento.
# Função para ler um vetor de inteiros dado seu tamanho
def ler_vetor():
    # lê o tamanho (inteiro)
    n = int(input().strip())
    # coleciona elementos até ter n
    elementos = []
    while len(elementos) < n:
        linha = input().strip()
        if linha == "":
            continue
        partes = linha.split()
        elementos.extend(partes)
    # converte para inteiros e pega apenas os primeiros n
    return [int(x) for x in elementos[:n]]

# Função que compara manualmente dois vetores (retorna True se iguais, False se diferentes)
def vetores_iguais(v1, v2):
    # primeiro passo: ver se têm o mesmo tamanho
    if len(v1) != len(v2):
        return False
    # segundo passo: comparar elemento a elemento
    for i in range(len(v1)):
        if v1[i] != v2[i]:
            return False
    # se passou por todos sem encontrar diferença, são iguais
    return True

# Programa principal
def main():
    # Leitura do primeiro vetor
    # Ex.: se for testar manualmente, digite primeiro o tamanho e depois os elementos
    v1 = ler_vetor()
    # Leitura do segundo vetor
    v2 = ler_vetor()
    # Comparação
    if vetores_iguais(v1, v2):
        print("Iguais")
    else:
        print("Diferentes")

if __name__ == "__main__":
    main()
Comentário sobre o código:
  • A função \text{ler_vetor} é robusta: mesmo que o usuário escreva os elementos em várias linhas, ela continuará lendo até ter todos os elementos exigidos pelo tamanho.
  • A função \text{vetores_iguais} implementa exatamente a condição pedida no enunciado: primeiro verifica o mesmo tamanho e depois verifica posição a posição.
  • A saída está em português: imprime “Iguais” quando são iguais e “Diferentes” caso contrário.

Passo 6

Versão curta (idiomática) em Python: se você quiser usar a funcionalidade pronta da linguagem, Python permite fazer a comparação diretamente com \text{v1 == v2}. O trecho essencial fica assim:
if v1 == v2:
    print("Iguais")
else:
    print("Diferentes")
Mas atenção: para fins de prova, recomendo escrever a versão manual (como mostrei no passo anterior), para demonstrar que você entendeu o critério de igualdade (tamanho igual e elementos correspondentes iguais).

Passo 7

Exemplo de execução (explicado devagar):
  • Suponha que você entre com o tamanho do primeiro vetor 3 e envie os elementos 1\\\ 2\\\ 3.
  • Depois entre com o tamanho do segundo vetor 3 e os elementos 1\\\ 2\\\ 3.
    O programa vai imprimir:
    Iguais
  • Se o segundo vetor for de tamanho 3 com elementos 1\\\ 2\\\ 4, o programa vai imprimir:
    Diferentes
  • Se o segundo vetor tiver tamanho 2 com elementos 1\\\ 2, o programa vai imprimir:
    Diferentes
Observação: nos exemplos acima escrevi os números explicitamente para você entender; quando for rodar, digite os números conforme a ordem de leitura do programa.

Passo 8

Complexidade e observações úteis para a prova:
  • Complexidade de tempo: no pior caso (mesmo tamanho e todos elementos iguais) o algoritmo faz O(n) comparações, onde n é o tamanho dos vetores — ou seja, linear.
  • Complexidade de espaço: usamos espaço extra pequeno (listas já dadas), sem estruturas auxiliares grandes.
  • Casos de borda a lembrar na prova: vetores vazios (tamanho 0) — dois vetores vazios são iguais; vetores com sinais negativos — funcionam normalmente; entrada com espaços extras — a função de leitura que mostrei lida com isso.
  • Dica para a prova: escreva primeiro a checagem de tamanho e depois o laço de comparação. É a sequência lógica esperada.

Resposta

def ler_vetor():
    n = int(input().strip())
    elementos = []
    while len(elementos) < n:
        linha = input().strip()
        if linha == "":
            continue
        partes = linha.split()
        elementos.extend(partes)
    return [int(x) for x in elementos[:n]]

def vetores_iguais(v1, v2):
    if len(v1) != len(v2):
        return False
    for i in range(len(v1)):
        if v1[i] != v2[i]:
            return False
    return True

def main():
    v1 = ler_vetor()
    v2 = ler_vetor()
    if vetores_iguais(v1, v2):
        print("Iguais")
    else:
        print("Diferentes")

if __name__ == "__main__":
    main()

Exercícios relacionados