Informática, perguntado por Ykarokrs, 10 meses atrás

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


thiagopokem: Qual é a linguagem?
Ykarokrs: em python

Soluções para a tarefa

Respondido por thiagopokem
3

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")

Perguntas interessantes