Ir ao conteúdo
  • Cadastre-se

VisualG Exercício em Portugol, não consigo resolver.


Posts recomendados

Estava escrevendo um código no VisualG quando me deparei com um exercício que não consegui resolver o problema, não sei se estava muito cansado ou algo do tipo, mas acabei desistindo dele e recorri aqui para pedir ajuda de vocês, precisa ser feito em portugol, pois a professora ainda não ta aceitando linguagem C.

 

Segue o link do enunciado e o código (deixei até aonde está funcionando kkkk), se alguém conseguir me ajudar a elabora o que devo fazer ou me explicar o passo a passo do raciocínio, eu ficaria bem grato.


 

Enunciado:

O processo de avaliação de uma determinada disciplina obedece aos seguintes critérios:
*durante o ano são dadas 4 notas;
*a nota final é obtida pela média aritmética das 3 maiores notas dadas durante o curso;
*é considerado aprovado o aluno que obtiver a nota final superior ou igual a 70 pontos e que tiver comparecido a um mínimo de 40 aulas
O algoritmo deve:
*cadastrar um conjunto de dados obtendo o número da matrícula, o nome do aluno, as 4 notas e a frequência(número de aulas frequentadas)
Calcular:
*a nota final de cada aluno;
*a maior e menor nota da turma;
*a nota média da turma;
*ao total de alunos reprovados;
*a percentagem de alunos reprovados por frequência
Listar os dados:
*gerar um relatório contento todos os dados dos alunos cadastrados
*o que foi calculado no item anterior
 

Código:

algoritmo "ex 17"
var
   aluno, curso, per:caracter
   mat, freq: real
   nota1, nota2, nota3, nota4: real
   medtotal: real

inicio
   Enquanto mat=0 ou mat=-1
      Escreval("Nome do Aluno: ")
      leia(aluno)
      Escreval("Matricula do Aluno: ")
      leia(mat)
      Escreval("O Nome do Curso: ")
      leia(curso)
      Escreval("Informe o seu Periodo: ")
      leia(per)
      Escreval("Informe a frequencia: ")
      leia(freq)
      Escreval("Sua primeira Nota: ")
      leia(nota1)
      Escreval("Sua segunda Nota: ")
      leia(nota2)
      Escreval("Sua terceira nota: ")
      leia(nota3)
      Escreval("Sua quarta nota: ")
      media_total<-((nota1*4)+(nota2*3)+(nota3*2)+(nota4*1)/4)
      Escreval("Aluno: ",aluno)
      Escreval("Matrícula: ",mat)
      Escreval("Curso: ",curso)
      Escreval("Período: ",per)
      Escreval("Média Total: ",medtotal)
fimalgoritmo

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Luan Ynnaê.

 

1 hora atrás, Luan Ynnaê disse:

(deixei até aonde está funcionando kkkk), se alguém conseguir me ajudar a elabora o que devo fazer ou me explicar o passo a passo do raciocínio, eu ficaria bem grato.

 

Em qual parte está com dúvidas?

 

 

 

Vamos lá:

 

1#

Abaixo algumas verificações e relação a sintaxe (regras do Visuagl, e regras matemáticas), ou seja, não estou verificando a lógica do código...

algoritmo "ex 17"
var
   aluno, curso, per:caracter
   mat, freq: real
   nota1, nota2, nota3, nota4: real
   medtotal: real
inicio
//ESSE TRECHO ABAIXO NÃO ESTÁ SERVINDO PARA NADA POR ENQUANTO!!!
//escreval("Nome do Aluno: ")
//leia(aluno)
//escreval("Matricula do Aluno: ")
//leia(mat)
//escreval("O Nome do Curso: ")
//leia(curso)
//escreval("Informe o seu Periodo: ")
//leia(per)
//escreval("Informe a frequencia: ")
//leia(freq)

escreval("Sua primeira Nota: ")
leia(nota1)
escreval("Sua segunda Nota: ")
leia(nota2)
escreval("Sua terceira nota: ")
leia(nota3)
escreval("Sua quarta nota: ")
leia(nota4) //<---faltou ler essa nota
{media_total <- ((nota1*4)+(nota2*3)+(nota3*2)+(nota4*1)/4)}  //primeiro adiciona, depois divide
{media_total <- ((nota1*4)+(nota2*3)+(nota3*2)+(nota4*1))/4} //usando a variável errada
medtotal <- ((nota1*4)+(nota2*3)+(nota3*2)+(nota4*1)) /4
escreval("Aluno      : ",aluno)
escreval("Matrícula  :",mat)
escreval("Curso      : ",curso)
escreval("Período    : ",per)
escreval("Média Total:",medtotal)
fimAlgoritmo

Pronto... você estava dividindo antes de adicionar... e estava utilizando a variável errada.

 

 

 

2#

O segredo é seguir o enunciado.

 

1 hora atrás, Luan Ynnaê disse:

O processo de avaliação de uma determinada disciplina obedece aos seguintes critérios:
*durante o ano são dadas 4 notas; <--faltou você ler uma. Já corrigi
*a nota final é obtida pela média aritmética das 3 maiores notas dadas durante o curso; <- você precisa identificar as três maiores notas!!! cadê? Para facilitar, faça o contrário, ache a menor nota e a desconsidere.

/////


*é considerado aprovado o aluno que obtiver a nota final superior ou igual a 70 pontos e que tiver comparecido a um mínimo de 40 aulas
O algoritmo deve:
*cadastrar um conjunto de dados obtendo o número da matrícula, o nome do aluno, as 4 notas e a frequência(número de aulas frequentadas)
Calcular:
*a nota final de cada aluno;
*a maior e menor nota da turma;
*a nota média da turma;
*ao total de alunos reprovados;
*a percentagem de alunos reprovados por frequência
Listar os dados:
*gerar um relatório contento todos os dados dos alunos cadastrados
*o que foi calculado no item anterior

 

Veja, você não pode fazer duas coisas ao mesmo tempo. Não tem como você calcular a média, se você nem obteve as 3 notas necessárias... impossível!

 

Então, ou você tentar encontrar as 3 maiores dentre as 4. Ou, para facilitar, finge que são apenas 3 mesmo, ou seja, o usuário vai digitar apenas 3 notas... essas 3 notas seriam as 3 maiores, sacou? Pronto, ai você calcular a média aritmética dessas 3 notas e exibe na tela.

 

RESUMINDO:

Leia 3 notas, calcule as MA delas e exiba na tela. Após verificar que está funcionado, implemente a parte que está em verde.

 

Se tiver dúvidas em alguma parte, informa onde!!

 

 

No aguardo.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!