Ir para conteúdo
Fórum Script Brasil
  • 0

Trabalho de Programação DEV C++


arthuradr

Pergunta

Uma máquina gera um arquivo com informações (log) no formato de linhas de texto agrupando as seguintes informações em cada linha: {int dia, int hora, int minuto, int operacao, int status}

 

- dia é o número do dia no ano;

- hora é a hora desse dia;

- minuto é o minuto dessa hora;

- 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 abaixo) até o fim e gere as seguintes informações (cada aluno deverá resolver dois itens a serem sorteados ou definidos pelo professor):

b) Quantos operações tiveram status 0 e o percentual em relação aos demais;

g) Gere um vetor para armazenar a matéria mais carregada na máquina em cada dia;

Dicas:

A) use o exemplo das transparências da aula 10 (arquivos) para ler o arquivo em modo texto. Lembre-se que o separador de cada informação é uma vírgula e não o espaço em branco como no exemplo: fscanf(“%d,%d,...”...).

B) os vetores podem usar o próximo índice 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 da matéria prima 1 e depois 2 em seguida.

Exemplo de conteúdo do arquivo Maq1.log (deverá ser fornecido pelo professor):

Formato: dia, hora, minuto, operação, status

1,6,6,1,0
1,6,14,4,1
1,6,39,5,0
1,7,26,1,0
1,7,44,2,3
1,8,31,4,0

 

Pseudo-código:

proxima_oper <- 4;
enquanto não é fim de aquivo
    lê nova linha em d, h, m, oper, stat;
    se oper = proxima_oper;
        se proxima_oper = 5
            ct_seq <- ct_seq + 1;
            proxima_oper <- 4;
        senão
            proxima_oper <- 5;
    senão
        proxima_oper <- 4;
fecha arquivo
mostrar("O número de vezes que a operação 1 aconteceu seguida da operação 2 foi: ", ct_seq);

Ao final dessa página o aluno deve escolher a opção de adicionar tarefa e enviar os arquivos de programa em C referentes a cada item: Ex: O aluno Fulano deve fazer os itens b e j, então ele deve enviar os arquivos:

fulano_b.c

fulano_j.c

 

 

 

No anexo segue logs da máquina 1

 

1,7,6,1,1
1,7,9,4,1
1,7,23,3,0
1,7,26,5,1
1,8,2,2,2
1,8,16,4,1
1,9,0,4,3
1,9,12,6,1
1,9,26,1,2
1,10,5,6,1
1,11,4,6,0
1,12,7,3,0
1,12,10,5,0
1,12,16,6,1
1,13,0,2,1
1,14,4,6,0
1,14,9,2,0
1,14,22,5,1
1,15,4,4,0
1,15,12,4,0
1,16,2,3,2
1,16,11,4,2
1,17,6,1,0
1,18,1,4,2
1,19,3,3,1
1,20,6,6,3
1,21,3,6,0
1,21,15,4,1
1,22,5,3,1
1,22,8,5,2
1,23,0,2,0
1,23,3,4,1
2,7,0,1,2
2,8,4,5,0
2,9,5,4,0
2,9,14,6,0
2,10,5,3,2
2,11,1,4,3
2,11,5,5,0
2,11,12,4,2
2,12,5,3,0
2,12,13,6,1
2,13,7,6,0
2,14,7,2,2
2,14,17,4,2
2,15,6,4,0
2,15,16,4,3
2,15,25,2,0
2,15,32,5,0
2,15,42,2,0
2,15,54,5,0
2,15,59,3,0
2,16,7,4,0
2,16,20,6,0
2,16,34,5,1
2,16,40,4,1
2,16,45,2,0
2,16,54,4,1
2,17,3,5,0
2,17,8,4,0
2,18,1,1,0
2,19,1,4,2
2,20,3,3,0
2,21,2,6,2
2,22,2,5,1
2,22,16,6,0
2,22,30,3,2
2,22,38,4,3
2,23,5,6,2
2,23,19,5,0
3,7,8,6,0
3,7,13,4,0
3,7,23,1,1
3,8,5,5,0
3,9,4,4,0
3,9,16,1,2
3,9,26,6,0
3,10,5,2,1
3,11,4,6,0
3,11,15,6,2
3,12,5,3,0
3,12,19,4,0
3,12,29,1,2
3,13,2,4,0
3,14,3,5,2
3,14,17,3,1
3,15,8,6,2
3,16,1,2,0
3,16,12,4,1
3,17,4,1,1
3,17,7,6,0
3,18,2,6,0
3,18,9,1,0
3,19,4,6,0
3,20,4,4,3
3,20,17,6,1
3,21,5,2,2
3,22,4,6,0
3,22,6,2,0
3,23,4,6,3
3,23,10,4,0
4,7,4,3,0
4,7,12,4,1
4,7,16,5,0
4,8,2,4,0
4,9,4,2,0
4,10,5,4,1
4,11,0,2,0
4,11,11,5,0
4,11,19,3,1
4,11,28,6,0
4,11,40,2,0
4,12,7,4,3
4,13,8,2,2
4,13,20,5,0
4,14,2,1,0
4,15,8,5,0
4,16,8,5,3
4,16,17,6,1
5,7,1,5,1
5,8,0,1,0
5,8,6,5,3
5,9,5,5,2
5,9,17,5,2
5,10,7,1,0
5,10,16,4,3
5,10,19,1,0
5,10,31,4,2
5,10,38,5,1
5,11,0,4,0
5,12,8,6,0
5,12,18,2,0
5,12,28,4,1
5,13,6,4,2
5,13,12,5,1
5,14,4,2,2
5,15,0,6,2
5,15,8,5,2
5,15,22,4,0
5,15,32,1,0
5,16,6,6,0
5,16,19,6,3
5,17,7,6,3
5,18,6,1,0
8,7,0,5,2
8,7,14,6,0
8,8,3,3,1
8,9,5,6,1
8,9,19,1,0
8,9,31,4,0
8,10,4,4,3
8,10,7,5,2
8,10,17,2,1
8,11,2,6,0
8,11,9,3,0
8,11,21,5,1
8,12,0,4,0
8,13,5,3,0
8,13,14,5,1
8,14,3,1,0
8,14,16,6,1
8,15,3,4,0
8,15,9,3,0
8,16,6,6,1
8,16,20,1,0
8,16,28,4,3
8,16,32,4,0
8,17,1,2,0
8,18,1,4,1
8,19,1,6,2
9,7,3,4,2
9,7,9,3,1
9,8,3,6,0
9,9,1,5,0
9,9,15,1,0
9,10,2,4,1
9,10,10,2,2
9,10,21,4,2
9,11,3,2,3
9,12,1,6,0
9,12,9,2,2
9,12,13,5,2
9,12,18,4,1
9,12,25,4,0
9,12,34,3,0
9,13,3,6,2
9,14,3,6,1
9,14,12,5,1
9,15,5,6,2
9,15,15,3,1
10,7,8,6,0
10,7,20,4,0
10,7,28,6,2
10,8,8,5,0
10,9,1,5,0
10,9,11,3,2
10,9,14,4,0
10,9,22,3,0
10,9,29,6,1
10,10,7,4,1
10,11,7,1,0
10,12,8,5,0
10,13,8,3,0
10,14,1,5,0
11,7,6,6,0
11,8,2,6,3
11,9,7,2,1
11,10,0,4,1
11,10,4,2,2
11,11,3,4,0
11,12,5,6,1
11,12,12,3,2
11,12,23,6,0
11,13,2,1,0
11,14,8,5,2
11,15,4,3,2
11,15,12,4,0
11,16,1,5,3
11,17,4,4,0
11,18,6,4,1
12,7,0,4,3
12,7,10,5,1
12,7,16,5,0
12,7,21,3,0
12,7,35,6,0
12,7,48,5,2
12,7,56,3,0
12,7,60,5,1
12,8,6,6,0
12,9,8,6,1
12,10,8,2,2
12,11,1,5,0
12,12,8,3,2
12,12,15,6,0
12,13,2,1,0
12,13,7,6,0
12,14,0,3,3
12,14,9,6,0
12,15,5,1,2
15,7,5,6,2
15,7,15,2,0
15,7,27,6,2
15,8,1,1,1
15,9,1,5,1
15,9,6,4,0
15,9,15,3,3
15,9,29,6,0
15,10,6,2,1
15,11,5,6,0
15,11,13,6,0
15,11,20,4,0
15,11,29,6,3
15,12,2,6,1
15,13,3,6,0
15,14,5,5,1
15,14,11,3,0
15,15,7,5,2
15,15,13,6,0
15,15,20,6,0
15,16,4,1,0
15,16,16,4,0
16,7,7,3,0
16,7,21,6,0
16,8,3,2,2
16,8,12,6,0
16,9,6,6,0
16,10,0,3,1
16,10,14,5,2
16,10,21,6,0
16,10,32,3,0
16,11,1,5,0
16,12,2,6,2
16,12,6,2,2
16,13,4,6,1
16,13,7,3,0
16,14,5,5,2
16,14,17,5,0
16,14,29,6,0
16,14,42,4,0
16,15,6,6,0
16,16,8,5,1
16,16,22,4,2
16,17,7,3,1
16,17,12,5,2
17,7,5,2,0
17,8,4,5,2
17,9,3,4,1
17,10,8,2,1
17,11,1,5,0
17,11,6,4,2
17,11,18,1,0
17,12,1,5,2
17,13,1,1,0
17,13,8,6,0
17,13,13,3,2
17,14,3,5,1
17,14,8,5,2
17,15,3,5,1
17,15,12,1,3
17,15,18,5,0
17,16,0,2,0
17,17,2,4,1
17,18,3,1,0
17,19,1,5,0
17,20,4,4,0
18,7,8,4,3
18,8,7,6,0
18,8,20,1,0
18,8,28,6,2
18,8,39,5,2
18,8,44,1,0
18,8,49,5,0
18,9,1,2,2
18,9,11,5,1
18,9,25,4,1
18,10,7,5,3
18,11,3,1,0
18,12,3,5,0
18,13,1,2,2
18,13,9,6,0
18,14,0,2,3
18,15,8,4,0
18,16,3,3,3
18,16,11,5,2
18,17,2,6,1
18,18,8,3,0
18,18,19,6,2
18,19,1,6,0
18,20,1,1,1
18,20,5,4,1
19,7,0,2,0
19,8,5,6,0
19,9,2,4,0
19,10,6,3,0
19,11,1,5,2
19,11,10,3,2
19,12,0,6,1
19,12,13,2,2
19,12,18,4,1
19,13,8,3,3
19,14,8,5,1
19,15,2,6,0
19,16,3,1,0
19,17,4,6,0
19,17,7,1,1
19,17,13,5,0
19,18,8,4,0
19,19,4,4,0
19,19,14,4,0
19,20,3,3,0
22,7,4,4,0
22,7,9,5,1
22,8,4,6,0
22,8,14,1,2
22,9,4,4,0
22,10,8,2,1
22,11,0,5,0
22,11,14,3,1
22,11,23,6,0
22,11,26,1,1
22,12,5,4,1
22,13,5,3,0
22,14,3,4,1
22,15,1,1,1
22,15,7,5,3
22,16,1,1,0
22,16,8,5,2
22,16,20,4,1
22,17,6,5,1
22,17,13,1,0
22,17,19,5,0
22,18,4,6,2
22,18,12,2,1
22,18,24,4,0
22,19,4,5,0
22,19,11,6,0
22,20,7,6,3
22,21,6,2,0
22,21,9,6,0
 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...