Faça um programa que preencha por leitura um vetor de 5 posições, e informe a posição em que um valor x (lido do teclado) está no vetor. Caso o valor x não seja encontrado, o programa deve imprimir o valor -1.
em python
Soluções para a tarefa
Resposta:
vetor = []
i = 0
print("Digite 5 números para adicioná-los ao vetor:")
while i < 5:
vetor.append(int(input()))
i+=1
i = 0
encontreValor = int(input("Encontre a posição de uma valor dentro do vetor: "))
valorEncontrado = False
while i < 5:
if encontreValor == vetor[i]:
print("O valor ", encontreValor, " está na posição: ", i, " do vetor")
valorEncontrado = True
i+=1
if valorEncontrado == False:
print("-1")
Explicação Passo a Passo:
Primeiro de tudo declaramos o vetor, pois será nele que armazenaremos os 5 números, neste caso darei o nome para este vetor, justamende de vetor :D
vetor = []
Depois declaramos um variável i que será iniciada em 0, essa variável será utilizada para dar a condição dos laços de repetição while:
i = 0
Agora sim podemos partir para a estrutura do primeiro laço de repetição do tipo while, sabemos que ele terá que se repetir 5 vezes e utilizaremos o i para ser o número que vai de 0 até 5 e testará a condição:
while i < 5:
Dentro deste while a gente já pode colocar o comando que fará com que o i aumente toda vez que o laço se repetir, até que ele chegue a 5, quando ele deve parar:
while i < 5:
i+=1
Este i+=1 é o mesmo que i = i + 1, você pega o valor que já estava em i e soma +1, deste modo a cada repetição do laço while ele irá aumentar +1. Com tudo isso pronto podemos adicionar o comando que vai ler o que o usuário digitar e adicionar isso ao nosso vetor, para isso utilizamos o .append()
vetor.append()
Que é o comando que adiciona elementos ao vetor, dentro dos seus parênteses nós colocamos o que deve ser adicionado, no caso o que o usuário digitar input(), convertido para int int(input()), ao final o comando ficará:
vetor.append(int(input()))
Com isso já temos a primeira parte do código que vai ler as 5 posições que o usuário digitar. Após isso, já fora do laço while, nós zeramos a variável i, pois ela será utilizada novamente no próximo laço, então:
i = 0
Agora nós criamos uma variável que será o valor a ser pesquisado dentro do vetor:
encontreValor
E já que o usuário dará o valor a ela, nós utilizamos o comando input(), lembrando que neste caso também será necessário a conversão para int ficando int(input()). Ao final teremos que:
encontreValor = int(input())
Caso queira deixar mais visível essa parte dentro do código você pode colocar uma mensagem dentro do input() entre aspas, essa mensagem aparecerá no console. Ex.
encontreValor = int(input("Encontre a posição de uma valor dentro do vetor: "))
Ok agora vem uma parte mais complicada, sabemos que há uma situação em que o número pode não ser encontrado, então precisamos de uma variável boleana no caso de true/false, que falará se o valor foi ou não encontrado, daremos para ela o nome de valorEncontrado e iniciaremos como false:
valorEncontrado = False
Com isso feito partimos para o segundo laço while, este laço irá verificar se o valor digitado está em alguma das posições do vetor. Para começar declaramos o laço da mesma forma como feito anteriormente:
while i < 5:
i+=1
Só que agora vamos colocar um if para verificar se existe alguma posição do vetor que é igual a encontreValor.
if encontreValor == vetor[i]:
Vamos com calma aqui, antes de mais nada temos que relembrar alguns conceitos, o primeiro deles é que todo vetor se inicia em 0, então um vetor com 5 posições terá as posições 0, 1, 2, 3 e 4. Como lá no laço nós já estavamos utilizando o i, aqui nós também vamos utilizar, porque veja só o i começa em 0 e depois vai para 1, 2, 3, 4 exatamente as posições do vetor. E para pegar uma posição do vetor nos lhe passamos um indíce que neste caso será dado pela variável i então vetor[i]. Lembrando que cada posição do vetor representará um número que o usuário digitou.
Com tudo isso em mente podemos prosseguir já colocamos o if que vai verificar se o valor que o usuário queria encontrar está dentro do vetor, se ele estiver nos informamos a posição que ele está, que no caso é representado por i:
if encontreValor == vetor[i]:
print(i)
Para deixar mais visível como feito anteriormente podemos colocar alguns textos. Ex.
if encontreValor == vetor[i]:
print("O valor ", encontreValor, " está na posição: ", i, " do vetor")
Prosseguindo ainda dentro do if vamos colocar que nova variável valorEncontrado recebe true, pois o valor foi encotrado:
if encontreValor == vetor[i]:
print(i)
valorEncontrado = true
Pronto ao final deveremos ter a seguinte estrutura no segundo while:
while i < 5:
if encontreValor == vetor[i]:
print(i)
valorEncontrado = True
i+=1
Agora pra finalizar depois do while basta colocar uma verificação para ver se o valor não foi encontrado, ou seja, se valorEncontrado == false
if valorEncontrado == false:
Se este for o caso como exposto no exercício deverá ser mostrado o valor -1, então:
print("-1")
Estrutura final do if:
if valorEncontrado == False:
print("-1")