Jump to content
kelvim

Lógica de calculo de porcentagem

Recommended Posts

Boa tarde,

 

Preciso de ajuda com o seguinte problema:

 

tenho uma quantidade x de pessoas, o sistema calcula de acordo com algumas metas um valor percentual para cada pessoa.

Ex: A = 30, B=50,C=7 e D=3 ->  Obs: sempre vai ser distribuído 100%

 

Acontece que pode ser que o usuário especifique um valor fixo para um deles

 

EX D sempre vai ser 10

Isso quer dizer que será preciso redistribuir o valor excedente/faltante entre os demais, considerando a proporção.

 

Espero ter conseguido explicar corretamente o problema, Agradeço se alguém ajudar.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By cesaroet
      <?php $variavel = 'teste, teste2, teste 3'; $indice = explode(',', $variavel); foreach ($indice as $indice) { ?> <span>Capítulo</span> <input type="text" name="indice[]" value="<?php echo $indice; ?>" required> <?php } ?> A duvida é o seguinte, como faço para que em "Capitulo" mostre uma sequencia de numeros de acordo com $variavel, exemplo...
      capitulo 1, capitulo 2, capitulo 3...
      Cada 1 com seu valor, ja tentei varias coisas, mas nao estou conseguindo, ajuda por favor
    • By BrazucaBostero
      Olá!
       
      Estou com uma dúvida daquelas sobre um código de calculo de desconto no javascript, abaixo segue o código
       
      JS
      function calcValor() { //Declarando as variaveis let preco, porcentagem, desconto, novopreco; //Obtendo dados atraves do prompt preco = parseFloat(document.getElementById("CAMPO_87").value); porcentagem = parseFloat(document.getElementById("CAMPO_85").value); alert(preco) document.getElementById("CAMPO_88").value = preco; alert(preco) //Realizando os calculos desconto = preco * porcentagem / 100; novopreco = preco - desconto; //O .toFixed(2) faz com que o valor seja corrijdo para duas casas decimais document.getElementById("CAMPO_88").value = novopreco; } HTML
      <div class="row"> <div class="col-md-2"><label class="a3label control-label" for="CAMPO_87">Valor da Mensalidade</label> <input class="a3formcontrol form-control" data-campo-id="@@87@@" data-nome="87 - Valor Mensalidade" data-tipo-documental-id="3" id="CAMPO_87" oninput="calcValor()" type="text" /> </div> <div class="col-md-2"><label class="a3label control-label" for="CAMPO_85">Bolsa (%)</label> <input class="a3formcontrol form-control" data-campo-id="@@85@@" data-nome="85 - Bolsa (%)" data-tipo-documental-id="3" id="CAMPO_85" oninput="calcValor()" type="text" /></div> </div> <div class="row"> <div class="col-md-2"><label class="a3label control-label" for="CAMPO_88">Mensalidade Final</label> <input class="a3formcontrol form-control" data-campo-id="@@88@@" data-nome="88 - Valor Mensalidade (F)" data-tipo-documental-id="3" id="CAMPO_88" type="text" oninput="calcValor()" /></div>  
       
      O que acontece, tenho 2 problemas, que estou a quase 1 semana e não consigo resolver
       
       
      Quando jogo somente o valor do campo mensalidade, ele deveria teoricamente aparecer no campo mensalidade final, independente ou não de haver desconto, porém para minha surpresa ele aparece exatamente igual a imagem abaixo
       

       
       
      E minha outra dúvida é sobre a questão de , e .
      Quando calculo desconto com , por exemplo. 2314,50, ele arredonda e quando coloco 2314.50, ele me da o valor exato. Alguém pode me dar uma luz? Desde já fico agredecido
    • By Mauricio Molina
      Ola,
       
      Tenho um formulário em abas onde cadastro dados dos alunos e mando para o banco de dados.
      <div role="tabpanel" class="tab-pane" id="avaliacao"> <div style="padding-top:20px;"> <form class="form-horizontal" action="" method="POST"> <div class="form-row"> <div class="form-group col-md-2"> <label for="peso">Peso</label> <input type="text" name='peso' class="form-control" id="peso" placeholder="Peso"> </div> <div class="form-group col-md-2"> <label for="altura">Altura</label> <input type="text" name='altura' class="form-control" id="altura" placeholder="Altura em metros"> </div> <div class="form-group col-md-2"> <label for="imc">IMC</label> <input type="text" name='imc' class="form-control" id="imc" placeholder="IMC"> </div> <div class="form-group col-md-2"> <label for="rcq">Relação Cintura Quadril</label> <input type="text" name='rcq' class="form-control" id="rcq" placeholder="RCQ"> </div> </div> </div> </div> O que gostaria de fazer é que ao digitar os dois primeiros, Peso e Altura, o campo IMC fosse preenchido automaticamente com o resultado (número inteiro)
       
      A fórmula para o calculo seria:
       
      Peso / altura x altura
       
      * Leia-se: peso dividido pela altura ao quadro
       
      Mas sinceramente entendo pouco de javascript, alguém pode me dar uma força?
       
      Tenho um script que peguei na internet que consigo fazer as operações matemáticas, mas não sei como alterar para realizar a operação acima.
       
      E preciso que não mostre as casas após a virgula, como neste script abaixo.
       
      <script type="text/javascript"> function id(el) { return document.getElementById( el ); } function metros_perc( un, cooper ) { return parseFloat(un.replace(',', '.'), 10) * parseFloat(cooper.replace(',', '.'), 10); } window.onload = function() { id('mquadra').addEventListener('keyup', function() { var result = metros_perc( this.value , id('cooper').value ); id('metros_perc').value = String(result.toFixed(2)).formatMoney(); }); id('cooper').addEventListener('keyup', function(){ var result = metros_perc( id('mquadra').value , this.value ); id('metros_perc').value = String(result.toFixed(2)).formatMoney(); }); } String.prototype.formatMoney = function() { var v = this; if(v.indexOf('.') === -1) { v = v.replace(/([\d]+)/, "$00"); } v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20"); v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2"); v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3"); return v; }; </script>  
    • By Rluz2019
      Questão A
      Todo conjunto de palavras ou símbolos que exponham um pensamento de sentido completo que seja possível atribuir como valor lógico, ou a verdade ou a falsidade, podem ser classificados como uma proposição. Proposição é um conjunto de palavras ou símbolos que expressam um pensamento de sentido pleno, e são classificadas em simples e compostas. Com base neste contexto, analise as proposições p e q e traduza em sentenças de linguagem corrente.
      p: Fernando é curioso e q: Renato é alegre.
      a) q → p       
      b) p v ~q        
      c) q ↔ ~p
       
      Referências:
      Fundamentos da Matemática para Informática, Faculdade Educacional da Lapa (Org.), 2016. Capítulo 2.
       
       
      A: Fernando é Curioso e q: Renato é alegre.
      a)    Q → P
      b)    P v ~ Q
      c)     Q ↔ ~P
       
      Resposta:
      Que seja possível atribuir como valor lógico, ou a verdade ou a falsidade, podem ser classificados como uma proposição.    
       
      A) Se Renato é Alegre, então Fernando é Curioso.
      B) Fernando é curioso ou Renato não é alegre.
      C) Renato é alegre se é somente se Fernando não for curioso.
       
      Dadas as expressões P e Q do problema podemos escrever:
       
      a) q → p    " Se Renato é alegre, então Fernando é curioso. "
      b) p v ~q   " Fernando é curioso ou Renato não é alegre "
      c) q ↔ ~p “ Renato é alegre se, e somente se Fernando não for curioso. "
       
       
      Em negrito está demarcado cada uma das frases equivalente à construção logica dada:
       
      Vamos analisar em detalhes.
       
      Na letra a), a expressão:
      Q → P
      ·       Proposições associadas a uma condicional - Recíproca da condicional
      Chama-se de proposição condicional ou apenas condicional uma proposição representada por “ se” P “então” Q, cujo valor logico é a Falsidade (F) no caso em que P é verdadeira e Q é falsa e a verdade (V) nos demais casos.
      O Exemplo: "P: Fernando é curioso” e “Q: Renato é Alegre ”
      Se torna "Q→P" e a tabela verdade Proposição Condicional será:
      Fernando é curioso
      Renato é alegre
      Se Renato é Alegre, então Fernando é curioso.
      Q
      P
      Q → P
      V
      V
      V
      V
      F
      V
      F
      V
      V
      F
      F
      F
       
      Se lê como " se P então Q" e é conhecido como uma implicação.
      Representa um fenômeno de causa e consequência.
       
      Na letra b), a expressão:
      P v ~Q
      Contém dois elementos lógicos.
      O conectivo "OU" representado por " V "
      A negação representada por " ~ "
      A primeira leitura que se faz é " P ou não Q ", mas nem sempre a frase "Não Q" está gramaticalmente correta, então as vezes é necessário reescrever como foi feito na letra B.
      Do contrário ficaria “ Fernando é curioso ou não Renato é alegre " e esta frase tem "som estranho".
      Na letra c), A expressão:
      Q ↔ ~P
      Contém dois elementos lógicos.
       O símbolo ↔ representa "se é somente se" e é uma implicação de duas vias. Equivale a (q → p) ^ (p → q) "se q então p e ao mesmo tempo se P então Q".
      Já o sinal " ~ " representa negação de P.
        Comentários
      Comentário: Olá Rodrigo, tudo bem? Sua resposta está correta e completa, parabéns! Continue focado em seus estudos para atingir todos os seus objetivos. Abraços! Prof. 
       
      3,5 de um máximo de 3,5(100%)
    • By ArchTGS
      #include <iostream>
      #include <locale>
      using namespace std;
      int main(){
          setlocale(LC_ALL,"ptb");
          int idade;
          char *categoria;
          cout<<"informe a idade do participante: ";
          cin>>idade;
          while(idade!=-1){
              if(idade>=7 && idade<=12){
                  categoria="INFANTIL";
              }
              else if(idade>12 && idade<=17){
                  categoria="JUVENIL";
              }
              else if(idade>17 && idade<=49){
                  categoria="ADULTO";
              }
              else if(idade>=50){
                  categoria="SÊNIOR";
              }
              else{
                  cout<<"Infelizmente o candidato ainda não pode participar!";
              }
              cout<<"O participante está na categoria "<<categoria << " \n ";
              cout<<"Informe a idade do participante: ";
              cin>>idade;
          }
      }
      então pessoal esse é meu codigo, está funcionando bonitinho, porém quando eu faço o teste da ultima opção do encadeamento else, que está em vermelho, aparece o resto do codigo também, o que está em verde, tem alguma maneira de fazer essas ultimas mensagens não aparecerem? não quero ter que colocar saídas(cout) em todos os if's e elses.
      Obs: to aprendendo peguem leve.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.