Nicholas 0 Denunciar post Postado Abril 7, 2008 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
scorpio 7 Denunciar post Postado Abril 7, 2008 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.") FimSeDentro 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
Nicholas 0 Denunciar post Postado Abril 7, 2008 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.") FimSeDentro 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
quitZAUMMM 18 Denunciar post Postado Abril 7, 2008 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
Nicholas 0 Denunciar post Postado Abril 7, 2008 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
scorpio 7 Denunciar post Postado Abril 7, 2008 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