{ Dados rendimento bruto anual e imposto retido na fonte, calcular se um contribuinte
terá imposto a pagar ou a restituir . Se o resultado for a pagar, as parcelas serão
no máximo em 6 vezes com valor igual ou superior a R$ 50,00
José Carlos da Silva
Maio/2011 }
algoritmo
declare
salarioBruto, salarioMes, impostoBruto, impostoDevido, impostoFonte,
valorResituir: real
{ Aoresentação do problema }
escreva (Calcular o valor do imposto de renda a pagar ou a receber)
{ Obtenção dos valores }
leia (salarioBruto, impostoFonte)
salarioMes <- salarioBruto /12
se salarioMes >= 1499.16 e salarioMes <= 2246.75 então
impostoBruto <- ((salarioBruto - (112.43 * 12)) * 0.075)
se salarioMes >= 2246.76 e salarioMes <= 2995.70 então
impostoBruto <- ((salarioBruto - (280.94 * 12)) * 0.15)
se salarioMes >= 2995.71 e salarioMes <= 3743.19 então
impostoBruto <- ((salarioBruto - (505.63 * 12)) * 0.225)
se salarioMes >= 3.743,20
impostoBruto <- ((salarioBruto - (692.78 * 12)) * 0.275)
impostoDevido <- impostoBruto - imposto Fonte
impostoRestituir <- impostoFonte - impostoBruto
se impostoBruto > impostoFonte então
escreva (Total de imposto a pagar:R$ )
senão
escreva (Valor a ser restituido:R$ )
se impostoDevido > 100.00 e valorRestituir < 0
escreva (Parcelamento em até 6 vezes com valor mínimo da parcela de R$50.00)
senão
escreva (Parcela unica obrigatoria)
se impostoDevido >= 300.00
escreva (Parcela máxima: 6 / valor da parcelas: R$ (fixo))
se impostoDevido < 300.00 e impostoDevido >= 250.00
escreva (Parcela máxima: 5 / valor da parcelas: R$ (fixo))
se impostoDevido < 250.00 e impostoDevido >= 200.00
escreva (Parcela máxima: 4 / valor da parcelas: R$ (fixo))
se impostoDevido < 200.00 e impostoDevido >= 150.00
escreva (Parcela máxima: 3 / valor da parcelas: R$ (fixo))
se impostoDevido < 150.00 e impostoDevido >= 100.00
escreva (Parcela máxima: 5 / valor da parcelas: R$ (fixo))
fim-se
fim-se
fim-se
fim-se
fim-se
fim-se
fim-se
fim-se
fim-se
fim-se
fim-se
fim-algoritmo