Home › Fóruns › Programação Básica › [duvida]Modulo 01 – Aula 08 – Exercicio 07
Marcado: Arredondar
- Este tópico contém 14 respostas, 4 vozes e foi atualizado pela última vez 3 meses, 2 semanas atrás por
Tutora Jessica.
-
AutorPosts
-
-
4 de fevereiro de 2023 às 23:51 #109857
Wagner
ParticipanteBoa noite, tudo bom?
Quando eu uso a função Matematica.arredondar, o programa adiciona 1 dígito a mais na saída.
Exemplo: escreva(“Precisaremos de “+ Matematica.arredondar(d, 3)/2 +” litros de tinta.\n”)
No caso acima, ele me retorna um valor de saída com 4 dígitos após a vírgula.
Se eu reduzo para (d, 2) ele me retorna 3 dígitos após a vírgula.
Se eu reduzir ainda para (d, 1) ele me retorna 2 dígitos após a vírgula.Por quê acontece isso?
Muito obrigado.
==============
programa { //EXERCICIO 007 - Cálculo de Área inclua biblioteca Util inclua biblioteca Matematica funcao inicio() { const inteiro a = 2 real b, c, d escreva("{ EXERCÍCIO 007 - Pintando uma parede }\n") escreva("\n") escreva("Informação importante: um litro de tinta pinta 2m²\n") escreva("\n") Util.aguarde(1000) escreva("=======================================\n") escreva("\n") Util.aguarde(1000) escreva("Digite a largura da parede em metros: ") leia(b) escreva("\n") Util.aguarde(1000) escreva("Digite a altura da parede em metros: ") leia(c) d = b*c escreva("\n") Util.aguarde(1000) escreva("Uma parede de "+ b +" por "+ c +" tem uma área de "+ d +" m²\n") Util.aguarde(1000) escreva("\n") escreva("Precisaremos de "+Matematica.arredondar(d, 3)/2+" litros de tinta.\n") Util.aguarde(1000) escreva("\n") escreva("=======================================\n") escreva("\n") } }
-
6 de fevereiro de 2023 às 10:01 #109911
Tutora Jessica
ModeradorOla Wagner, quais números você esta colocando?
Pois testei e ele esta arredondando certinho. -
7 de fevereiro de 2023 às 18:54 #109982
Wagner
ParticipanteMinuto 7:50 da Aula 08 do Modulo 01 de Programação Básica
-
7 de fevereiro de 2023 às 19:17 #109990
Tutora Jessica
ModeradorOla Wagner me desculpa apaguei sem querer o comentário anterior.
Então , havia colocado o valor de 5.5 e 2.5 e apareceu certo.
Mas 2.75 é um valor quebrado, então realmente aparece 4 casas decimais após a vírgula, pois você ditou que são até 4 decimais.. seria 0,1,2,3 que no caso são 4, entendeu?
Seu código esta funcionando igual ao exemplo do professor no vídeo do módulo 1 exercício 8.
Caso queira que apareça menos casas decimais , você deve colocar a quantidade desejada dentro do parênteses da sua biblioteca Matemática : Matematica.arredondar(d, 3)/2.. onde esta 3 colocar menos casas, lembrando que a contagem começa do 0 .-
7 de fevereiro de 2023 às 19:25 #109994
Wagner
ParticipanteAcho que entendi!
Será que é porque o valor termina sempre em “5” que faz com que não arredonde para as casas que a gente estipular? Como se fosse uma dízima periódica?
Se eu puser arredondar (d,0) ele arredonda pra 7.5
Se eu puser arredondar (d,1) ele arredonda pra 7.55
Se eu puser arredondar (d,2) ele arredonda pra 7.565
Se eu puser arredondar (d,3) ele arredonda pra 7.5625Obrigado pela atenção Professora!
Estava tentando entender a causa desse comportamento.
-
8 de fevereiro de 2023 às 13:54 #110038
Tutora Jessica
ModeradorPerfeito Wagner, isso mesmo.. tenta no código para você ver funcionando. 🖖
-
-
15 de novembro de 2024 às 15:20 #146853
Lucas Barbosa
Participanteprograma
{
inclua biblioteca Matematica –> matfuncao inicio()
{
real preco
escreva(” Digite aqui o preço do produto: “)
leia(preco)
preco = mat.arredondar(preco, 2)
real desconto = (preco * 5)/100
escreva(“Com 5% de desconto, o produto sai por ” + desconto )
}
}
`Não está arredondando. Alguem pode me ajudar?-
18 de novembro de 2024 às 10:19 #147035
Tutora Jessica
ModeradorOlá Lucas, trouxe sua duvida para um topico ja existente com a dúvida pertinente, dê uma olhada nas explicações acima e veja se consegue ajudar no seu caso.
Caso não consiga resolver retorne ao fórum que vamos tentar te ajudar 🖖🏼
-
-
15 de dezembro de 2024 às 18:18 #151485
Davi Gleidson Monteiro Loureiro
ParticipanteO Exercício 06 – Conversor de Medidas
Todo o código apresenta a resposta como solicitada pelo Professor Guanabara. No entanto, no campo milímetro não segue a formatação e não sei o porquê?
Segue o código abaixo:
programa
{
inclua biblioteca Matematica –> mat
funcao inicio()
{
real n1
escreva(“Distância em metros: “)
leia(n1)
real arredondamento
escreva(“\n”)
escreva(“——————–CONVERTENDO——————–\n”)
real km = n1 / 1000
arredondamento = mat.arredondar(km, 3)
escreva(arredondamento + ” km \n”)
real hm = n1 / 100
arredondamento = mat.arredondar(hm, 3)
escreva(arredondamento + ” hm \n”)
real dam = n1 / 10
arredondamento = mat.arredondar(hm, 3)
escreva(arredondamento + ” dam \n”)
real dm = n1 * 10
arredondamento = mat.arredondar(dm, 3)
escreva(arredondamento + “dm \n”)
real cm = n1 * 100
arredondamento = mat.arredondar(cm, 3)
escreva(arredondamento + ” cm \n”)
real mm = n1 * 1000
arredondamento = mat.arredondar(mm, 3)
escreva(arredondamento + ” mm \n”)
escreva(“—————————————————“)
}
}-
16 de dezembro de 2024 às 09:42 #151517
Tutora Jessica
ModeradorOla Davi, trouxe a sua duvida para uma ja existente do mesmo exercício e módulo, dê uma olhada nas explicações e duvidas que estão nesse tópico, nos fórum você encontra outras duvidas tambem desse mesmo exercício, mas caso mesmo assim a sua duvida nao seja sanada retorne ao forum com seu codigo e qual erro apresenta que assim vamos lhe ajudar da melhor forma 🖖🏼
-
16 de dezembro de 2024 às 12:16 #151531
Tutora Jessica
ModeradorO seu código apresenta algum erro?
Quais números esta colocando?
-
-
16 de dezembro de 2024 às 10:10 #151522
Davi Gleidson Monteiro Loureiro
ParticipanteEsta informação não ajudou. Pois como disse… todas as outras conversões estão funcionando corretamente, apenas a conversão para MILÍMETRO não está funcionando.
-
7 de fevereiro de 2023 às 19:14 #109989
Wagner
ParticipanteUsando os valores 5.5 e 2.75 acontece de não arredondar. :\
Será que é bug do programa?
A versão que está instalada é a 2.7.5 de 27 de novembro de 2020.
-
7 de fevereiro de 2023 às 19:20 #109993
Tutora Jessica
ModeradorOla Wagner me desculpa apaguei sem querer o comentário anterior.
Então , havia colocado o valor de 5.5 e 2.5 e apareceu certo.
Mas 2.75 é um valor quebrado, então realmente aparece 4 casas decimais após a vírgula, pois você ditou que são até 4 decimais.. seria 0,1,2,3 que no caso são 4, entendeu?
Seu código esta funcionando igual ao exemplo do professor no vídeo do módulo 1 exercício 8.
Caso queira que apareça menos casas decimais , você deve colocar a quantidade desejada dentro do parênteses da sua biblioteca Matemática : Matematica.arredondar(d, 3)/2.. onde esta 3 colocar menos casas, lembrando que a contagem começa do 0 .
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.