Alasca 0 Denunciar post Postado Agosto 26, 2014 Olá Preciso criar um algoritmo que calcule o valor do salário líquido de uma pessoa com base no desconto do imposto de renda, sendo que: (salário líquido = salário bruto– imposto de renda). Quero que o algoritmo calcule o salário líquido de acordo com cada faixa de renda. Já iniciei meu código que está assim: var salarioB, imposto: real inicio // Seção de Comandos //A tabela atual do IRRF é: //Base de cálculo mensal | Alíquota | Parcela a deduzir //Até 1.787,77 | - | - //De 1.787,78 até 2.679,29 | 7,5 | 134,08 //De 2.679,30 até 3.572,43 | 15,0 | 335,03 //De 3.572,44 até 4.463,81 | 22,5 | 602,96 //Acima de 4.463,81 | 27,5 | 826,15 escreva("Digite o salário:") leia (salarioB) se (salarioB<=1787.77) entao escreval("Isento de Imposto de Renda") senao se (salarioB>=1787.78) entao imposto<- salarioB*0.075-134.08 senao se (salarioB>=2679.30) entao imposto<- salarioB*0.15-335.03 senao se (salarioB>=3572.44) entao imposto<- salarioB*0.225-602.96 senao se (salarioB=4463.81) entao imposto<- salarioB*0.225-602.96 senao imposto<- salarioB*0.275-826.15 escreva("O salário Líquido é", salarioB - imposto) fimse fimse fimse fimse fimse fimalgoritmo Valores menores ou iguais a 1787.77 o código imprime "Isento de Imposto de Renda". Porém para os outros valores, não imprime nada. Se alguém souber o que está errado e puder me ajudar, desde já agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Agosto 27, 2014 Você tem que verificar o fato de que você está usando >= ou seja para qualquer valor maior que 1787,78 então ele vai imprimir a mesma coisa, você precisa definir um intervalo entre o 1787,78 e o 2679,30 para que ele pegue apenas esse intervalo. Verifique também o fimse, que provavelmente estão acumulados no final, não me lembro se isto pode encadear os if's dentro da sintaxe. Compartilhar este post Link para o post Compartilhar em outros sites
SergioCavalcante 0 Denunciar post Postado Agosto 28, 2014 se (salarioB < 1787.77)ou(salarioB = 1787.77) entao escreval("Isento de Imposto de Renda") senao se (salarioB >= 1787.78)e(salarioB <= 2679.29) entao imposto<- salarioB*0.075-134.08.................................. agora e só continuar Bons Estudos Compartilhar este post Link para o post Compartilhar em outros sites