Drikka 0 Denunciar post Postado Setembro 30, 2007 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
Kandrade 7 Denunciar post Postado Setembro 30, 2007 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
Drikka 0 Denunciar post Postado Setembro 30, 2007 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
Kandrade 7 Denunciar post Postado Setembro 30, 2007 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