Tarefa 2 - Imposto de Renda

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:

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.