Exercício resolvido - Uma universidade tem problemas com arredondamento...

07/09/2013 01:12

Uma universidade tem problemas com arredondamento das médias dos alunos, pois cada professor estipula um critério de arredondamento. Devemos elaborar um algoritmo, para a secretaria da universidade, resolvendo esse problema. O programa deve solicitar uma nota e fazer o devido arredondamento segundo as regras a seguir:
• Nota que ultrapasse 0,5 de resto serão arredondas para CIMA. Ex: 4,6 arredonda para 5,0.
• Nota abaixo ou igual a 0,5 de resto serão arredondas para BAIXO. Ex: 4,5 arredonda para 4,0.

Solução:
algoritmo "Feito por Erick Vivan"

var
opcao, resto, mediaInteira : inteiro
media : real

inicio
      Enquanto (opcao <> 2) faca
          Escreval("1 - Iniciar programa")
          Escreval("2 - Finalizar programa")
          Escreva("Digite uma das opções: ")
          Leia(opcao)
          Escolha (opcao)
              Caso 1
                 Repita
                     Escreval("")
                     Escreva("Digite a média final do aluno: ")
                     Leia(media)
                     Se (media < 0) ou (media > 10) entao
                         Escreval("")
                         Escreval("Média inválida!")
                         Escreval("A média dever ser um valor entre 0 e 10.")
                         Escreval("")
                     Senao
                         media <- media * 10
                         mediaInteira <- int(media) //Coversão de real para inteiro
                         Escreval("")
                         resto <- mediaInteira MOD 10
                         Se (resto <= 5) entao
                             mediaInteira <- mediaInteira DIV 10 //Divisão inteira
                             Escreval("O valor arredondando da média final é: ", mediaInteira)
                             Escreval("")
                         Senao
                             mediaInteira <- mediaInteira DIV 10 + 1
                             Escreval("O valor arredondando da média final é: ", mediaInteira)
                             Escreval("")
                         Fimse
                     Fimse
                 Ate (media >= 0) ou (media <= 10)
              Caso 2
                 opcao <- 2
              Outrocaso
                 Escreval("")
                 Escreval("Opção inválida!")
                 Escreval("")
          Fimescolha
      Fimenquanto
fimalgoritmo