Considere o texto a seguir para responder a questão.
A empresa de saneamento AGUABOA faz uso de uma infraestrutura computacional para auxiliar suas operações. Nos últimos meses, a empresa tem recebido diversas reclamações acerca das suas faturas mensais. Os clientes têm argumentado que os valores cobrados não são compatíveis com o consumo mensal de água. O processo da leitura dos medidores é realizado mensalmente. O valor apresentado na fatura de cada cliente é definido pelo produto de um fator (valor) pela diferença entre a leitura corrente e a leitura anterior do medidor do cliente em questão. Por exemplo: o consumidor em sua reclamação, apresentou uma fatura na qual o consumo corrente, para o mês em questão, foi de 13000789, enquanto a leitura do mês anterior foi de 13000769, o que resulta na diferença 20, que multiplicada pelo fator 5,18 (fator utilizado no mês em questão) produz o valor R$10,36, que é inferior ao valor registrado na fatura (R$18,49). Neste exemplo, o valor cobrado pela fatura é superior ao valor devido, o que motivou a reclamação desse cliente.
Diante dos fatos, o gerente responsável pelo setor de cobrança solicitou ao setor de TI o desenvolvimento de um aplicativo para verificar as faturas antes de serem emitidas e, dessa forma, permitir que eventuais falhas sejam corrigidas antes de encaminhadas aos clientes. Os detalhes da solicitação são apresentados a seguir.
Nome: Aplicativo de verificação de faturas
Descrição geral: aplicativo que recebe informações sobre as leituras dos consumidores em um dado mês, juntamente com as faturas (“prévias”) e, com base em tais informações, indica quais faturas estão com um valor “equivocado”.
Informações de Entrada. O aplicativo recebe três argumentos, dois nomes de arquivos, na ordem detalhada a seguir, e o fator descrito e exemplificado com o valor R$5,18.
O primeiro argumento é o nome do arquivo em formato CSV (caminho completo ou relativo) contendo detalhes das leituras dos consumos em um dado mês. As colunas são separadas por ponto-e-vírgula (;) e o cabeçalho é COD;LA,LC onde COD é o código do cliente (alfanumérico de, no máximo, 20 caracteres); LA é a leitura do mês anterior definida por um valor inteiro de, no máximo, 10 dígitos e LC é o valor da leitura cor – rente, também um inteiro com, no máximo, 10 dígitos.
O segundo argumento é o nome do arquivo CSV (caminho completo ou relativo), contendo uma prévia das faturas com as informações COD e VALOR. COD é o código do cliente e VALOR é o valor da fatura, com no máximo duas casas decimais. Novamente, o valor da fatura é definido como o produto do fator pela diferença entre o valor da leitura corrente e o valor da leitura anterior. Ou seja, VALOR = (LC – LA) * FATOR, onde FATOR é o terceiro argumento fornecido ao aplicativo.
Informações de saída. O aplicativo deverá produzir, com base nas informações de entrada, no diretório corrente, o arquivo diferenças.csv. O arquivo CSV a ser produzido tem como cabeçalho COD;LA;LC;ESPERADO; VALOR;DIFERENCA onde COD é o código do cliente; LA é o valor da leitura anterior, LC é o valor da leitura corrente; ESPERADO é o valor da fatura computado pelo aplicativo, ou seja, (LC – LA) * FATOR; VALOR é o valor da fatura conforme fornecido pelo arquivo contendo a prévia das faturas e DIFERENCA é, necessariamente, um valor diferente de zero dado por ESPERADO – VALOR. Observe que o arquivo a ser produzido pelo aplicativo terá um cabeçalho e uma linha para cada cliente, cujo valor esperado, calculado pelo aplicativo, é diferente do total da fatura, conforme recebido como entrada.