Ir para conteúdo

POWERED BY:

Arquivado

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

Drikka

exercicio de lógica esta certo ou não?

Recommended Posts

Ola pessoal, estou na dúvida se o seguinte exercício de lógica esta certo ou não.

Alguem pode me ajudar?

O exercício é o seguinte:

 

Dado uma relação de N alunos de uma turma, cada um possuindo a mesma quantidade X de notas (você deve solicitar que seja digitada a quantidade de notas), faça um algoritmo que leia o nome e as notas dos N alunos e mostre na tela: (Valor da questão: 7,0 pontos)

Nome e média dos alunos.

Quantidade de alunos aprovados (média para aprovação: >= 7.0), quantidade de alunos reprovados (média para reprovação: <= 2.0) e quantidade de alunos em recuperação (média de recuperação: 2 < média < 7.0).

Média geral da turma.

 

Resolvi da segunte forma:

 

InicioVARIAVEIS:NOME {armazenará o nome de cada aluno} literalQTD_ALUNOS {irá armazenar a quantidade de alunos}MEDIA_ALUNO {irá armazenar a media de cada aluno}MED_TURMA {ira armazenar a media geral da turma}QTD_ALUNOS {irá armazenar a quantidade de alunos na turma}QTD_NOTAS {irá armazenar a quantidade de notas de cada aluno}APROVADO {irá armazenar o aluno aprovado}REPROVADO {irá armazenar o aluno reprovado}RECUPERACAO {irá armazenar o aluno em recuperação}ALUNOS_APROV {irá armazenar a quantidade de alunos aprovados}ALUNOS_REPROV {irá armazenar a quantidade de alunos reprovados}ALUNOS_REC {irá armazenar a quantidade de alunos em recuperação}SOMA {variável que irá armazenar a soma das operações necessárias}CONTA {variável que irá verificar a quantidade de algarismos digitados}ALUNO {irá dizer onde a variável do cadastro dos alunos irá começar}VALOR_NOTA {irá dizer onde a variável do valor da nota irá começar}numéricoescreva: “Digite a quantidade de alunos da turma”leia: QTD_ALUNOSescreva: “quantidade de notas que cada aluno possui”leia: QTD_NOTASenquanto ALUNO <= QTD_ALUNOS faça	   escreva: “Digite o nome do aluno”    leia: NOME   para VALOR_NOTA de 1 até QTD_NOTAS faça	  escreva: “Digite o valor da nota do aluno”	  leia: NOTA   fim-para   MEDIA <- NOTAS / QTD_NOTAS {média do aluno}   escreva: “valor da media”    leia: MEDIA   {dados que irão dizer se o aluno esta aprovado, reprovado ou em recuperação}   se MEDIA > = 7.0 então  	  escreva: “Aluno Aprovado” 	  leia:APROVADO   fim-se   senão   se MEDIA < 7.0 e MEDIA > 2.0 então	  escreva: “Aluno em Recuperação” 	  leia:RECUPERACAO   fim-se   senão   se MEDIA < 2.0 então 	  escreva: “Aluno Reprovado” 	  leia:REPROVADO   fim-sefim-enquantoenquanto MEDIA > 0 faça {soma das médias dos alunos}   CONTA = 0   CONTA <- CONTA + 1   SOMA <- SOMA + MEDIA   escreva SOMA_MEDIAS    leia SOMA_MEDIASfim-enquantoenquanto APROVADO > 0 faça {número de alunos aprovados}   CONTA = 0   CONTA <- CONTA + 1   SOMA <- SOMA + APROVADO   escreva ALUNOS_APROV    leia ALUNOS_APROVfim-enquantoenquanto RECUPERACAO > 0 faça {número de alunos em recuperação}   CONTA = 0   CONTA <- CONTA + 1   SOMA <- SOMA + RECUPERACAO   escreva ALUNOS_REC    leia ALUNOS_RECfim-enquantoenquanto REPROVADO > 0 faça {número de alunos reprovados}   CONTA = 0   CONTA <- CONTA + 1   SOMA <- SOMA + REPROVADO   escreva ALUNOS_REPRO    leia ALUNOS_REPROfim-enquantoMEDIA-TURMA <- SOMA_MEDIAS / QTD_ALUNOS {média da turma}escreva: MEDIA_TURMA leia:MEDIA_TURMAfim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para testar esse código voce pode simular uma situação e verificar se ela te atende.

Nesse trecho por exemplo:

 

para VALOR_NOTA de 1 até QTD_NOTAS façaescreva: “Digite o valor da nota do aluno”leia: NOTAfim-para

Vamos supor que cada aluno tenha 3 notas.

A cada passagem desse laço o valor de nota é substituido.

Voce pode acumular esse valor e dividir pela quantidade de notas par fazer uma média.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para testar esse código voce pode simular uma situação e verificar se ela te atende.Nesse trecho por exemplo:Vamos supor que cada aluno tenha 3 notas.A cada passagem desse laço o valor de nota é substituido.Voce pode acumular esse valor e dividir pela quantidade de notas par fazer uma média. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Obrigado pela ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda!!!

Não foi nada.Outras dicas:Para calcular média dos alunos, quantidade dos alunos aprovados, etc. voce precisa fazer isso dentro do laço. Ex:
MEDIA <- NOTAS / QTD_NOTAS {média do aluno}   escreva: “valor da media”    ACUMULA_MEDIA = ACUMULA_MEDIA + MEDIA   {dados que irão dizer se o aluno esta aprovado, reprovado ou em recuperação}
ACUMULA_MEDIA terá a soma de todas as médias ai basta dividir pela quantidade de alunos voce terá a média das médias dos alunos. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

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.