{"id":1275,"date":"2022-02-01T11:34:45","date_gmt":"2022-02-01T14:34:45","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/programacao\/?p=1275"},"modified":"2022-02-01T11:34:47","modified_gmt":"2022-02-01T14:34:47","slug":"calcular-distribuicao-de-precos-de-combustivel","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/programacao\/calcular-distribuicao-de-precos-de-combustivel\/","title":{"rendered":"Calcular distribui\u00e7\u00e3o de pre\u00e7os de combust\u00edvel"},"content":{"rendered":"\n<p>Esse \u00e9 um exerc\u00edcio simples mas com aplica\u00e7\u00e3o pr\u00e1tica. Ele foi inspirado em <a href=\"http:\/\/www.galirows.com.br\/meublog\/programacao\/solicitacao-de-algoritmo11\/\">Solicita\u00e7\u00e3o de algoritmo 11 \u2013 pre\u00e7o do combust\u00edvel<\/a>.<\/p>\n\n\n\n<p><strong>Enunciado:<\/strong> Implemente um programa que receba como entrada os percentuais de impostos de combust\u00edvel atuais do seu estado (cada estado pode implementar sua pr\u00f3pria al\u00edquota e isso altera o percentual de cada componente do pre\u00e7o final do combust\u00edvel). Abaixo segue uma imagem ilustrativa com a distribui\u00e7\u00e3o dos pre\u00e7os fict\u00edcia. Seu programa dever\u00e1 ler o valor pago pelo combust\u00edvel e mostrar o valor que \u00e9 recolhido para cada item que comp\u00f5em o pre\u00e7o do combust\u00edvel.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.galirows.com.br\/meublog\/programacao\/wp-content\/uploads\/sites\/2\/2022\/02\/distribuicao-combustivel-2021.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"701\" src=\"https:\/\/www.galirows.com.br\/meublog\/programacao\/wp-content\/uploads\/sites\/2\/2022\/02\/distribuicao-combustivel-2021.png\" alt=\"\" class=\"wp-image-1270\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-content\/uploads\/sites\/2\/2022\/02\/distribuicao-combustivel-2021.png 1024w, http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-content\/uploads\/sites\/2\/2022\/02\/distribuicao-combustivel-2021-300x205.png 300w, http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-content\/uploads\/sites\/2\/2022\/02\/distribuicao-combustivel-2021-768x526.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Fonte da imagem: https:\/\/www.webposto.com.br\/blog\/economia\/icms-como-ele-afeta-o-preco-dos-combustiveis\/<\/figcaption><\/figure>\n\n\n\n<p>O c\u00f3digo com a resolu\u00e7\u00e3o \u00e9 mostrado abaixo. Inicialmente s\u00e3o solicitados os valores dos percentuais da composi\u00e7\u00e3o do pre\u00e7o do combust\u00edvel. Observe que \u00e9 necess\u00e1rio que esses valores sejam do tipo <em>float<\/em> (conforme valores na figura). Nas linhas 21 e 22 \u00e9 solicitado o valor pago pelo combust\u00edvel (que tamb\u00e9m precisa ser um valor <em>float<\/em>).<\/p>\n\n\n\n<p>A dificuldade da quest\u00e3o est\u00e1 relacionada com a obten\u00e7\u00e3o do valor que a porcentagem do item representa. Isso \u00e9 feito por um c\u00e1lculo simples, mas que existem muitas formas de fazer. Eu utilizo a express\u00e3o: <em>pre\u00e7o * (valor do item \/ 100)<\/em>. A divis\u00e3o por 100 \u00e9 necess\u00e1ria uma vez que os valores s\u00e3o informados como porcentagem. Veja tamb\u00e9m que \u00e9 indispens\u00e1vel o uso dos par\u00eanteses. Esse processo \u00e9 repetitivo e se aplica para cada item da composi\u00e7\u00e3o do pre\u00e7o, conforme linhas de 24 at\u00e9 28.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c line-numbers\">#include &lt;stdio.h>\n\nint main() {\n\tfloat a, b, c, d, e, preco;\n      \n\tprintf(\"Valor do ICMS: \");\n\tscanf(\"%f\", &amp;a);\n\n\tprintf(\"Valor da Distribui\u00e7\u00e3o e Revenda: \");\n\tscanf(\"%f\", &amp;b); \n\n\tprintf(\"Valor do custo Etanol Anidro: \");\n\tscanf(\"%f\", &amp;c); \n\n\tprintf(\"Valor do CIDE e PIS\/PASEP e COFINS: \");\n\tscanf(\"%f\", &amp;d); \n\n\tprintf(\"Valor da Realiza\u00e7\u00e3o Petrobras: \");\n\tscanf(\"%f\", &amp;e);\n\n\tprintf(\"Valor cobrado pelo combustivel: \");\n\tscanf(\"%f\", &amp;preco);\n\t\n\tprintf(\"ICMS = R$ %.2f\\n\", preco*(a\/100)); \n\tprintf(\"CIDE e PIS\/PASEP e COFINS = R$ %.2f\\n\", preco*(d\/100)); \n\tprintf(\"Etanol Anidro = R$ %.2f\\n\", preco*(c\/100)); \n\tprintf(\"Petrobras = R$ %.2f\\n\", preco*(e\/100)); \n\tprintf(\"Distribuicao e revenda = R$ %.2f\\n\", preco*(b\/100)); \n\t\n\tprintf(\"TOTAL teste: %f\\n\", preco*(a\/100)+preco*(b\/100)+preco*(c\/100)+preco*(d\/100)+preco*(e\/100));\n\n\treturn 0;\n}<\/code><\/pre>\n\n\n\n<p>Teste o c\u00f3digo em: <a href=\"https:\/\/ideone.com\/kg6n6h\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ideone.com\/kg6n6h<\/a><\/p>\n\n\n\n<p>Um n\u00famero <em>float <\/em>possui 6 casas de precis\u00e3o. Como s\u00e3o valores monet\u00e1rios, eu mostrei apenas 2 casas decimais, formatando a sa\u00edda com <em>%.2f<\/em>. Isso gera uma altera\u00e7\u00e3o no valor total e com isso a soma dos valores pode n\u00e3o resultar no valor exato do pre\u00e7o do combust\u00edvel. Para exemplificar, considere como valores de entrada: 10.6, 11.3, 17.0, 27.6 e 33.5. Considere tamb\u00e9m que o custo do combust\u00edvel \u00e9 5.0. O <em>printf<\/em> da linha 30 ir\u00e1 mostrar o valor 5.000000, conforme \u00e9 esperado, mas veja que, se voc\u00ea manualmente somar os valores mostrados na tela para cada item, ver\u00e1 que a soma \u00e9 R$ 5,01.<\/p>\n\n\n\n<p>Bom, essa \u00e9 uma quest\u00e3o que o arredondamento de valores pode trazer, mas \u00e9 uma quest\u00e3o mais complexa e n\u00e3o cabe para a resolu\u00e7\u00e3o de um exerc\u00edcio t\u00e3o simples.<\/p>\n\n\n\n<p>E vale a pena avisar: a linha 30 n\u00e3o serve para nada em rela\u00e7\u00e3o ao enunciado. Eu apenas coloquei ela para uma &#8220;prova real&#8221; e tamb\u00e9m para ilustrar a quest\u00e3o da soma dos valores truncados. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esse \u00e9 um exerc\u00edcio simples mas com aplica\u00e7\u00e3o pr\u00e1tica. Ele foi inspirado em Solicita\u00e7\u00e3o de algoritmo 11 \u2013 pre\u00e7o do combust\u00edvel. Enunciado: Implemente um programa que receba como entrada os percentuais de impostos de combust\u00edvel atuais do seu estado (cada estado pode implementar sua pr\u00f3pria al\u00edquota e isso altera o percentual de cada componente do [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,58],"tags":[],"class_list":["post-1275","post","type-post","status-publish","format-standard","hentry","category-c","category-codigo-com-analise"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/1275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/comments?post=1275"}],"version-history":[{"count":3,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/1275\/revisions"}],"predecessor-version":[{"id":1278,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/1275\/revisions\/1278"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/media?parent=1275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/categories?post=1275"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/tags?post=1275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}