Exercicio 006 M01A08

Home Fóruns Programação Básica Exercicio 006 M01A08

Visualizando 8 respostas da discussão
  • Autor
    Posts
    • #62146
      Ermesson Rodrigues
      Participante

      minha duvida, o professor no exercicio de conversão pediu para colocar um limitador de casas decimais,
      eu consegui fazer de dois modos, gostaria de informação de qual dos modos devo usar por questoes de boas praticas?
      Segue oque eu usei:

      programa
      {
      inclua biblioteca Matematica –> m
      funcao inicio()
      {
      real metros
      escreva(“[[ Exercicio 006 Modulo 01 ]]\n\n”)
      escreva(“informe a metragem que deseja converter: “)
      leia(metros)
      real km = metros / 1000
      escreva(“- – – – – – – – – – – – – CONVERTENDO – – – – – – – – – – – – – \n”)
      escreva(” A conversão para Kilometros é: ” + m.arredondar(km, 4) + “\n”)
      escreva(” A conversão para hectometros é: ” + m.arredondar((metros / 100), 4) + “\n”)

      }
      }

    • #62159

      Olá Ermesson, bom dia!

      Ambas as formas estão corretas, mas como neste exercício você só irá usar os valores de conversão uma única vez, não se faz necessário a criação de uma variável.

      programa
      {
      	inclua biblioteca Matematica --> m
      	funcao inicio()
      	{
      		real metros
      		escreva("[[ Exercício 006 Modulo 01 ]]\n\n")
      		escreva("informe a metragem que deseja converter: ")
      		leia(metros)
      		// real km = metros / 1000
      		escreva("------------ CONVERTENDO ------------\n")
      		escreva(" A conversão para Kilometros é: " + m.arredondar(metros / 1000, 4) + "\n")
      		escreva(" A conversão para hectometros é: " + m.arredondar(metros / 100, 4) + "\n")
      	}
      }

      Espero ter ajudado!

    • #62163
      Tutora Mayla
      Mestre

      Ermesson, como O Nicollas explicou, as duas formas estão certas. Por ser um uso só não é necessária a variável, mas não tem problema se quiser usá-la. Dependendo da situação pode ficar mais legível utilizar uma variável.

      Quaisquer outras dúvidas estamos a disposição.

    • #62214

      Emerson, eu em particular usei a opção de criar variável, pois pensei um pouco mais alem, como são vários módulos e um complementa o outro, então usando variável podemos a medida que evoluimos no curso ir dando upgrade nos exercícios anteriores, assim declarei uma variável lá no escopo geral, e ela me serve sempre que preciso usá-la. hoje concluí o módulo 2 e criei um menu geral e dentro coloquei vários dos exercícios anteriores e aí vem o pulo do gato, posso usar as variáveis já criadas, não preciso ficar refazendo a roda entendeu? abraço, bons estudos.

      • #62215
        Ermesson Rodrigues
        Participante

        obrigado, eu tambem penso assim, eu tenho tentado incrementar os exercicios, para poder deixar um pouco mais complexo e me fazer usar mais funções, agora eu vi que tem um monte de exercicios no final do primiro modulo, estou muito empolgado, os outros cursos que eu ja fiz anteriormente não tinha nada para que eu pudesse testar meus conhecimentos.

    • #63851
      Wesley Reis
      Participante

      Boa noite!

      Referente ao exercício 6, o professor pediu para usar limitador de casas decimais.
      Gostaria de saber se é uma boa prática chamar o comando Arredondar na declaração das variáveis, conforme solução abaixo:

      Obrigado!

      real metros
      escreva(“{ EXERCÍCIO 06 – CONVERSOR DE MEDIDAS } \n”)
      escreva(“Distância em metros: “)
      leia(metros)
      escreva(“\n”)
      escreva(“——— CONVERTENDO ———- \n”)
      real km = Matematica.arredondar(metros/1000, 4), hm = Matematica.arredondar(metros/100,4), dam = Matematica.arredondar(metros/10,4), dm = Matematica.arredondar(metros*10,4), cm = Matematica.arredondar(metros*100,4), mm = Matematica.arredondar(metros*1000,4)
      escreva(km, ” Km \n”)
      escreva(hm, ” Hm \n”)
      escreva(dam, ” Dam \n”)
      escreva(dm, ” Dm \n”)
      escreva(cm, ” Cm \n”)
      escreva(mm, ” Mm \n”)

    • #63866
      IcaroFilho
      Moderador

      Bom dia Wesley,

      Eu acho que tudo depende do intuito do código.
      Por exemplo, se vc sabe que todo o programa terá a saída arredondada em 4 casas, assim como no exercício 6, acredito que seja o mais pratico (até pq se precisar chamar a variável mais uma vez, não ira precisar mandar arredondar novamente).
      Mas se vc usar apenas em parte do programa (caso vc necessite fazer cálculos mais precisos com a mesma variável dentro do mesmo programa, vc terá que refazer os cálculos), vai acabar dando mais trabalho.
      Não sei se consegui transmitir o meu conceito …

    • #63888
      Wesley Reis
      Participante

      Boa tarde, Ícaro

      Entendi perfeitamente, agr fez total sentindo pra mim!
      Obrigado pela ajuda!!!

    • #64042
      Tutora Mayla
      Mestre

      Wesley, o Icaro explicou muito bem, vai depender da situação e da necessidade de precisão do cálculo ao longo do programa. As vezes arredondar antes ou depois pode interferir no resultado final.
      Quaisquer outras dúvidas estamos a disposição.

    • #81229

      Não estou conseguindo ARREDONDAR”. O mesmo aconteceu no exercício 006.

      programa
      {

      inclua biblioteca Matematica –> mat
      funcao inicio()
      {

      real preco
      real arredondamento
      escreva(“{ EXERCÍCIO 008 – Desconto no Produto }\n”)
      escreva(“Qual é o preço do produto? “)
      leia(preco)
      arredondamento = mat.arredondar(preco, 2)
      escreva(“Com 5% de desconto, o produto sai por R$ ” + (preco-(preco*5/100)) , arredondamento )

      }
      }

      • #81630
        Tutora Mayla
        Mestre

        Guilherme, imagino que deseja arredondar a resposta da conta (preco-(preco*5/100)) para isto é necessário utilizar a função de arredondamento no resultado dela, por exemplo:

        resultado = (preco-(preco*5/100)) 
        escreva(“Com 5% de desconto, o produto sai por R$ ” +  mat.arredondar(resultado, 2))

        ou então:
        escreva(“Com 5% de desconto, o produto sai por R$ ” + mat.arredondar((preco-(preco*5/100)), 2))

        Da forma que está sendo feito no seu código, o que está sendo arredondando é preco porém ao realizar a divisão o resultado da divisão não terá a quantidade de casas decimais arredondado.
        Em alguns casos pode ser necessário arredondar antes da conta, neste caso não é necessário. É necessário apenas que se arredonde o resultado que irá aparecer na tela, como no exemplo que dei.
        Espero ter ajudado, caso a dúvida persista por favor entre em contato novamente.

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