Home Fóruns Programação Básica Arredondar

Visualizando 10 respostas da discussão
  • Autor
    Posts
    • #70111
      Julio Cesar
      Participante

      Olá! No exercício 9 do Módulo 01 eu utilizei o arredondar da biblioteca Matemática, minha duvida é o resultado do Guanabara foi R$3640.5376 o meu foi R$3640.54 a minha duvida é se está errado pois o valor foi diferente eu sei que foi porque arredondou mas está errado?

      Meu código:

      programa
      {
      	inclua biblioteca Matematica --> M
      	
      	funcao inicio()
      	{
      	     // Declarando variáveis
      		cadeia nome
      		real salario, valor, s_total
      		inteiro reajuste
      		// Entrada de dados
      		escreva("Qual é o nome do funcionário? ")
      		leia(nome)
      		escreva("Qual é o salário atual dele? R$")
      		leia(salario)
      		escreva("Quantos por cento(%) de reajuste? ")
      		leia(reajuste)
      		// Cálculos
      		valor = (salario * reajuste) / 100
      		s_total = salario + valor
      		// Resultados finais
      		escreva(" O funcionário " + nome + " ganhava R$" + salario)
      		escreva("\ndepois de ganhar " + reajuste + "% de aumento.")
      		escreva("\nAgora ele passará a ganhar R$" + M.arredondar(valor, 2) + " a mais por mês.")
      		escreva("\nO novo salário dele será de R$" + M.arredondar(s_total, 2) + "\n\n")
      	}
      }
    • #70112
      Julio Cesar
      Participante

      Esqueci de falar isso foi utilizando os mesmos valores do Guanabara.

    • #70116
      Rudiberto Dias Assis
      Participante

      Acredito que foi porque você inserir para arredondar 2 casas

      M.arredondar(valor, 2)

      depois da vírgula, tenta colocar 5.

      Abs

    • #70148
      IcaroFilho
      Moderador

      isto se da devido ao arredondamento de duas casas decimais.
      funciona da seguinte maneira: (mantendo a hipótese de 2 casas)

      • de 5 – 9 o arredondamento é para cima:
        3.545 -> 3.55
      • de 1 – 4 o arredondamento é pra baixo:
        3.544 -> 3.54
    • #73697

      Dúvida sobre a função arredondar

      Eu não entendi direito como faz. Sei que o primeiro passo é escrever inclua biblioteca Matematica –> mat
      Mas o que eu faço depois? E posso arredondar uma variável n (ex. real n1) ou tenho que declarar o número (ex. real n1 = 1.256)?

      Outra dúvida, no exercício 007-mod 1- aula 8

      programa
      {
      inclua biblioteca Matematica –> mat

      funcao inicio()
      {
      escreva(“{Exercício 007 – Pintando uma parede} \n”)
      escreva(“Informação importante : 1 litro de tinta pinta 2m² \n”)
      escreva(“——————- \n”)
      real n1
      real arredondamento
      arredondamento = mat.arredondar(n1,3)
      escreva(“Largura da parede: “, arredondamento, “\n”)
      leia(n1)
      real n2
      escreva(“Altura da parede: “)
      leia(n2)
      escreva(“Uma parede ” + n1 + ” x ” + n2 + ” tem uma área de ” + (n1*n2) + ” m² \n”)
      escreva(“Precisaremos de ” + (n1*n2)/2 + ” latas de tinta. “)

      }
      }

      Tentei fazer desse jeito, mas o programa fala que preciso atribuir um valor para o real. Mas se eu fizer isso, não estaria fazendo exatamente como o Guanabara fez, já que ele deixou a variável real como uma incógnita, certo?

    • #73707
      Michel Souza
      Participante

      Olá Larissa, vejamos se consigo ajudar. Incluímos a biblioteca que queremos usar acima da função inicio, no nosso caso a biblioteca Matematica,
      o –> mat é apenas um “apelido” para essa biblioteca, por exemplo: mat.comando(valor, casas) seria a mesma coisa que colocar Matematica.comando(valor, casas) valor é o valor atribuído(variável) e casas o número de casas depois da vírgula. O arredondar vai reduzir a quantidade de casas decimais, para cima ou para baixo.
      Ex, 5.5888 = 5.59.

      Você pode usar tanto na variável (recomendado), quanto no valor numérico que você mesma atribuir, funciona do mesmo jeito, mas convenhamos se vai digitar 1.2567777 poderia colocar 1.25 ou 1.26 não é. O arredondar serve apenas pra deixar o resultado mais visível ao usuário, mais bonito, usá-lo ou não é opcional, porém cuidado! nem sempre deve se usar o arredondamento, principalmente para programas de alta precisão, o valor 38.98777 é diferente de 38.99.

      Em relação ao seu código, a lógica tá certa. Vi que vc criou uma variável arredondamento para receber um valor já arredondado.

      real arredondamento
      arredondamento = mat.arredondar(n1,3)

      Pode fazer assim mesmo ou criar uma variável de resposta e colocar o arredondamento direto nela Assim:

      real resp = (n1 * n2) / 2
      escreva("Tinta: " + mat.arredondar(resp, 2) + " litros.")

      . Bom cada um faz da forma que achar melhor.
      Em relação ao erro que tá acontecendo acredito que esteja usando a última versão do Portugol Studio a v2.7.5, essa versão pede pra iniciar as variáveis, basta colocar real n1 = 0.0, uma dica quando for declarar variáveis tenta dar nomes condizentes a elas, ao invés de colocar n1 e n2 coloca larg e alt, por exemplo, futuramente quando for fazer manutenção no programa e acredite vai fazer, isso ajuda muito.
      Boa sorte nos estudos! Espero ter ajudado.

    • #73799

      Oi, Michel…consegui fazer =)
      Muito obrigada!!

      E segui suas dicas.

      programa
      {
      inclua biblioteca Matematica --> mat
      
      funcao inicio()
      {
      escreva("{Exercício 007 – Pintando uma parede} \n")
      escreva("Informação importante : 1 litro de tinta pinta 2m² \n")
      escreva("----- \n")
      real larg = 0.0
      
      escreva("Largura da parede: ")
      leia(larg)
      
      real alt = 0.0
      escreva("Altura da parede: ")
      leia(alt)
      
      real area = (larg*alt)
      real area2 = (larg*alt)/2
      escreva("Uma parede " + alt + " x " + larg + " tem uma área de " + area + " m² \n")
      escreva("Precisaremos de " + mat.arredondar( area2, 2) + " latas de tinta. ")
      
      }
      }
    • #73802
      Michel Souza
      Participante

      Olá, Larissa que bom que eu consegui ajudar na sua caminhada, é como o Guanabara fala ensinar também nos ajuda a aprender.
      Qualquer coisa basta perguntar no fórum, por mais simples que seja a dúvida não tenha vergonha.

    • #73843
      Tutora Mayla
      Mestre

      Larissa, que bom que conseguiu entender com a explicação excelente do Michel, caso tenham alguma dúvida basta postar no fórum que lhes ajudaremos.

    • #104179
      Marlei GS
      Participante

      Prezados (as),

      Como podemos “arredondar” um número com casas decimais com “0” (zero). Por exemplo, 10% de R$ 1000,00 é R$ 100,00, mas no Portugol Studio, não consigo inserir 2 casas ou mais quando é zero.
      real numero = 100
      matematica.arredondar(numero, 2) => resposta: 100.0

    • #104182
      Tutora Jessica
      Moderador

      Ola Marlei,
      O computador entende que .00 e .0 é a mesma coisa, com isso ele deixa de exibir um 0 para não ocupar mais um espaço na memória..
      Caso você queira que apareça o .00, você vai precisar ir um pouco mais além, colocando mais um zero como string, no caso do portugol, com uma variável caractere. É um bom exercício para ir treinando novas possibilidades, mas um pouco mais avançado.

Visualizando 10 respostas da discussão
  • Você deve fazer login para responder a este tópico.