Home › Fóruns › Programação Básica › Arredondar
- Este tópico contém 10 respostas, 8 vozes e foi atualizado pela última vez 2 anos atrás por Tutora Jessica.
-
AutorPosts
-
-
26 de junho de 2021 às 21:56 #70111Julio CesarParticipante
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") } }
-
26 de junho de 2021 às 21:58 #70112Julio CesarParticipante
Esqueci de falar isso foi utilizando os mesmos valores do Guanabara.
-
26 de junho de 2021 às 23:49 #70116Rudiberto Dias AssisParticipante
Acredito que foi porque você inserir para arredondar 2 casas
M.arredondar(valor, 2)
depois da vírgula, tenta colocar 5.
Abs
-
27 de junho de 2021 às 13:02 #70148IcaroFilhoModerador
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
- de 5 – 9 o arredondamento é para cima:
-
15 de agosto de 2021 às 13:27 #73697LARISSA R. APRILL REZENDEParticipante
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 –> matfuncao 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?
-
15 de agosto de 2021 às 16:11 #73707Michel SouzaParticipante
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. -
16 de agosto de 2021 às 22:40 #73799LARISSA R. APRILL REZENDEParticipante
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. ") } }
-
17 de agosto de 2021 às 00:22 #73802Michel SouzaParticipante
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. -
17 de agosto de 2021 às 18:43 #73843Tutora MaylaMestre
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.
-
1 de novembro de 2022 às 11:51 #104179Marlei GSParticipante
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 -
1 de novembro de 2022 às 13:04 #104182Tutora JessicaModerador
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.
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.