Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nicholas

com algoritmo no Visualg

Recommended Posts

Olá, estou iniciando em programação e utilizando o visualg para resolver meus exercicios. Estou com um problema no seguinte exercicio:

 

"Dado um vetor de 50 posições, peça que o usuário insira os números, e que pergunte

para pesquisar por um valor atq que o valor digitado seja < 0. E diga se encontrou ou não e a posição."

 

O algoritmo que fiz já está fazendo o que o exercicio pede, mas não da forma que eu gostaria.

 

// Seção de Comandos

Const <- 10

 

Para x de 1 ate Const faca

Escreva("Atribua um valor para a posição",x,": ")

Leia(Num[x])

Fimpara

 

Repita

 

Escreva("Buscar número: ")

Leia(Busca)

Para x de 1 ate Const faca

Se Busca = Num[x] entao

Escreval("Número encontrado na posição",x,".")

Senao

Escreval("Número não encontrado.")

FimSe

 

FimPara

 

Ate Busca < 0

FimRepita

 

 

 

fimalgoritmo

Log do programa executando:

Início da execução

Atribua um valor para a posição 1: 45

Atribua um valor para a posição 2: 65

Atribua um valor para a posição 3: 8

Atribua um valor para a posição 4: 9

Atribua um valor para a posição 5: 75

Atribua um valor para a posição 6: 4

Atribua um valor para a posição 7: 45

Atribua um valor para a posição 8: 3

Atribua um valor para a posição 9: 2

Atribua um valor para a posição 10: 5

Buscar número: 45

Número encontrado na posição 1.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número encontrado na posição 7.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Buscar número: -5

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

Número não encontrado.

 

Fim da execução.

O problema é que eu não gostaria que ele informasse "Número não encontrado." mais de uma vez, e nem quando o numero for encontrado em outra posição. Eu tenho que retirar a parte do resultado de dentro do laço, mas não sei como fazer ele informar as posições sem estar lá dentro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para x de 1 ate Const faca
Se Busca = Num[x] entao
Escreval("Número encontrado na posição",x,".")
Senao
Escreval("Número não encontrado.")
FimSe
Dentro daquele 'Se', você guarda a posição. dai fora do 'Para' voce faz uma comparação com a variavel qeu você guardou o valor ali. variavel = 0, ñ encontrou

 

Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para x de 1 ate Const faca
Se Busca = Num[x] entao
Escreval("Número encontrado na posição",x,".")
Senao
Escreval("Número não encontrado.")
FimSe
Dentro daquele 'Se', você guarda a posição. dai fora do 'Para' voce faz uma comparação com a variavel qeu você guardou o valor ali. variavel = 0, ñ encontrou

 

Entendeu ?

Sim, eu também pensei nisso, mas e quando o mesmo número estiver armazenado em mais de uma posição? Eu estava pensando em fazer um outro vetor pra guardar a posição, mas iria dar no mesmo problema acho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pensou em usar algo como o break, abort, veja no visualg ql comando faz para finalizar o loop!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pensou em usar algo como o break, abort, veja no visualg ql comando faz para finalizar o loop!

 

[]'s

No Visualg é "Interrompa". Mas de que forma eu poderia usar este resurso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode colocar dentro do 'Se' e fazer a verificação fora como eu te falei.

Mas se é para mostrar todas as posições dentro do 'Se' você guarda numa variavel a posição e ja exibi exibe, mas sem o SENAO. Dai fora do laço você comparação com a variavel , variavel = 0 nao encontrado.

 

tenta fazer ae.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.