Trabalho Eng. de Software
VERIFICAÇÃO DE APROVAÇÃO DE ALUNOS
Rafael Silveira; Eduardo Vinicius
Universidade Federal de Pelotas
{rsilveira}@inf.ufpel.edu.br
1. IMPLEMENTAÇÃO EM LINGUAGEM C
Programa com ifs aninhados que recebe 2 notas de um aluno, a frequência e verifica se ele está aprovado, reprovado ou de recuperação: main() { float nUm, nDois, media; int frequencia; printf( "Digite as duas notas do aluno:\n" ); scanf( "%f%f", &nUm, &nDois ); printf( "Digite a frequencia:\n" ); scanf( "%d", &frequencia ); media = ( nUm + nDois ) / 2; if ( media >= 6.0 ) { if ( frequencia >= 75 ) printf( "Aluno aprovado!" ); else printf( "Aluno reprovado!" );
}
if ( media < 6.0 ) { if ( frequencia >= 75 ) printf( "Aluno de recuperação!" ); else printf( "Aluno reprovado!" );
}
return 0;
}
Figura 1 – Código em C
2. GRAFO DE CONTROLE
Atribuições e
“Scanf”
1,2,3
4
Calculo média
5
Else
10
Else
If freq >= 75 Else
6
If freq >= 75
8
11
12
reprovado!
If media >= 6.0
recup!
7
reprovado! aprovado!
13
9
14
Return 0;
Figura 2 – Grafo de controle
3. COMPLEXIDADE CICLOMÁTICA
V(h)= NúmeroDeArcos – NúmeroDeNós +2
V(h)= 14 – 12+ 2
V(h)= 4
4. CAMINHOS INDEPENDENTES
Caminho 1: 1-2-3-4-5-6-7-9-14
Caminho 2: 1-2-3-4-5-6-8-9-14
Caminho 3: 1-2-3-4-5-10-12-13-14
Caminho 4: 1-2-3-4-5-10-11-13-14
5. CASOS DE TESTE
5.1 TESTE PARA CAMINHO 1:
Entradas: nUm=6,5; nDois=6,0; Frequencia=80;
Saida: Aprovado!
5.2 TESTE PARA CAMINHO 2:
Entradas: nUm=6,5; nDois=6,0; Frequencia=50;
Saida: Reprovado!
5.3 TESTE PARA CAMINHO 3:
Entradas: nUm=5,5; nDois=5,0; Frequencia=50;
Saida: Reprovado!
5.4 TESTE PARA CAMINHO 4:
Entradas: nUm=5,5; nDois=5,0; Frequencia=80;
Saida: Recuperação!
6. CONCLUSÃO
Se todos os quatro caminhos independentes forem executados, podemos estar certos de que todas as declarações nos métodos foram executados pelo menos uma vez e