Prazo de entrega recomendado:
Você deverá utilizar matrizes para calcular o ajuste imposto de renda de um conjunto de pessoas. Para isso, deverá ler, mostrar e operar sobre os valores de uma matriz.
Você deve escrever um programa imposto.c
para facilitar o pagamento
de imposto de renda de funcionários(as) de uma empresa. O programa é
executado no final do ano e deve informar quanto cada funcionário(a)
deve pagar de complemento ou receber de restituição. Para isso, é
importante descobrir quanto foi retido diretamente na fonte em cada
mês além de considerar o valor dos abatimentos.
Nesta tarefa, o cálculo do imposto de renda foi simplificado nas etapas explicadas a seguir.
1. Cálculo do valor retido na fonte
Todo mês, a empresa deve descontar dos rendimentos o imposto de renda de uma pessoa e enviar diretamente para a receita federal. Isso é chamado de imposto retido na fonte. O valor do imposto é calculado por faixas, de forma que a cada real em uma faixa incide um alíquota distinta, ou seja, o valor final do imposto é a soma dos impostos de cada faixa.
Rendimentos | Alíquota % |
---|---|
Até 1.499,15 | Isento |
De 1.499,15 até 2.246,75 | 7,5 |
De 2.246,75 até 2.995,70 | 15,0 |
De 2.995,70 até 3.743,19 | 22,5 |
Acima de 3.743,19 | 27,5 |
Por exemplo, se uma pessoa recebe R$ 1.200,00 em um mês, então ela é isenta de imposto naquele mês. No mês seguinte, se ela receber R$ 2.500,00, então os rendimentos atingem três faixas:
- de 0 até 1.499,15, ela não paga imposto
- de 1.499,15 até 2.246,75, incide 7,5%, o que dá 56,07 de imposto
- de 2.246,75 até 2.500,00, incide 15,0%, o que dá 37,9875 de imposto
Isso totaliza R$ 94,05 de imposto retido nesse mês.
2. Ajuste anual
O imposto realmente devido por uma pessoa é computado sobre toda a renda do ano que passou. Como os rendimentos de uma pessoa podem variar durante o ano, é necessário fazer um ajuste. Assim, se alguém perde o emprego no meio do ano, então ela já terá pago imposto nos primeiros meses, mas pode ser que no final do ano ela não precisaria, ou precisaria pagar menos. E vice-versa.
Além disso, há abatimentos que são dedutíveis, como gastos com saúde, educação etc. Dessa forma, o imposto anual é calculado apenas sobre a base de cálculo, dado pela soma dos rendimentos em todo o ano menos o valor total dos abatimentos.
O cálculo do imposto anual é calculado da mesma forma que o valor do imposto retido, mas usando a tabela a seguir.
Base de cálculo | Alíquota % |
---|---|
Até 18.000,00 | Isento |
De 18.000,00 até 26.400,00 | 7,5 |
De 26.400,00 até 36.000,00 | 15,0 |
De 36.000,00 até 44.400,00 | 22,5 |
Acima de 44.400,00 | 27,5 |
O ajuste do imposto de renda é a diferença entre o imposto de renda anual devido menos o valor total já retido na fonte. Se esse valor final for positivo, significa que a pessoa ainda deve pagar imposto à receita. Se o valor do ajuste for negativo, significa que ela pagou imposto a mais e deve ser restituída.
Entrada
A primeira linha contém um número $n$ representando o número de funcionários ($n \le 1000$). Cada uma das $n$ linhas seguintes contém 12 números não negativos informando os rendimentos mensais de um(a) funcionário(a). As últimas $n$ linhas correspondem aos valores de abatimento de cada funcionário(a), em ordem.
Exemplo de entrada
3
1823.67 2127.79 1704.98 2010.30 1534.73 2393.73 1870.53 1518.88 1867.78 2160.01 1678.05 1690.43
2377.65 2166.77 2338.17 2639.68 2245.72 2831.36 2655.57 3054.80 2936.50 2256.44 3206.02 2889.43
2505.80 2517.72 1920.36 3093.98 3507.11 3165.89 4090.16 3349.25 2279.63 3775.59 4284.06 3395.43
50.00
75.68
7.98
Saída
A saída deve conter uma tabela como a do exemplo, cujas as doze
primeiras colunas correspondem aos impostos retidos em cada mês e
cujas as últimas colunas correspondem ao total retido na fonte, ao
imposto devido anual e ao valor do ajuste. Separe as colunas com um
caractere de tabulação '\t'
ou com espaços.
Exemplo de saída
Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez Retido Devido Ajuste
24.34 47.15 15.44 38.34 2.67 78.12 27.85 1.48 27.65 49.56 13.42 14.35 340.35 324.82 -15.54
75.71 50.07 69.78 115.01 55.99 143.76 117.39 181.71 159.53 57.52 215.73 152.47 1394.69 1398.36 3.68
94.93 96.72 31.59 190.53 283.48 206.71 432.01 247.96 61.00 345.51 485.34 258.35 2734.12 2492.32 -241.79
Correção
Esta tarefa será corrigida automaticamente sempre que você realizar um
git push
.
Esta tarefa não será corrigida por um monitor, mas vocês são incentivados a mostrar o código a um monitor e tirar dúvidas sobre a tarefa nos horários de atendimento.
Turma AB: O peso desta tarefa é 1.