Baixe o app para aproveitar ainda mais
Prévia do material em texto
Observações gerais: 1) Preencher os dados do cabeçalho do bloco de provas e na folha de questões o nome e a turma; 2) Ao final da prova entregar ao professor ou fiscal a folha de questões e o caderno de prova; 3) Cada quesito vale dez pontos. 1º quesito: Disponibilidade (A) é uma métrica que representa a probabilidade de um sistema em funcionamento. Considerando um sistema com n componentes, a disponibilidade (A) é calculada multiplicando-se a disponibilidade de cada componente (Ai): A = . A disponibilidade de um componente pode ser calculada como: Ai = , em que MTTF é o tempo médio para falha e MTTR é o tempo médio para recuperação. Construa um programa em C para auxiliar no cálculo da disponibilidade, seguindo os passos abaixo: 1. Pergunte ao usuário a quantidade de componentes n. Esta variável precisa ser obrigatoriamente maior que 0. Caso o usuário digite um valor não permitido para n, pedir para ele digitá-lo novamente, até que um valor permitido seja digitado; 2. Para cada componente, 2.1 Solicite os respectivos MTTFi e MTTRi, os quais precisam ser maiores que 0 obrigatoriamente. Caso o usuário digite valores não permitidos para eles, pedir para ele digitá-los novamente, até que valores permitidos sejam digitados; 2.2 Calcule a disponibilidade do componente (Ai); 3.Calcule a disponibilidade do sistema (A); 4. Exiba o resultado usando 6 casas decimais; 5. Pergunte ao usuário se é necessário fazer o cálculo para um outro sistema, digitando ‘s’ para o caso positivo e ‘n’ para o negativo. Em caso positivo, os passos de 1 a 5 deverão ser repetidos. Em caso negativo, termine o programa e informe quantos sistemas tiveram a disponibilidade calculada. Se somente 1 sistema foi avaliado, exibir a mensagem “Somente um sistema foi avaliado”. Caso contrário, “x sistemas foram avaliados”. #include <stdio.h> int main() { float A, Ai, MTTF, MTTR; char continuar; int i, n, contador = 0; do { do{ printf("Digite a quantidade de componentes:"); scanf("%d", &n); }while(n <= 0); A = 1; for(i=0; i < n; i++) { do { printf("Digite o MTTF e o MTTR do componente %d:", i); scanf("%f %f", &MTTF, &MTTR); } while(MTTF < 0 || MTTR < 0); Ai = MTTF/(MTTF + MTTR); A = A * Ai; } printf("Disponibilidade do sistema %.6f\n", A); contador++; printf("Deseja continuar (s/n)?"); scanf(" %c", &continuar); } while (continuar != 'n'); if(contador == 1) { printf("Somente um sistema foi avaliado."); } else { printf("%d sistemas foram avaliados.", contador); } return 0; } ÁREA II – CCEN / UFPE Disciplina: IF 165 – Computação Eletrônica – 1º Exercício Escolar 2017.2 Data: 05/09/2017 Nome legível do aluno: ................................................................................................. Turma ......... Critério de correção • Declaração de variáveis 1,0pt. • Validação de n 1,5 • Validação de MTTF e MTTR 1,5 • Estrutura de repetição para disponibilidade 2,5 • Estrutura de repetição para calcular novamente 2,5 • Impressão dos resultados 1,0 Subtrair até 1.5 pontos referentes a erros na estrutura geral do programa e nas definições de variáveis
Compartilhar