Ir ao conteúdo
  • Cadastre-se

VisualG Estruturas condicionais: Como funciona a atribuição de variáveis?


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Fiz um código pra pratica e a ideia era o algoritmo analisar cada aluno e dizer qual a maior nota, mas eu não entendi direito o porque de uma variável (nome) e atribuir outra variável (melhorAluno) faz com que ela mostre o aluno que tirou a maior nota, queria saber o porque disso, parece que e diferente queria uma breve explicação

algoritmo "semnome"
var
   cont,a:inteiro
   nota,maiorNota:real
   nome,melhorAluno:caractere
inicio
   escreva("Quantos alunos tem na sala? ")
   leia(a)
   cont <- 1
   enquanto (cont <= a) faca
      escreval("ALUNO",cont)
      escreval("Nome do aluno: ")
      leia(nome)
      escreval("Nota do ",nome,": ")
      leia(nota)
      se(nota > maiorNota)então
         maiorNota <- nota
         melhorAluno <- nome
      fimse
      cont <- cont + 1
   fimenquanto
   escreva("O melhor paroveitamento foi de ",melhorAluno," com a nota ",maiorNota)
fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução
8 horas atrás, Caiomqc disse:
   escreva("Quantos alunos tem na sala? ")
   leia(a)

 

Reforçando: já comece a procurar dar nomenclaturas mais semânticas. Isso ajuda até evitar se cansar. Acredite!. Tipo: "para que serve a mesmo?" ou "qual a variável que está armazenando a quantidade de alunos?".

 

Que tal: qtdAlunos

 

Veja como as expressões ficam mais autoexplicativas:

enquanto (cont <= qtdAlunos) faca

 

Nem precisa do restante do código para inferir para que serve...

 

 

 

 

8 horas atrás, Caiomqc disse:

Fiz um código pra praticar

8 horas atrás, Caiomqc disse:

eu não entendi direito o porque de uma variável (nome) e atribuir outra variável (melhorAluno) faz com que ela mostre o aluno que tirou a maior nota, queria saber o porque disso, parece que e diferente queria uma breve explicação

 

Você fez um algoritmo e não entendeu o que fez ou está analisando código de outra fonte?

 

Mas vamos lá:

8 horas atrás, Caiomqc disse:
      se(nota > maiorNota)então
         maiorNota <- nota
         melhorAluno <- nome
      fimse

 

A possível lógica aplicada seria que, a cada nova nota lida, verifica se essa nota é maior que a maior nota, ou seja, se for, essa nota atual seria a nova nota maior... Certo? Daí, quando essa condição for verdadeira, utiliza de uma variável auxiliar para copiar a tal nota e, como eventualmente quer o nome de quem tem a maior nota, também copia o nome... já que no contexto do algoritmo, estão relacionados.

 

Por exemplo, se quiser apenas o nome do aluno com a melhor nota, sem precisar da informação do valor da nota dele, utilizaria apenas a variável melhorAluno... Por aí vai. A solução sempre vai depende da necessidade.

 

 

O programa deve mostrar a nota e o nome do melhor aluno pois ao terminar de ler as notas (após o laço de repetição), vai está mostrando esses dados que foram obtidos.

 

Dica: vá pressionando F8 e acompanhando linha a linha. Veja no canto deito os valores da variáveis a vá entendendo o fluxo natural dos programas. O VisualG vai lendo da esquerda para direita, de cima para baixo (mas vai mostrando uma linha completa por vez). Quando chega num se, e a condição é verdadeira, o código "entra no se", caso contrário, o código pula... por isso que também o se é chamado de "desvio condicional", pois faz o código sair do tal fluxo natural. O laço de repetição é semelhante... só que a condição faz repetir ou não o código. Vá testando que vai assimilando... 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!