Ir ao conteúdo
  • Cadastre-se
LTheLordh

VisualG Algoritmo de Vetor Visualg

Recommended Posts

Crie um algoritmo que leia um vetor de 10 posições e exiba seu resultado em tela. Em seguida mostre a posição e exiba o menor e o maior elemento.

Eu fiz até na parte onde exibe o menor e o maior número, porém não to conseguindo achar uma forma de achar a posição do menor e maior.

Segue o código até agora feito e a foto de como deve ficar:

 

var
   valores: vetor [1..10] de inteiro
   maior, menor, contador: inteiro
inicio
   para contador de 1 ate 10 faca
   escreva("Informe o",contador,"º Elemento: ")
   leia (valores[contador])
   menor <- valores[1]
   se (valores[contador]>maior) entao
   maior <- valores[contador]
   fimse
   se (valores[contador]<menor) entao
   menor <- valores[contador]
   fimse
   fimpara
   escreval("O menor elemento é:",menor," na posição: ?")
   escreval("O maior elemento é:",maior," na posicão: ?")

fimalgoritmo

Sem títulofgagagaasf.png

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@LTheLordh     você precisa de mais uma variável para indicar a posição do menor e outra para indicar a posição do maior e na hora que achar o menor elemento dentro do se você atribui à variável posicao_do_menor o valor do contador , e para o  maior também a mesma coisa , assim no final na hora de imprimir você coloca essas variáveis .   mas pelo enunciado você precisa também imprimir o conteúdo do vetor depois que ele foi preenchido pelo usuário .  e para isso você pode usar um laço de repetição que pode ser o para indo de 1 ate 10 e dentro dele imprima o valor que está no vetor .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

1#

@LTheLordh, o enunciado diz:

2 horas atrás, LTheLordh disse:

Crie um algoritmo que leia um vetor de 10 posições e exiba seu resultado em tela. Em seguida mostre a posição e exiba o menor e o maior elemento.

 

O enunciado está um pouco confuso, mas deu para extrair o seguinte:

 

Basicamente tem os requisitos:

- Ler um vetor de 10 posições; (não diz de que tipo, mas tudo bem. Deixa por inteiro) [OK]

- Exibir o vetor na tela; [Falta fazer]

- Exibir a posição do menor e do maior [Falta fazer]

- Exibir o valor do menor e do maior [Com erro]

obs.: sendo que esses dois últimos podendo ser feito de uma vez só.

 

 

 

2#

Sobre:

2 horas atrás, LTheLordh disse:

Eu fiz até na parte onde exibe o menor e o maior número[...]

 

Como citado anteriormente, essas verificações do menor e maior estão incorretas. Para o menor, está verificando errado, pois a cada loop está atribuindo o valor do primeiro, no final das contas, SEMPRE o menor será o primeiro ou será o último. Precisa corrigir.

 

Para o maior, você não está inicializando a variável, o que pode dar erros no resultado, ou seja, apesar de alguns casos a resposta podendo dar correta, está com erro de lógica.

 

 

 

3#

2 horas atrás, LTheLordh disse:

[...] porém não to conseguindo achar uma forma de achar a posição do menor e maior.

Como sugerido por @devair1010, basta você usar outra variável para armazenar a posição deles, ou seja, ao encontrar um novo menor ou maior, atualiza o valores dele, e também atualiza o valor da posição.

 

 

***

 

Resumindo:

obs.: TENTE FAZER APENAS UMA COISA DE CADA VEZ. NÃO TENTE FAZER TUDO AO MESMO TEMPO!!!

- Faça a parte para exibir o vetor na tela.  Testa até ficar tudo pronto;

 

- Após, faz o programa só exibir o menor. Para facilitar, mude o tamanho do vetor para 3. Faça diversos testes até garantir que está funcionando. Se tiver dúvidas, vai postando aqui.

 

- Coloque também para exibir a posição desse menor. Faz testes e garante que está pronto.

 

- Só após, insira a verificação do maior. A base é exatamente a mesma do menor. Já inclui a questão da posição também.


 

PS:

Segue uma base que pode tomar como referência.

algoritmo "FCdH"
var
   valores :vetor [1..3] de inteiro
   menor   :inteiro
   contador:inteiro
inicio
//ler o vetor de números inteiros
para contador de 1 ate 3 faca
   escreva("Informe o",contador,"º elemento: ") //use "elemento" em vez de "Elemento"
   leia(valores[contador])
fimpara

//exibe o vetor de inteiros



//processamento para identificar o menor número do vetor



//exibe o menor número na tela




fimAlgorito

Pronto! Tente fazer a parte para exibir o vetor. Se conseguir sem maiores problemas, já faz o processamento para encontrar o menor e exibir na tela. Aí posta o código aqui para verificarmos ou, se caso ocorra, indicar onde está com dúvidas.

 

DICA: Para efetuar testes, o segredo é tentar identificar os possíveis casos principais... por exemplo, com 10 números, um bom teste seria usar números para que o 1º seja o menor. Depois testar com algum do "meio" ser o menor, como o 4º), depois testar com o último... Mas como ficar digitando de 10 em 10 é muito trabalho,  para facilitar os testes, deixei justamente com apenas 3. A ideia é que, se funciona com 3, deve funcionar com 10 com 1000, entende? só que será muito mais fácil para testar. Testa com maior no início, no meio e no fim. Use número negativos também.

 

 

No aguardo.

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×