Copiar de um vetor A de reais de tamanho 10 para outro vetor B , na ordem inversa. No fim, o programa deve imprimir o vetor B.
Passo 1
O enunciado pede: copiar um vetor
de números reais de tamanho
para outro vetor
, mas com a ordem invertida, e no final imprimir o vetor
.
Informações dadas:
- Existe um vetor
com exatamente elementos reais. - Deve-se criar um vetor
também com elementos. - A cópia deve inverter a ordem: o primeiro elemento de
vira o último de , o segundo vira o penúltimo, e assim por diante. - Ao final o programa deve imprimir o vetor
.
Passo 2
Vamos entender a indexação (isso é crucial para não fazer confusão na prova).
- Em muitas linguagens (Python, C, Java, etc.) usa-se indexação começando em
. Então os índices válidos para um vetor de tamanho são . - A posição
em corresponde à primeira entrada ( ), e a posição é a última ( ).
Para inverter a ordem podemos usar a fórmula de mapeamento de índices (assumindo indexação base zero):
Explicando: quando
queremos
(último de
); quando
queremos
(primeiro de
).
Se a linguagem usasse indexação base um (índices
a
) a fórmula equivalente seria
Passo 3
Algoritmo passo a passo (versão com indexação começando em
):
- Alocar um vetor
de tamanho . - Para cada índice
que vai de até , fazer a atribuição . - Após o laço, imprimir o vetor
.
Complexidade: o algoritmo faz uma única passagem de
atribuições, portanto é
em termos assintóticos, mas na prática linear no número de elementos (se o problema generalizasse para
elementos, seria
).
Passo 4
Vou mostrar um exemplo numérico pequeno (para visualizar a ideia). Suponha
(tamanho
só para ilustrar). Aplicando a regra
com
obtemos
. Isso confirma que a ordem foi invertida.
Passo 5
Agora como implementar isso de forma prática em um programa para a prova. Em linguagens de alto nível há duas abordagens típicas:
- Usar um laço que percorre índices e aplica
(método explícito que funciona em qualquer linguagem). - Usar operações prontas da linguagem (por exemplo em Python existe slicing que inverte:
), mas em prova vale mais mostrar o laço porque demonstra entendimento do índice.
Vou optar por mostrar um programa simples e robusto que lê
números reais (uma ou várias linhas), copia para
invertendo a ordem com um laço explícito e imprime
em uma linha separados por espaço. Esse formato é adequado para a maioria das provas e para execução direta.
Passo 6
Dicas práticas para a hora da prova:
- Lembre-se de qual é a base de indexação da linguagem pedida (se o enunciado não informar, use o padrão da linguagem que escolher; em pseudocódigo pode esclarecer “indexação base 0”).
- Se for pedida impressão formatada, adapte: imprimir cada elemento em nova linha ou todos em uma linha separados por espaço conforme exigido.
- Teste mentalmente com um vetor pequeno (como no Passo 4) para checar se o mapeamento de índices está correto antes de submeter.
Resposta
# Programa em Python: lê 10 reais, inverte e imprime o vetor B
A = []
while len(A) < 10:
A.extend(map(float, input().strip().split()))
A = A[:10]
B = [0.0] * 10
for i in range(10):
B[i] = A[9 - i]
print(*B)