Segue abaixo um exemplo de programa em linguagem C que atende aos requisitos da sua questão: ``` #include #include #include int main() { int pulsos = 0; int tempo = 0; int ligado = 0; int desliga = 0; time_t inicio; while (1) { if (ligado) { printf("Motor ligado!\n"); } else { printf("Motor desligado.\n"); } if (desliga) { printf("Desligando motor...\n"); break; } if (pulsos == 3 && tempo <= 10) { ligado = 1; } if (tempo > 10) { pulsos = 0; tempo = 0; } printf("Pulsos: %d\n", pulsos); printf("Tempo: %d\n", tempo); printf("Digite 1 para dar um pulso na botoeira (Liga).\n"); printf("Digite 2 para acionar a chave de pulso (Desliga).\n"); int opcao; scanf("%d", &opcao); if (opcao == 1) { pulsos++; } else if (opcao == 2) { desliga = 1; } tempo = difftime(time(NULL), inicio); } return 0; } ``` Este programa utiliza um loop infinito para simular o funcionamento do sistema. A variável `pulsos` armazena o número de pulsos dados na botoeira de impulso, enquanto a variável `tempo` armazena o tempo decorrido desde o início da contagem. A variável `ligado` indica se o motor está ligado ou desligado, e a variável `desliga` indica se a chave de pulso (Desliga) foi acionada. O programa utiliza a função `time()` da biblioteca `time.h` para obter o tempo atual do sistema em segundos. A variável `inicio` armazena o tempo de início da contagem. O programa exibe mensagens na tela para informar o estado atual do sistema e solicita ao usuário que digite uma opção (1 para dar um pulso na botoeira de impulso, 2 para acionar a chave de pulso (Desliga)). Se o número de pulsos for igual a 3 e o tempo for menor ou igual a 10 segundos, o motor é ligado. Se o tempo for maior que 10 segundos, a contagem é zerada automaticamente. Se a chave de pulso (Desliga) for acionada, o motor é desligado e o programa é encerrado. Este é apenas um exemplo de programa que atende aos requisitos da sua questão. Existem diversas maneiras de implementar um programa com essa funcionalidade.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar