Uma máquina gera um arquivo com informações (log) no formato de linhas de texto agrupando as seguintes informações em cada linha: { longint momento, int duracao, int operacao, int status }
- momento (dia*10000+hora*100+minuto) é o momento de início da operação, onde dia é o número do dia no ano, hora é a hora desse dia, minuto é o minuto dessa hora;
- duracao é o tempo em minutos que a operacao levou para ser concluída ou apresentar erro;
- operacao pode ser:
1 - operação de carregar matéria-prima 1;
2 - operação de carregar matéria-prima 2;
3 - operação de carregar matéria-prima 3;
4 - operação de processo de secagem;
5 - operação de processo de lavagem; ou
6 - operação de processo de tingimento;
- status pode ser:
0 - operação bem sucedida;
1 - sobrecarga leve;
2 - sobrecarga com probabilidade de dano; ou
3 - parada por erro de funcionamento;
Faça um programa que leia o arquivo de log da máquina (disponível em anexo) até o fim e gere as seguintes informações
a) Qual as duas operações que tiveram maior duração e que terminaram sem erro?
b) Por semana, determine o total da duração de cada operação, desconsiderando erros e grave em um arquivo com as seguintes informações (uma linha para cada semana): número da semana, a operação e o total da duração na semana.
Dicas:
A) Para extrair o dia, a hora, obtenha a parte inteira da divisão por 10000 ou 100. Subtraia os dias vezes 1000 para encontrar a hora e de forma parecida para o minuto.
Use os índices do vetor como indicador da semana avaliada ou do dia, ou da hora, etc.
C) Pode-se utilizar uma variável auxiliar para identificar que o processo está seguindo uma sequência. Na primeira vez, a variável deve armazenar o código da operação/status a ser avaliado no início e quando ocorrer, essa variável auxiliar deve mudar para o próximo código de operação até que um código de fim seja alcançado.
Exemplo: Indicar quantas vezes ocorre o carregamento das matéria primas 1 e 2, em sequência.
Exemplo de conteúdo do arquivo Maq1.log (fornecido pelo professor):
Formato: momento, duracao, operação, status
Maq1.log